uart register

This commit is contained in:
Vasily Markov 2024-06-11 01:26:20 +03:00
parent a9f146ef4d
commit ca64e3480d
4 changed files with 8 additions and 10 deletions

View File

@ -6,24 +6,19 @@
#define SER_BUF_SIZE 128 #define SER_BUF_SIZE 128
uint8_t ser_buffer[SER_BUF_SIZE]; uint8_t ser_buffer[SER_BUF_SIZE];
uint8_t serialize(uint8_t* buffer, size_t* len) { uint8_t serialize(uint8_t* buffer, size_t* len) {
size_t message_length = 0; size_t message_length = 0;
bool status = 0; bool status = 0;
static uint32_t cnt = 0; static uint32_t cnt = 0;
SimpleMessage message = SimpleMessage_init_zero; SimpleMessage message = SimpleMessage_init_zero;
/* Create a stream that will write to our buffer. */
pb_ostream_t stream = pb_ostream_from_buffer(buffer, sizeof(buffer)); pb_ostream_t stream = pb_ostream_from_buffer(buffer, sizeof(buffer));
/* Fill in the lucky number */
message.number = cnt++; message.number = cnt++;
/* Now we are ready to encode the message! */
status = pb_encode(&stream, SimpleMessage_fields, &message); status = pb_encode(&stream, SimpleMessage_fields, &message);
*len = stream.bytes_written; *len = stream.bytes_written;
/* Then just check for any errors.. */
if (!status) if (!status)
{ {
printf("Encoding failed: %s\n", PB_GET_ERROR(&stream)); printf("Encoding failed: %s\n", PB_GET_ERROR(&stream));
@ -33,9 +28,9 @@ uint8_t serialize(uint8_t* buffer, size_t* len) {
return 0; return 0;
} }
void sendData(sd_callback_t send_data_callback) { void sendData(sd_callback_t send_data_callback) {
if (get_dbg_uart() == NULL)
return;
size_t ser_len = 0; size_t ser_len = 0;
serialize(ser_buffer, &ser_len); serialize(ser_buffer, &ser_len);
send_data_callback(ser_buffer, ser_len); send_data_callback(ser_buffer, ser_len);

View File

@ -1,8 +1,6 @@
#include "../bsp/bsp.h" #include "../bsp/bsp.h"
#include "app.h" #include "app.h"
int main(void) int main(void)
{ {
boardInit(); boardInit();

View File

@ -7,6 +7,10 @@ static USART_TypeDef* dbg_uart = NULL;
static lwip_status_t lwip_status = {.link_status = LINK_DOWN}; static lwip_status_t lwip_status = {.link_status = LINK_DOWN};
USART_TypeDef* get_dbg_uart() {
return &dbg_uart;
}
lwip_status_t* getLwipStatus() { lwip_status_t* getLwipStatus() {
return &lwip_status; return &lwip_status;
} }

View File

@ -22,5 +22,6 @@ typedef struct {
void boardInit(); void boardInit();
lwip_status_t* getLwipStatus(); lwip_status_t* getLwipStatus();
USART_TypeDef* get_dbg_uart();
void send_uart(const uint8_t*, uint8_t); void send_uart(const uint8_t*, uint8_t);
#endif #endif