From fe71239fc0d1e65e06ba9dcf2fb35239bff21466 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ram=C5=ABnas=20Ma=C5=BEeikis?= Date: Tue, 21 May 2019 20:01:08 +0300 Subject: Protocol: moved udp code out of main. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An effor was made to increase modularity of device code. It was a partial success. IP adress, communications port, and wifi login details had to be made static and visible in main. Time is scarce and I am not about to push this further. Signed-off-by: Ramūnas Mažeikis --- src/device/udp.ino | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 src/device/udp.ino (limited to 'src/device/udp.ino') diff --git a/src/device/udp.ino b/src/device/udp.ino new file mode 100755 index 0000000..3074b65 --- /dev/null +++ b/src/device/udp.ino @@ -0,0 +1,25 @@ +#include "udp.h" +#include +#include + +static char udppacketbuffer[32] = {0}; +static char *udppacketcursor = NULL; + +void udp_init_packet(IPAddress ip, const int port) +{ + Udp.beginPacket(ip, port); + memset(udppacketbuffer, 0, sizeof(udppacketbuffer)); + udppacketcursor = udppacketbuffer; +} + +void udp_push(const void * const data, const size_t size) +{ + memcpy(udppacketcursor, data, size); + udppacketcursor += size; +} + +int udp_flush(void) +{ + Udp.write((const uint8_t *) udppacketbuffer, udppacketcursor - udppacketbuffer); + return Udp.endPacket(); +} -- cgit v1.2.3