diff options
author | 2019-05-22 14:56:59 +0300 | |
---|---|---|
committer | 2019-05-22 14:56:59 +0300 | |
commit | 27992079c057ea068a355e01365800d77b7ace13 (patch) | |
tree | a78f18dd6e5faa298c26c93f490d02b51e4c7c39 /src/device/udp.c | |
parent | 3fa7dd642af57b8b138e9a0d674c2d9960ebedf4 (diff) | |
download | usurpation-27992079c057ea068a355e01365800d77b7ace13.tar.gz usurpation-27992079c057ea068a355e01365800d77b7ace13.tar.bz2 usurpation-27992079c057ea068a355e01365800d77b7ace13.zip |
Protocol: attempted to fix stupids.
Signed-off-by: Ramūnas Mažeikis <ramunasnezinomas@gmail.com>
Diffstat (limited to 'src/device/udp.c')
-rw-r--r-- | src/device/udp.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/device/udp.c b/src/device/udp.c new file mode 100644 index 0000000..b88f314 --- /dev/null +++ b/src/device/udp.c @@ -0,0 +1,25 @@ +#include "udp.h" +#include <ESP8266WiFi.h> +#include <WiFiUdp.h> + +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(); +} |