diff --git a/goTool/main.go b/goTool/main.go index 1f5bfe8..1aef0f5 100644 --- a/goTool/main.go +++ b/goTool/main.go @@ -105,6 +105,30 @@ func parse_uart_ota_payload_payload(payloadBuffer []byte, payload_len int) { fmt.Printf("Sequence %v, WriteIndex %v", binary.LittleEndian.Uint16(payloadBuffer[0:1]), binary.LittleEndian.Uint16(payloadBuffer[2:3])) } +func parse_uart_version_payload(payloadBuffer []byte, payload_len int) { + type payload_data struct { + Version uint16 + BuildHash [7]uint8 + } + + tableHeaders := pterm.TableData{ + {"Version", "Buildhash"}, + } + + tableData := tableHeaders + + tableData = append(tableData, []string{ + fmt.Sprintf("%d", binary.LittleEndian.Uint16(payloadBuffer[1:3])), + fmt.Sprintf("%s", payloadBuffer[3:10]), + }) + + err := pterm.DefaultTable.WithHasHeader().WithBoxed().WithData(tableData).Render() + if err != nil { + fmt.Printf("Fehler beim Rendern der Tabelle: %s\n", err) + } + +} + func parse_uart_client_info_payload(payloadBuffer []byte, payload_len int) { type payload_data struct { @@ -180,6 +204,7 @@ func message_receive_callback(mr MessageReceive) { case byte(UART_ECHO): break case UART_VERSION: + parse_uart_version_payload(mr.parsed_message, mr.write_index) break case UART_CLIENT_INFO: parse_uart_client_info_payload(mr.parsed_message, mr.write_index) diff --git a/main/main.c b/main/main.c index d8b8cfb..e7df4f6 100644 --- a/main/main.c +++ b/main/main.c @@ -74,8 +74,6 @@ void versionCallback(uint8_t msgid, const uint8_t *payload, size_t payload_len, send_payload_buffer[1] = (uint8_t)((version >> 8) & 0xFF); memcpy(&send_payload_buffer[2], &BUILD_GIT_HASH, git_build_hash_len); - // currently running partition - int len = build_message(UART_VERSION, send_payload_buffer, needed_buffer_size, send_buffer, send_buffer_size); if (len < 0) { @@ -85,7 +83,7 @@ void versionCallback(uint8_t msgid, const uint8_t *payload, size_t payload_len, payload_len, send_buffer_size, len); return; } - uart_write_bytes(MASTER_UART, send_buffer, len - 1); + uart_write_bytes(MASTER_UART, send_buffer, len); } void clientInfoCallback(uint8_t msgid, const uint8_t *payload, @@ -143,7 +141,7 @@ void clientInfoCallback(uint8_t msgid, const uint8_t *payload, int len = build_message(UART_CLIENT_INFO, send_payload_buffer, needed_buffer_size, send_buffer, send_buffer_size); - ESP_LOG_BUFFER_HEX("SEND BUFFER: ", send_buffer, send_buffer_size); + //ESP_LOG_BUFFER_HEX("SEND BUFFER: ", send_buffer, send_buffer_size); if (len < 0) { ESP_LOGE(TAG,