Encoder read with graph plot over UDP

This commit is contained in:
2023-03-07 18:55:30 -03:00
parent f2427647cf
commit 2dcfcad308
110 changed files with 120252 additions and 0 deletions

View File

@@ -0,0 +1,91 @@
/*
* UARTDebug.cpp
*
* Created on: Feb 28, 2022
* Author: Gabriel
*/
#include "SerialDebug.hpp"
#include <string.h>
SerialDebug::SerialDebug(UART_HandleTypeDef* huartptr, uint32_t fifoSize)
: huartptr(huartptr)
{
fifo = new StaticFIFO(fifoSize);
}
void SerialDebug::setLevel(DebugLevel level)
{
debugLevel = level;
}
void SerialDebug::serialTxCpltCallback(){
uint32_t numChars;
uint8_t* pointer;
if (fifo->pop(&pointer, &numChars, bufSize) >= 0){
memcpy(uartBuf, pointer, numChars);
HAL_UART_Transmit_DMA(huartptr, pointer, (uint16_t)numChars);
}else{
transmitting = false;
}
}
void SerialDebug::debug(const char* data){
if (debugLevel <= DEBUG_LEVEL_DEBUG){
int numChars = sprintf(charBuf, "[%13lu] DBG: %.105s\r\n", HAL_GetTick(), data);
if(numChars > 0){
if(transmitting){
fifo->push(charBuf, numChars);
}else{
transmitting = true;
memcpy(uartBuf, (uint8_t*)charBuf, numChars);
HAL_UART_Transmit_DMA(huartptr, uartBuf, (uint16_t)numChars);
}
}
}
}
void SerialDebug::info(const char* data){
if (debugLevel <= DEBUG_LEVEL_INFO){
int numChars = sprintf(charBuf, "[%13lu] INF: %.105s\r\n", HAL_GetTick(), data);
if(numChars > 0){
if(transmitting){
fifo->push(charBuf, numChars);
}else{
transmitting = true;
memcpy(uartBuf, (uint8_t*)charBuf, numChars);
HAL_UART_Transmit_DMA(huartptr, uartBuf, (uint16_t)numChars);
}
}
}
}
void SerialDebug::warn(const char* data){
if (debugLevel <= DEBUG_LEVEL_WARN){
int numChars = sprintf(charBuf, "[%13lu] WRN: %.105s\r\n", HAL_GetTick(), data);
if(numChars > 0){
if(transmitting){
fifo->push(charBuf, numChars);
}else{
transmitting = true;
memcpy(uartBuf, (uint8_t*)charBuf, numChars);
HAL_UART_Transmit_DMA(huartptr, uartBuf, (uint16_t)numChars);
}
}
}
}
void SerialDebug::error(const char* data){
if (debugLevel <= DEBUG_LEVEL_ERROR){
int numChars = sprintf(charBuf, "[%13lu] ERR: %.105s\r\n", HAL_GetTick(), data);
if(numChars > 0){
if(transmitting){
fifo->push(charBuf, numChars);
}else{
transmitting = true;
memcpy(uartBuf, (uint8_t*)charBuf, numChars);
HAL_UART_Transmit_DMA(huartptr, uartBuf, (uint16_t)numChars);
}
}
}
}