Files
uv-k1-k5v3-firmware-custom/App/debugging.h
T

54 lines
1.3 KiB
C

#ifndef DEBUGGING_H
#define DEBUGGING_H
#ifdef ENABLE_UART
#include "driver/uart.h"
#include "driver/bk4819.h"
#include "string.h"
#include "external/printf/printf.h"
static inline void LogUart(const char *const str)
{
UART_Send(str, strlen(str));
}
static inline void LogUartf(const char* format, ...)
{
char buffer[128];
va_list va;
va_start(va, format);
vsnprintf(buffer, (size_t)-1, format, va);
va_end(va);
UART_Send(buffer, strlen(buffer));
}
static inline void LogRegUart(uint16_t reg)
{
uint16_t regVal = BK4819_ReadRegister(reg);
static const char HexDigits[] = "0123456789ABCDEF";
char buf[] = "reg00: 0000\n";
buf[3] = HexDigits[(reg >> 4) & 0x0F];
buf[4] = HexDigits[reg & 0x0F];
buf[7] = HexDigits[(regVal >> 12) & 0x0F];
buf[8] = HexDigits[(regVal >> 8) & 0x0F];
buf[9] = HexDigits[(regVal >> 4) & 0x0F];
buf[10] = HexDigits[regVal & 0x0F];
LogUart(buf);
}
static inline void LogPrint()
{
uint16_t rssi = BK4819_GetRSSI();
uint16_t reg7e = BK4819_ReadRegister(0x7E);
char buf[32];
sprintf(buf, "reg7E: %d %2d %6d %2d %d rssi: %d\n", (reg7e >> 15),
(reg7e >> 12) & 0b111, (reg7e >> 5) & 0b1111111,
(reg7e >> 2) & 0b111, (reg7e >> 0) & 0b11, rssi);
LogUart(buf);
}
#endif
#endif