From d642cc92ab933655609ca4947156126c12fa7d60 Mon Sep 17 00:00:00 2001 From: Eduard Dlabal Date: Tue, 22 Apr 2025 20:34:19 +0200 Subject: [PATCH] Refactor UART handling and enhance user data structures --- .vscode/settings.json | 4 +++- include/rfid_handler.h | 7 +++++++ include/users.h | 14 ++++++++++++-- output/main | Bin 22920 -> 23832 bytes src/main.c | 15 +-------------- src/rfid_handler.c | 25 +++++++++++++++++++++++++ 6 files changed, 48 insertions(+), 17 deletions(-) create mode 100644 include/rfid_handler.h create mode 100644 src/rfid_handler.c diff --git a/.vscode/settings.json b/.vscode/settings.json index 14f9ba3..41e1322 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,6 +2,8 @@ "files.associations": { "users.h": "c", "ncurses.h": "c", - "stdlib.h": "c" + "stdlib.h": "c", + "errno.h": "c", + "rfid_handler.h": "c" } } \ No newline at end of file diff --git a/include/rfid_handler.h b/include/rfid_handler.h new file mode 100644 index 0000000..02c9e77 --- /dev/null +++ b/include/rfid_handler.h @@ -0,0 +1,7 @@ +#ifndef __RFID_HANDLER_H__ +#define __RFIT_HANDLER_H__ + +#endif + +// UART handler thread +void *uartListener(void *arg); diff --git a/include/users.h b/include/users.h index b2010a9..bfe8431 100644 --- a/include/users.h +++ b/include/users.h @@ -12,9 +12,9 @@ typedef struct person char *name; char *surname; - uint8_t department; + uint32_t department; - time_t last_timestamp; + time_t last_time_event; uint32_t total; pthread_mutex_t lock; @@ -26,4 +26,14 @@ typedef struct node struct node *next; } node_t; +uint16_t generateUUID(node_t * _head); + +uint16_t searchUUIDByName(node_t * _head); + +node_t * searchPersonByUUID(node_t * _head); + +void addPersonToList(node_t * _head, char * _name, char * _surname, uint32_t _department); + +void addTimeEvent(node_t * _person); + #endif \ No newline at end of file diff --git a/output/main b/output/main index ba0bc0ef600acae1d8e5db7ebcb16856b5d67106..cc5885270435cd1c2502b455c20c0c8704ded75c 100755 GIT binary patch literal 23832 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 literal 22920 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 diff --git a/src/main.c b/src/main.c index 2e778ed..d10cc0e 100644 --- a/src/main.c +++ b/src/main.c @@ -10,20 +10,7 @@ #include "users.h" #include "tui.h" - -void *uartListener(void *arg) -{ - char *uart_address = (char *)arg; - int uart = open(uart_address, O_RDWR | O_NOCTTY | O_NDELAY); - if (uart == -1) - { - perror("Failed to open UART"); - return NULL; - } - - close(uart); - return NULL; -} +#include "rfid_handler.h" int main(int argc, char const **argv) { diff --git a/src/rfid_handler.c b/src/rfid_handler.c new file mode 100644 index 0000000..277c7d7 --- /dev/null +++ b/src/rfid_handler.c @@ -0,0 +1,25 @@ +#include "rfid_handler.h" +#include "users.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +void *uartListener(void *arg) +{ + char *uart_address = (char *)arg; + int uart = open(uart_address, O_RDWR | O_NOCTTY | O_NDELAY); + if (uart == -1) + { + perror("Failed to open UART"); + return NULL; + } + + close(uart); + return NULL; +} \ No newline at end of file