diff --git a/project/Core/Src/mqtt_application.c b/project/Core/Src/mqtt_application.c index 203830a..f648725 100644 --- a/project/Core/Src/mqtt_application.c +++ b/project/Core/Src/mqtt_application.c @@ -83,7 +83,7 @@ static void publish_data(mqtt_client_t* client, void* arg) { LOG_DEBUG(TAG, "Entering publish"); - create_publish_string("image", pub_payload,sizeof(pub_payload)); + create_publish_string("*.bmp", pub_payload,sizeof(pub_payload)); err = mqtt_publish(client, "getImageList", pub_payload, strlen(pub_payload), qos, retain, mqtt_pub_request_cb, arg); if (err != ERR_OK) { @@ -91,7 +91,7 @@ static void publish_data(mqtt_client_t* client, void* arg) { } pub_payload[0] = '\0'; - create_publish_string("gif", pub_payload, sizeof(pub_payload)); + create_publish_string("*.gif", pub_payload, sizeof(pub_payload)); err = mqtt_publish(client, "getImageList", pub_payload, strlen(pub_payload), qos, retain, mqtt_pub_request_cb, arg); if (err != ERR_OK) { @@ -379,7 +379,7 @@ uint32_t color_picker(char* color_in) { /** * @brief creates a string to publish on the getImageList topic * - * @param[in] file_type The type of file file_list is made out of + * @param[in] file_type The file extension asked to be published * @param[in] payload_buffer The string to be published * @param[in] buffer_size Size of payload_buffer */ @@ -387,23 +387,18 @@ static void create_publish_string(char* file_type, char* payload_buffer, size_t size_t num_files; llfs_file_t file_list[MAX_FILES]; - if (strcmp(file_type, "image") == 0) { - num_files = llfs_file_list(file_list, MAX_FILES, "*.bmp"); + num_files = llfs_file_list(file_list, MAX_FILES, file_type); - if (num_files == 0) { - strncat(payload_buffer, "No images found", buffer_size - strlen(payload_buffer) - 1); - LOG_INFO(TAG, "%s: No images found", __func__); - return; - } + if (num_files == 0) { + strncat(payload_buffer, "No files found of type: ", buffer_size - strlen(payload_buffer) - 1); + strncat(payload_buffer, file_type, buffer_size - strlen(payload_buffer) - 1); + LOG_INFO(TAG, "%s: No files found of type %s", __func__, file_type); + return; + } + + if (strcmp(file_type, "*.bmp") == 0) { strncat(payload_buffer, "Available images: ", buffer_size - strlen(payload_buffer) - 1); - } else if (strcmp(file_type, "gif") == 0) { - num_files = llfs_file_list(file_list, MAX_FILES, "*.gif"); - - if (num_files == 0) { - strncat(payload_buffer, "No gifs found", buffer_size - strlen(payload_buffer) - 1); - LOG_INFO(TAG, "%s: No gifs found", __func__); - return; - } + } else if (strcmp(file_type, "*.gif") == 0) { strncat(payload_buffer, "Available gifs: ", buffer_size - strlen(payload_buffer) - 1); } else { LOG_WARN(TAG, "No application for given file type: %s", file_type);