logger interrupt
This commit is contained in:
parent
fa66527d9c
commit
bf5d9b4bae
@ -1,8 +1,10 @@
|
|||||||
#ifndef _LOGGER_H_
|
#ifndef _LOGGER_H_
|
||||||
#define _LOGGER_H_
|
#define _LOGGER_H_
|
||||||
|
|
||||||
|
#include <main.h>
|
||||||
|
|
||||||
|
|
||||||
|
#define LOGGER_INTERRUPT
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
LOG_HIGH,
|
LOG_HIGH,
|
||||||
@ -32,4 +34,9 @@ int coloredMsg(const t_logColor color, const char *format, ...);
|
|||||||
// return value can be ignored, it is only used in test
|
// return value can be ignored, it is only used in test
|
||||||
int logExec();
|
int logExec();
|
||||||
|
|
||||||
|
#ifdef LOGGER_INTERRUPT
|
||||||
|
void mbusCommTxCpltCallback(UART_HandleTypeDef *huart);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif // _LOGGER_H_
|
#endif // _LOGGER_H_
|
||||||
|
@ -35,6 +35,12 @@ void logFree() {
|
|||||||
ringbufferFree(&logBuffer);
|
ringbufferFree(&logBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef LOGGER_INTERRUPT
|
||||||
|
void mbusCommTxCpltCallback(UART_HandleTypeDef *huart) {
|
||||||
|
logExec();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int logExec() {
|
int logExec() {
|
||||||
int c = -1;
|
int c = -1;
|
||||||
#ifndef TEST
|
#ifndef TEST
|
||||||
@ -45,7 +51,11 @@ int logExec() {
|
|||||||
#ifndef TEST
|
#ifndef TEST
|
||||||
// transfer to TX channel
|
// transfer to TX channel
|
||||||
uint8_t cc = (uint8_t) c;
|
uint8_t cc = (uint8_t) c;
|
||||||
|
#ifndef LOGGER_INTERRUPT
|
||||||
HAL_UART_Transmit(&debugUart, &cc, 1, HAL_MAX_DELAY);
|
HAL_UART_Transmit(&debugUart, &cc, 1, HAL_MAX_DELAY);
|
||||||
|
#else
|
||||||
|
HAL_UART_Transmit_IT(&debugUart, &cc, 1);
|
||||||
|
#endif // LOGGER_INTERRUPT
|
||||||
#endif // TEST
|
#endif // TEST
|
||||||
}
|
}
|
||||||
#ifndef TEST
|
#ifndef TEST
|
||||||
|
@ -232,7 +232,12 @@ void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) {
|
|||||||
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) {
|
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) {
|
||||||
if (huart == &mbusUart) {
|
if (huart == &mbusUart) {
|
||||||
mbusCommTxCpltCallback(huart);
|
mbusCommTxCpltCallback(huart);
|
||||||
|
}
|
||||||
|
#ifdef LOGGER_INTERRUPT
|
||||||
|
else if (huart == &debugUart) {
|
||||||
|
debugTxCpltCallback(huart);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {
|
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user