| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- * Copyright (c) 2025, sakumisu
- *
- * SPDX-License-Identifier: Apache-2.0
- */
- #ifndef EC_EOE_H
- #define EC_EOE_H
- #ifdef CONFIG_EC_EOE
- #include "netif/etharp.h"
- #include "lwip/netif.h"
- #include "lwip/pbuf.h"
- #include "lwip/tcpip.h"
- #include "lwip/ip_addr.h"
- struct ec_eoe_ip_param {
- uint8_t hostname[EC_MAX_HOSTNAME_SIZE];
- const char *ipv4_addr_str;
- const char *ipv4_mask_str;
- const char *ipv4_gw_str;
- const char *dns_server_str;
- uint8_t mac_addr[6];
- };
- typedef struct ec_eoe {
- ec_master_t *master;
- uint16_t slave_index;
- ec_datagram_t tx_datagram;
- ec_datagram_t rx_datagram;
- uint8_t tx_buffer[1536];
- uint8_t rx_buffer[1536];
- uint32_t max_data_size;
- ec_osal_mq_t tx_pbuf_mq;
- uint8_t tx_frame_number;
- uint8_t tx_fragment_number;
- uint32_t tx_offset;
- uint32_t tx_total_size;
- struct pbuf *tx_pbuf;
- uint8_t rx_frame_number;
- uint8_t rx_fragment_number;
- uint32_t rx_offset;
- uint32_t rx_total_size;
- struct pbuf *rx_pbuf;
- struct ec_eoe_ip_param master_ip_param;
- struct ec_eoe_ip_param slave_ip_param;
- bool initialized;
- ec_osal_thread_t txrx_thread;
- ec_osal_mutex_t txrx_mutex;
- struct netif netif;
- } ec_eoe_t;
- int ec_eoe_start(ec_eoe_t *eoe,
- ec_master_t *master,
- uint16_t slave_index,
- struct ec_eoe_ip_param *master_ip_param,
- struct ec_eoe_ip_param *slave_ip_param);
- #endif
- #endif
|