From ff3fa235236f2d6d92f7869fb4f55e3655b0502a Mon Sep 17 00:00:00 2001 From: xengineering Date: Fri, 31 May 2024 10:33:56 +0200 Subject: firmware: Separate data link related code --- firmware/src/main.c | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) (limited to 'firmware/src/main.c') diff --git a/firmware/src/main.c b/firmware/src/main.c index dedd603..18e4564 100644 --- a/firmware/src/main.c +++ b/firmware/src/main.c @@ -1,39 +1,15 @@ #include -#include #include #include #include #include +#include "data_link.h" + #define UART_DEVICE_NODE DT_CHOSEN(zephyr_shell_uart) static const struct device *const uart_dev = DEVICE_DT_GET(UART_DEVICE_NODE); -#define SLIP_END 0xC0 -#define SLIP_ESC 0xDB -#define SLIP_ESC_END 0xDC -#define SLIP_ESC_ESC 0xDD - -void send_frame(uint8_t *buffer, size_t len) { - for (size_t i = 0; i < len; i++) { - uint8_t octet = *(buffer + i); - switch (octet) { - case SLIP_END: - uart_poll_out(uart_dev, SLIP_ESC); - uart_poll_out(uart_dev, SLIP_ESC_END); - break; - case SLIP_ESC: - uart_poll_out(uart_dev, SLIP_ESC); - uart_poll_out(uart_dev, SLIP_ESC_ESC); - break; - default: - uart_poll_out(uart_dev, octet); - break; - } - } - uart_poll_out(uart_dev, SLIP_END); -} - int main(void) { if (!device_is_ready(uart_dev)) { @@ -41,11 +17,11 @@ int main(void) return 0; } - uint8_t frame[] = {0xDE, SLIP_END, SLIP_ESC, 0xAD}; + uint8_t frame[] = {0xDE, DL_SLIP_END, DL_SLIP_ESC, 0xAD}; while (true) { k_sleep(K_MSEC(1000)); - send_frame(frame, ARRAY_SIZE(frame)); + dl_send_frame(uart_dev, frame, ARRAY_SIZE(frame)); } return 0; -- cgit v1.2.3-70-g09d2