Fixed UART Version output and visualized it in go tool

This commit is contained in:
simon 2025-08-10 13:20:11 +02:00
parent 1d36a757c0
commit 8d4f1da028
2 changed files with 27 additions and 4 deletions

View File

@ -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)

View File

@ -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,