PER Firmware
Loading...
Searching...
No Matches
daq_eth.h
1#ifndef __DAQ_ETH_H__
2#define __DAQ_ETH_H__
3
4// W5500
5#define ETH_PHY_VERSION_ID 0x04
6#define ETH_PHY_RESET_PERIOD_MS 10
7
8// W5500 has 8 sockets internally
9#define DAQ_SOCKET_UDP_BROADCAST 0
10#define DAQ_SOCKET_TCP 1
11#define DAQ_SOCKET_FTP_CTRL0 2 // FTP uses 3 sockets
12#define DAQ_SOCKET_FTP_DATA 3
13#define DAQ_SOCKET_FTP_CTRL1 4
14
15typedef enum {
16 ETH_LINK_IDLE = 0,
17 ETH_LINK_STARTING = 1,
18 ETH_LINK_DOWN = 2,
19 ETH_LINK_UP = 3,
20 ETH_LINK_FAIL = 4,
21} eth_state_t;
22typedef enum {
23 RTC_SYNC_PENDING = 0,
24 RTC_SYNC_COMPLETE = 1,
25} rtc_config_state_t;
26
27typedef enum {
28 ETH_TCP_IDLE = 0,
29 ETH_TCP_LISTEN = 1,
30 ETH_TCP_ESTABLISHED = 2,
31 ETH_TCP_FAIL = 3,
32} eth_tcp_state_t;
33
34typedef enum {
35 ETH_ERROR_NONE = 0,
36 ETH_ERROR_INIT = 1,
37 ETH_ERROR_VERS = 2,
38 ETH_ERROR_UDP_SOCK = 3,
39 ETH_ERROR_UDP_SEND = 4,
40 ETH_ERROR_TCP_SOCK = 5,
41 ETH_ERROR_TCP_LISTEN = 6,
42 ETH_ERROR_TCP_SEND = 7,
43} eth_error_t;
44
45typedef enum {
46 TCP_CMD_HANDSHAKE = 0,
47 TCP_CMD_CAN_FRAME = 1,
48 TCP_CMD_UDS_FRAME = 2,
49} tcp_cmd_t;
50
51typedef enum __attribute__((__packed__)) {
52 DAQ_FRAME_CAN_RX = 0,
53 DAQ_FRAME_TCP2CAN = 1,
54 DAQ_FRAME_TCP2DAQ = 2,
55 DAQ_FRAME_TCP_TX = 3,
56 DAQ_FRAME_UDP_TX = 4,
57} daq_frame_type_t;
58
59static_assert(sizeof(daq_frame_type_t) == sizeof(uint8_t));
60
61void eth_update_periodic(void);
62
63#endif // __DAQ_ETH_H__
Definition main.h:260