diff options
Diffstat (limited to 'main/sock.c')
-rw-r--r-- | main/sock.c | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/main/sock.c b/main/sock.c index c97ad04..69c1341 100644 --- a/main/sock.c +++ b/main/sock.c @@ -1,20 +1,21 @@ #include <pico/stdio.h> +#include <lwip/api.h> #include <lwip/opt.h> #include <lwip/sys.h> -#include <lwip/api.h> #include <string.h> -#include "init.h" #include "config.h" #include "i2ctcpv1.h" -#include "sock.h" +#include "init.h" #include "pb-mod.h" +#include "sock.h" -struct netconn* current_connection = NULL; +struct netconn * current_connection = NULL; i2ctcp_msg_t recv_msg; -static void sock_dump_msg(i2c_addr_t addr, const uint8_t * data, size_t data_size) { +static void sock_dump_msg(i2c_addr_t addr, const uint8_t * data, + size_t data_size) { if (current_connection == NULL) return; i2ctcp_msg_t send_msg = { @@ -37,7 +38,8 @@ static void sock_dump_msg(i2c_addr_t addr, const uint8_t * data, size_t data_siz bool pb_hook_i2c_send(i2c_addr_t addr, const uint8_t * data, size_t data_size) { sock_dump_msg(addr, data, data_size); - return addr == PB_MOD_ADDR; // stop processing message if it is sent to myself + return addr + == PB_MOD_ADDR; // stop processing message if it is sent to myself } bool pb_hook_i2c_recv(const uint8_t * data, size_t data_size) { @@ -45,7 +47,8 @@ bool pb_hook_i2c_recv(const uint8_t * data, size_t data_size) { return false; } -static void sock_fwd_msg(i2c_addr_t addr, const uint8_t * data, size_t data_size) { +static void sock_fwd_msg(i2c_addr_t addr, const uint8_t * data, + size_t data_size) { if (addr == PB_MOD_ADDR) { // addressed to me = act as recieved pb_i2c_recv(data, data_size); @@ -55,14 +58,14 @@ static void sock_fwd_msg(i2c_addr_t addr, const uint8_t * data, size_t data_size } } -void recv_handler(struct netconn* conn, struct netbuf* buf) { +void recv_handler(struct netconn * conn, struct netbuf * buf) { i2ctcp_read_reset(&recv_msg); do { - char* data; + char * data; uint16_t len; - netbuf_data(buf, (void**)&data, &len); - + netbuf_data(buf, (void **) &data, &len); + // continue early if more data is needed to complete message if (i2ctcp_read(&recv_msg, data, len) != 0) continue; @@ -74,12 +77,11 @@ void recv_handler(struct netconn* conn, struct netbuf* buf) { netbuf_delete(buf); } -void accept_handler(struct netconn* conn) { +void accept_handler(struct netconn * conn) { current_connection = conn; - struct netbuf* buf; - while (netconn_recv(conn, &buf) == ERR_OK) - recv_handler(conn, buf); + struct netbuf * buf; + while (netconn_recv(conn, &buf) == ERR_OK) recv_handler(conn, buf); netconn_close(conn); netconn_delete(conn); @@ -89,15 +91,14 @@ void accept_handler(struct netconn* conn) { void serve_task() { printf("starting server...\n"); - struct netconn* conn = netconn_new(NETCONN_TCP); + struct netconn * conn = netconn_new(NETCONN_TCP); netconn_bind(conn, IP_ADDR_ANY, CFG_SRV_PORT); netconn_listen(conn); - printf("listening on %s:%d\n", ip4addr_ntoa(netif_ip4_addr(netif_list)), CFG_SRV_PORT); + printf("listening on %s:%d\n", ip4addr_ntoa(netif_ip4_addr(netif_list)), + CFG_SRV_PORT); while (1) { - struct netconn* incoming; - if (netconn_accept(conn, &incoming) == ERR_OK) - accept_handler(incoming); + struct netconn * incoming; + if (netconn_accept(conn, &incoming) == ERR_OK) accept_handler(incoming); } } - |