From 7f5ba2a6f76832bab428d5f8efa0b70e8246d3e1 Mon Sep 17 00:00:00 2001 From: RobinVdB8 Date: Thu, 23 Nov 2023 18:57:53 +0100 Subject: [PATCH] Started implementing style guide --- project/Core/Src/mug.c | 125 +++++++++++++++++++++-------------------- 1 file changed, 65 insertions(+), 60 deletions(-) diff --git a/project/Core/Src/mug.c b/project/Core/Src/mug.c index a8c887a..0eae03d 100644 --- a/project/Core/Src/mug.c +++ b/project/Core/Src/mug.c @@ -18,22 +18,22 @@ //Function prototypes static void mqtt_pub_request_cb(void*, err_t); -static void example_publish(mqtt_client_t* , void*); +static void publish_data(mqtt_client_t* , void*); static void mqtt_incoming_publish_cb(void*, const char*, u32_t); static void mqtt_incoming_data_cb(void*, const uint8_t*, u16_t, u8_t); static void mqtt_sub_request_cb(void*, err_t); static void mqtt_connection_cb(mqtt_client_t*, void*, mqtt_connection_status_t); -static void example_do_connect(mqtt_client_t*); +static void mosquitto_connect(mqtt_client_t*); static uint32_t color_picker(char*); -//global variable used in mqtt_incoming_publish_cb and mqtt_incoming_data_cb to give an easy to use ID to the subscribed topics -static int inpub_id; -static const char *TAG = "mug"; +//global variables used in mqtt_incoming_publish_cb and mqtt_incoming_data_cb to give an easy to use ID to the subscribed topics +static sFONT* font; static uint16_t xpos; static uint16_t ypos; -static sFONT* font; static uint32_t color; static uint32_t bgcolor; +static int inpub_id; +static const char *TAG = "mug"; static void mqtt_pub_request_cb(void *arg, err_t result) { if(result != ERR_OK) { @@ -45,21 +45,22 @@ static void mqtt_pub_request_cb(void *arg, err_t result) { * @brief Publishes data * Publishes the names of all the .bmp and .gif files on the topic getImageList */ -static void example_publish(mqtt_client_t *client, void *arg) { - LOG_INFO(TAG, "Entering publish"); +static void publish_data(mqtt_client_t *client, void *arg) { char pub_payload[200]; err_t err; + size_t max_files = 20; + size_t num_files; + llfs_file_t file_list[max_files]; u8_t qos = 2; u8_t retain = 1 ; - size_t max_files = 20; - llfs_file_t file_list[max_files]; - size_t num_files; + + LOG_DEBUG(TAG, "Entering publish"); num_files = llfs_file_list(file_list, max_files, "*.bmp"); strcpy(pub_payload, "\0"); - if(num_files == 0) { + if (num_files == 0) { strcpy(pub_payload, "No images found"); } else { strcat(pub_payload, "Available images: "); @@ -73,7 +74,7 @@ static void example_publish(mqtt_client_t *client, void *arg) { num_files = llfs_file_list(file_list, max_files, "*.gif"); - if(num_files == 0) { + if (num_files == 0) { strcpy(pub_payload, "No gifs found"); } else { strcat(pub_payload, "Available gifs: "); @@ -85,7 +86,7 @@ static void example_publish(mqtt_client_t *client, void *arg) { strcat(pub_payload, "\0"); } err = mqtt_publish(client, "getImageList", pub_payload, strlen(pub_payload), qos, retain, mqtt_pub_request_cb, arg); - if(err != ERR_OK) { + if (err != ERR_OK) { LOG_INFO(TAG, "Publish err: %d", err); } } @@ -94,16 +95,16 @@ static void example_publish(mqtt_client_t *client, void *arg) { * @brief Handles incoming publish * Callback function for when data was published to a subscribed topic */ -static void mqtt_incoming_publish_cb(void *arg, const char *topic, u32_t tot_len) { - LOG_INFO(TAG, "Incoming publish at topic %s with total length %u", topic, (unsigned int)tot_len); +static void mqtt_incoming_publish_cb(void *arg, const char *topic, uint32_t tot_len) { + LOG_DEBUG(TAG, "Incoming publish at topic %s with total length %u", topic, (unsigned int)tot_len); //check for which topic a publish was received - if(strcmp(topic, "input/setText") == 0) { + if (strcmp(topic, "input/setText") == 0) { inpub_id = 0; - } else if(strcmp(topic, "input/setImage") == 0) { + } else if (strcmp(topic, "input/setImage") == 0) { inpub_id = 1; - } else if(strcmp(topic, "input/setTextColor") == 0) { + } else if (strcmp(topic, "input/setTextColor") == 0) { inpub_id = 2; - } else if(strcmp(topic, "input/setColor") == 0) { + } else if (strcmp(topic, "input/setColor") == 0) { inpub_id = 3; } else { //in case of wrong topic @@ -115,13 +116,14 @@ static void mqtt_incoming_publish_cb(void *arg, const char *topic, u32_t tot_len * @brief Handles incoming publish data * Handles the recieved data from a publish to a subscribed topic */ -static void mqtt_incoming_data_cb(void *arg, const u8_t *data, u16_t len, u8_t flags) { +static void mqtt_incoming_data_cb(void *arg, const uint8_t *data, uint16_t len, uint8_t flags) { char data_buffer[len + 1]; + LOG_INFO(TAG, "Incoming publish payload with length %d, flags %u", len, (unsigned int)flags); - if(flags & MQTT_DATA_FLAG_LAST) { + if (flags & MQTT_DATA_FLAG_LAST) { memcpy(data_buffer, data, len); data_buffer[len] = '\0'; - switch(inpub_id) { + switch (inpub_id) { case 0: //places text on the lcd LOG_INFO(TAG, "incoming data on input/setText: %s.", data_buffer); @@ -165,9 +167,10 @@ static void mqtt_sub_request_cb(void *arg, err_t result) { } static void mqtt_connection_cb(mqtt_client_t *client, void *arg, mqtt_connection_status_t status) { - LOG_INFO(TAG, "entered connection cb function"); err_t err; - if(status == MQTT_CONNECT_ACCEPTED) { + + LOG_INFO(TAG, "entered connection cb function"); + if (status == MQTT_CONNECT_ACCEPTED) { LOG_INFO(TAG, "mqtt_connection_cb: Successfully connected"); //set up callback function for input @@ -175,25 +178,26 @@ static void mqtt_connection_cb(mqtt_client_t *client, void *arg, mqtt_connection //subscribe to the topics setText, setImage, setColor and setTextcolor err = mqtt_subscribe(client, "input/#", 1, mqtt_sub_request_cb, arg); - if(err != ERR_OK) { + if (err != ERR_OK) { LOG_INFO(TAG, "mqtt_subscribe return: %d", err); } //publish list of images here - example_publish(client, NULL); + publish_data(client, NULL); } else { LOG_INFO(TAG, "mqtt_connection_cb: Disconnected, reason: %d", status); //try to reconnect - example_do_connect(client); + mosquitto_connect(client); } } -static void example_do_connect(mqtt_client_t *client) { - LOG_INFO(TAG, "testing the connection"); +static void mosquitto_connect(mqtt_client_t *client) { struct mqtt_connect_client_info_t ci; err_t err; + LOG_INFO(TAG, "testing the connection"); + memset(&ci, 0, sizeof(ci)); ci.client_id = "lwip_test"; @@ -201,10 +205,10 @@ static void example_do_connect(mqtt_client_t *client) { IP4_ADDR(&server_ip, 192,168,69,11); uint16_t server_port = 1883; err = mqtt_client_connect(client, &server_ip, server_port, mqtt_connection_cb, 0, &ci); - if(err != ERR_OK) { + if (err != ERR_OK) { LOG_INFO(TAG, "mqtt_connect return %d", err); } - if(err == ERR_OK) { + if (err == ERR_OK) { LOG_INFO(TAG, "Went into mqtt_client_connect; mqtt_connect return %d", err); } } @@ -217,90 +221,91 @@ void mug_init(void) { ypos = 50; mqtt_client_t *client = mqtt_client_new(); - if(client != NULL) { + if (client != NULL) { LOG_INFO(TAG, "Starting connection test"); - example_do_connect(client); + mosquitto_connect(client); } } uint32_t color_picker(char* color) { uint32_t output = LCD_BLACK; - if(strcmp((const char*)color, "blue") == 0) { + + if (strcmp((const char*)color, "blue") == 0) { output = LCD_BLUE; } - if(strcmp((const char*)color, "green") == 0) { + if (strcmp((const char*)color, "green") == 0) { output = LCD_GREEN; } - if(strcmp((const char*)color, "red") == 0) { + if (strcmp((const char*)color, "red") == 0) { output = LCD_RED; } - if(strcmp((const char*)color, "cyan") == 0) { + if (strcmp((const char*)color, "cyan") == 0) { output = LCD_CYAN; } - if(strcmp((const char*)color, "magenta") == 0) { + if (strcmp((const char*)color, "magenta") == 0) { output = LCD_MAGENTA; } - if(strcmp((const char*)color, "yellow") == 0) { + if (strcmp((const char*)color, "yellow") == 0) { output = LCD_YELLOW; } - if(strcmp((const char*)color, "light blue") == 0) { + if (strcmp((const char*)color, "light blue") == 0) { output = LCD_LIGHTBLUE; } - if(strcmp((const char*)color, "light green") == 0) { + if (strcmp((const char*)color, "light green") == 0) { output = LCD_LIGHTGREEN; } - if(strcmp((const char*)color, "light red") == 0) { + if (strcmp((const char*)color, "light red") == 0) { output = LCD_LIGHTRED; } - if(strcmp((const char*)color, "light cyan") == 0) { + if (strcmp((const char*)color, "light cyan") == 0) { output = LCD_LIGHTCYAN; } - if(strcmp((const char*)color, "light magenta") == 0) { + if (strcmp((const char*)color, "light magenta") == 0) { output = LCD_LIGHTMAGENTA; } - if(strcmp((const char*)color, "light yellow") == 0) { + if (strcmp((const char*)color, "light yellow") == 0) { output = LCD_LIGHTYELLOW; } - if(strcmp((const char*)color, "dark blue") == 0) { + if (strcmp((const char*)color, "dark blue") == 0) { output = LCD_DARKBLUE; } - if(strcmp((const char*)color, "dark green") == 0) { + if (strcmp((const char*)color, "dark green") == 0) { output = LCD_DARKGREEN; } - if(strcmp((const char*)color, "dark red") == 0) { + if (strcmp((const char*)color, "dark red") == 0) { output = LCD_DARKRED; } - if(strcmp((const char*)color, "dark cyan") == 0) { + if (strcmp((const char*)color, "dark cyan") == 0) { output = LCD_DARKCYAN; } - if(strcmp((const char*)color, "dark magenta") == 0) { + if (strcmp((const char*)color, "dark magenta") == 0) { output = LCD_DARKMAGENTA; } - if(strcmp((const char*)color, "dark yellow") == 0) { + if (strcmp((const char*)color, "dark yellow") == 0) { output = LCD_DARKYELLOW; } - if(strcmp((const char*)color, "white") == 0) { + if (strcmp((const char*)color, "white") == 0) { output = LCD_WHITE; } - if(strcmp((const char*)color, "light gray") == 0) { + if (strcmp((const char*)color, "light gray") == 0) { output = LCD_LIGHTGRAY; } - if(strcmp((const char*)color, "gray") == 0) { + if (strcmp((const char*)color, "gray") == 0) { output = LCD_GRAY; } - if(strcmp((const char*)color, "dark gray") == 0) { + if (strcmp((const char*)color, "dark gray") == 0) { output = LCD_DARKGRAY; } - if(strcmp((const char*)color, "black") == 0) { + if (strcmp((const char*)color, "black") == 0) { output = LCD_BLACK; } - if(strcmp((const char*)color, "brown") == 0) { + if (strcmp((const char*)color, "brown") == 0) { output = LCD_BROWN; } - if(strcmp((const char*)color, "orange") == 0) { + if (strcmp((const char*)color, "orange") == 0) { output = LCD_ORANGE; } - if(strcmp((const char*)color, "transparent") == 0) { + if (strcmp((const char*)color, "transparent") == 0) { output = LCD_TRANSPARENT; }