Files
2023-Webservices_And_Applic…/project/Core/Src/log.c

42 lines
881 B
C

/**
* @file log.c
* @brief Logger implementation
* @authors Lorenz C. && Sander S.
*/
#include <stdarg.h>
#include <stdint.h>
#include <stdio.h>
#include "log.h"
#include "stm32f7xx_hal.h"
extern UART_HandleTypeDef huart1;
/**
* @brief Get the current timestamp to be used in the logger
*
* @return The current timestamp in milliseconds since boot
*/
int _write(int file, char* data, int len) {
HAL_StatusTypeDef status;
switch (file) {
case STDOUT_FILENO:
case STDERR_FILENO:
status = HAL_UART_Transmit(&huart1, (uint8_t*)data, len, HAL_MAX_DELAY);
if (status != HAL_OK) {
errno = EIO;
return -1;
}
break;
default:
errno = EBADF;
return -1;
}
return len;
}
uint32_t logger_get_timestamp(void) {
return HAL_GetTick();
}