diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/device/device_network.cpp | 14 | ||||
-rw-r--r-- | src/device/device_network.h | 1 | ||||
-rw-r--r-- | src/device/main.ino | 2 |
3 files changed, 14 insertions, 3 deletions
diff --git a/src/device/device_network.cpp b/src/device/device_network.cpp index d7781a0..f2456d9 100644 --- a/src/device/device_network.cpp +++ b/src/device/device_network.cpp @@ -26,7 +26,7 @@ static struct netstate { WiFiUDP udp; - char udppacketbuffer[1500]; + char udppacketbuffer[MTU]; char *udppacketcursor; IPAddress daemon_ip; bool acquired; @@ -59,6 +59,17 @@ int udp_flush(void) return state.udp.endPacket(); } +size_t udp_get_data(char *buf, size_t size) +{ + size_t ret; + if (state.udp.available() != 0) { + ret = state.udp.read(buf, size); + } else { + ret = 0; + } + return ret; +} + void discover_client(const int port) { IPAddress bcastip(255, 255, 255, 255); @@ -100,4 +111,3 @@ static void udp_init_packet_expaddr(IPAddress ip, const int port) memset(state.udppacketbuffer, 0, sizeof(state.udppacketbuffer)); state.udppacketcursor = state.udppacketbuffer; } - diff --git a/src/device/device_network.h b/src/device/device_network.h index d8f41a1..92af429 100644 --- a/src/device/device_network.h +++ b/src/device/device_network.h @@ -31,6 +31,7 @@ void udp_init(const int port); void udp_init_packet(const int port); void udp_push(const void * const data, const size_t size); int udp_flush(void); +size_t udp_get_data(char *buf, size_t size); void discover_client(const int port); IPAddress *get_daemon_address(void); diff --git a/src/device/main.ino b/src/device/main.ino index d83f3e1..8f2c1a6 100644 --- a/src/device/main.ino +++ b/src/device/main.ino @@ -81,7 +81,7 @@ void loop(void) static unsigned int delta = 2000; /* sleep length to use (ms) */ delay(delta); - /* Initial display of ip's. */ + /* Initial display of ip's. */ if (progstate.ip_print_count > 0) { udp_init_packet(com_port); udp_push(clientmagic, sizeof(clientmagic)); |