added support for time command

This commit is contained in:
Angoosh Leviocki 2021-07-14 15:22:39 +02:00
parent 29629e2a47
commit cb6aa19bd8

View File

@ -14,6 +14,7 @@ uint8_t termRxBuffer[TERM_BUFFER_SIZE];
UART_HandleTypeDef huart3;
RTC_HandleTypeDef hrtc;
uint8_t msgOk[] = {"\nOK\n"};
@ -42,6 +43,22 @@ void PrintRxBuffer(){
pointr = 0;
}
char dateChar[9];
char timeChar[9];
void get_time(void)
{
RTC_DateTypeDef gDate;
RTC_TimeTypeDef gTime;
/* Get the RTC current Time */
HAL_RTC_GetTime(&hrtc, &gTime, RTC_FORMAT_BIN);
/* Get the RTC current Date */
HAL_RTC_GetDate(&hrtc, &gDate, RTC_FORMAT_BIN);
/* Display time Format: hh:mm:ss */
sprintf((char*)timeChar,"%02d:%02d:%02d",gTime.Hours, gTime.Minutes, gTime.Seconds);
/* Display date Format: dd-mm-yy */
sprintf((char*)dateChar,"%02d-%02d-%2d",gDate.Date, gDate.Month, 2000 + gDate.Year);
}
/**
* @brief Read rx buffer and parse commands
*
@ -276,6 +293,18 @@ void ReadBuffer(){
HAL_UART_Transmit(&huart3, msgHelp, sizeof(msgHelp)-1, 0xFFFF);
HAL_UART_Transmit(&huart3, msgBlank, sizeof(msgBlank)-1, 0xFFFF);
}
else if(strncmp(time, chachar, 4) == 0){
uint8_t msgSystime[] = {"\nSystem time: "};
uint8_t msgSysdate[] = {"\nSystem date: "};
get_time();
HAL_UART_Transmit(&huart3, msgSystime, sizeof(msgSystime)-1, 0xFFFF);
HAL_UART_Transmit(&huart3, timeChar, sizeof(timeChar)-1, 0xFFFF);
HAL_UART_Transmit(&huart3, msgSysdate, sizeof(msgSysdate)-1, 0xFFFF);
HAL_UART_Transmit(&huart3, dateChar, sizeof(dateChar)-1, 0xFFFF);
HAL_UART_Transmit(&huart3, &msgNL, sizeof(msgNL), 0xFFFF);
HAL_UART_Transmit(&huart3, msgBlank, sizeof(msgBlank)-1, 0xFFFF);
}
}
for(int i = 0; i < TERM_BUFFER_SIZE; i++){
termRxBuffer[i] = 0;