Strip non-MACRAW enums, unused macros, and set_socket_dest_mac
This commit is contained in:
@@ -272,7 +272,6 @@ constexpr uint32_t REG_SN_CR(uint8_t n) { return (0x0010 << 8) + SREG_BLOCK
|
||||
constexpr uint32_t REG_SN_IR(uint8_t n) { return (0x0020 << 8) + SREG_BLOCK(n); }
|
||||
constexpr uint32_t REG_SN_IRCLR(uint8_t n) { return (0x0028 << 8) + SREG_BLOCK(n); }
|
||||
constexpr uint32_t REG_SN_SR(uint8_t n) { return (0x0030 << 8) + SREG_BLOCK(n); }
|
||||
constexpr uint32_t REG_SN_DHAR(uint8_t n) { return (0x0118 << 8) + SREG_BLOCK(n); }
|
||||
constexpr uint32_t REG_SN_MR2(uint8_t n) { return (0x0144 << 8) + SREG_BLOCK(n); }
|
||||
constexpr uint32_t REG_SN_TX_BSR(uint8_t n) { return (0x0200 << 8) + SREG_BLOCK(n); }
|
||||
constexpr uint32_t REG_SN_TX_FSR(uint8_t n) { return (0x0204 << 8) + SREG_BLOCK(n); }
|
||||
@@ -339,7 +338,6 @@ uint8_t get_sn_ir(uint8_t sn) { return reg_read(REG_SN_IR(sn)); }
|
||||
void set_sn_irclr(uint8_t sn, uint8_t v) { reg_write(REG_SN_IRCLR(sn), v); }
|
||||
void set_sn_ir(uint8_t sn, uint8_t v) { set_sn_irclr(sn, v); }
|
||||
uint8_t get_sn_sr(uint8_t sn) { return reg_read(REG_SN_SR(sn)); }
|
||||
void set_sn_dhar(uint8_t sn, uint8_t* v) { reg_write_buf(REG_SN_DHAR(sn), v, 6); }
|
||||
void set_sn_mr2(uint8_t sn, uint8_t v) { reg_write(REG_SN_MR2(sn), v); }
|
||||
void set_sn_tx_bsr(uint8_t sn, uint8_t v) { reg_write(REG_SN_TX_BSR(sn), v); }
|
||||
void set_sn_txbuf_size(uint8_t sn, uint8_t v) { set_sn_tx_bsr(sn, v); }
|
||||
@@ -475,9 +473,7 @@ uint8_t sock_pack_info[sock_count] = {0,};
|
||||
|
||||
#define FAIL(e) return std::unexpected(sock_error::e)
|
||||
#define CHECK_SOCKNUM() do { if(sn >= sock_count) FAIL(sock_num); } while(0)
|
||||
#define CHECK_SOCKMODE(mode) do { if((get_sn_mr(sn) & 0x0F) != mode) FAIL(sock_mode); } while(0)
|
||||
#define CHECK_SOCKDATA() do { if(len == 0) FAIL(data_len); } while(0)
|
||||
#define CHECK_IPZERO(addr, addrlen) do { uint16_t ipzero=0; for(uint8_t i=0; i<addrlen; i++) ipzero += (uint16_t)addr[i]; if(ipzero == 0) FAIL(ip_invalid); } while(0)
|
||||
|
||||
std::expected<void, sock_error> close(socket_id sid) {
|
||||
uint8_t sn = static_cast<uint8_t>(sid);
|
||||
@@ -522,7 +518,6 @@ std::expected<socket_id, sock_error> open_socket(socket_id sid, protocol proto,
|
||||
set_sn_cr(sn, SN_CR_OPEN);
|
||||
while (get_sn_cr(sn));
|
||||
sock_io_mode_bits &= ~(1 << sn);
|
||||
sock_io_mode_bits |= ((fl & (static_cast<uint8_t>(sock_flag::io_nonblock) >> 3)) << sn);
|
||||
sock_is_sending &= ~(1 << sn);
|
||||
sock_remained_size[sn] = 0;
|
||||
sock_pack_info[sn] = PACK_COMPLETED;
|
||||
@@ -650,9 +645,6 @@ std::expected<void, sock_error> set_socket_io_mode(socket_id sid, sock_io_mode m
|
||||
return {};
|
||||
}
|
||||
|
||||
void set_socket_dest_mac(socket_id sid, const std::array<uint8_t, 6>& mac) {
|
||||
set_sn_dhar(static_cast<uint8_t>(sid), const_cast<uint8_t*>(mac.data()));
|
||||
}
|
||||
|
||||
uint16_t get_socket_recv_buf(socket_id sid) {
|
||||
return get_sn_rx_rsr(static_cast<uint8_t>(sid));
|
||||
|
||||
@@ -13,55 +13,21 @@ enum class socket_id : uint8_t {};
|
||||
enum class sock_error : int16_t {
|
||||
busy = 0,
|
||||
sock_num = -1,
|
||||
sock_opt = -2,
|
||||
sock_init = -3,
|
||||
sock_closed = -4,
|
||||
sock_mode = -5,
|
||||
sock_flag = -6,
|
||||
sock_status = -7,
|
||||
arg = -10,
|
||||
port_zero = -11,
|
||||
ip_invalid = -12,
|
||||
timeout = -13,
|
||||
data_len = -14,
|
||||
buffer = -15,
|
||||
fatal_packlen = -1001,
|
||||
};
|
||||
|
||||
enum class protocol : uint8_t {
|
||||
tcp = 0x01,
|
||||
udp = 0x02,
|
||||
ipraw = 0x03,
|
||||
macraw = 0x07,
|
||||
tcp6 = 0x09,
|
||||
udp6 = 0x0A,
|
||||
ipraw6 = 0x0B,
|
||||
tcp_dual = 0x0D,
|
||||
udp_dual = 0x0E,
|
||||
};
|
||||
|
||||
enum class sock_flag : uint8_t {
|
||||
none = 0,
|
||||
multi_enable = 1 << 7,
|
||||
ether_own = 1 << 7,
|
||||
broad_block = 1 << 6,
|
||||
tcp_fpsh = 1 << 6,
|
||||
tcp_nodelay = 1 << 5,
|
||||
igmp_ver2 = 1 << 5,
|
||||
solicit_block = 1 << 5,
|
||||
ether_multi4b = 1 << 5,
|
||||
uni_block = 1 << 4,
|
||||
ether_multi6b = 1 << 4,
|
||||
force_arp = 1 << 0,
|
||||
dha_manual = 1 << 1,
|
||||
io_nonblock = 1 << 3,
|
||||
};
|
||||
constexpr sock_flag operator|(sock_flag a, sock_flag b) {
|
||||
return static_cast<sock_flag>(static_cast<uint8_t>(a) | static_cast<uint8_t>(b));
|
||||
}
|
||||
constexpr uint8_t operator&(sock_flag a, sock_flag b) {
|
||||
return static_cast<uint8_t>(a) & static_cast<uint8_t>(b);
|
||||
}
|
||||
|
||||
enum class sock_io_mode : uint8_t {
|
||||
block = 0,
|
||||
@@ -93,7 +59,6 @@ std::expected<uint16_t, sock_error> send(socket_id sn, std::span<const uint8_t>
|
||||
std::expected<uint16_t, sock_error> recv(socket_id sn, std::span<uint8_t> buf);
|
||||
|
||||
std::expected<void, sock_error> set_socket_io_mode(socket_id sn, sock_io_mode mode);
|
||||
void set_socket_dest_mac(socket_id sn, const std::array<uint8_t, 6>& mac);
|
||||
uint16_t get_socket_recv_buf(socket_id sn);
|
||||
|
||||
} // namespace w6300
|
||||
|
||||
Reference in New Issue
Block a user