From cb6aa19bd83f47895cf0f7b009b3f5bcd0223ccc Mon Sep 17 00:00:00 2001 From: angoosh Date: Wed, 14 Jul 2021 15:22:39 +0200 Subject: [PATCH] added support for time command --- Terminal.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/Terminal.c b/Terminal.c index a3d61a2..8f9f00b 100644 --- a/Terminal.c +++ b/Terminal.c @@ -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;