1st release (without comment)

Committer:
nsrwsurasak
Date:
Thu Sep 15 08:07:31 2016 +0000
Revision:
1:5e6c5fbd48d6
Parent:
0:bc10ea82aec3
Child:
2:38567b4310a4
Add comments, fix bug and clean up code.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nsrwsurasak 1:5e6c5fbd48d6 1 /**
nsrwsurasak 1:5e6c5fbd48d6 2 ******************************************************************************
nsrwsurasak 1:5e6c5fbd48d6 3 * @file RMS_UART.cpp
nsrwsurasak 1:5e6c5fbd48d6 4 * @author Surasak N
nsrwsurasak 1:5e6c5fbd48d6 5 * @version V1
nsrwsurasak 1:5e6c5fbd48d6 6 * @date 15/09/2016
nsrwsurasak 1:5e6c5fbd48d6 7 * @brief Command for Mini-RMS <> RMS via UART
nsrwsurasak 1:5e6c5fbd48d6 8 ******************************************************************************/
nsrwsurasak 1:5e6c5fbd48d6 9
nsrwsurasak 0:bc10ea82aec3 10 #include "mbed.h"
nsrwsurasak 1:5e6c5fbd48d6 11 #include "main.h"
nsrwsurasak 0:bc10ea82aec3 12
nsrwsurasak 0:bc10ea82aec3 13 #ifdef EXT_SERIAL
nsrwsurasak 1:5e6c5fbd48d6 14 /* Using UART1 as in Debuger (ST-Link) */
nsrwsurasak 0:bc10ea82aec3 15 Serial serial_device(SERIAL_TX, SERIAL_RX);
nsrwsurasak 0:bc10ea82aec3 16 #else
nsrwsurasak 1:5e6c5fbd48d6 17 /* Using UART2 via external UART to USB */
nsrwsurasak 1:5e6c5fbd48d6 18 Serial serial_device(PA_3, PB_3);
nsrwsurasak 0:bc10ea82aec3 19 #endif
nsrwsurasak 0:bc10ea82aec3 20
nsrwsurasak 1:5e6c5fbd48d6 21 char Msg_RxBuf[MSG_BUF_SIZE + 1]; // An Command Buffer
nsrwsurasak 1:5e6c5fbd48d6 22 int Msg_index; // An Command index
nsrwsurasak 0:bc10ea82aec3 23
nsrwsurasak 1:5e6c5fbd48d6 24 char Content_RxBuf[CONTENT_BUF_SIZE + 1]; // An Contents Buffer
nsrwsurasak 1:5e6c5fbd48d6 25 int Content_index; // An Contents index
nsrwsurasak 0:bc10ea82aec3 26
nsrwsurasak 1:5e6c5fbd48d6 27 char FileName[MSG2FILENAME]; // An Command Buffer
nsrwsurasak 1:5e6c5fbd48d6 28 FileRequest_CMD_Type reqFileCmdType = REQ_NONE; // An Events Request and management
nsrwsurasak 1:5e6c5fbd48d6 29 bool MsgContentManagement = false; // Command and Contents buffer management
nsrwsurasak 0:bc10ea82aec3 30
nsrwsurasak 0:bc10ea82aec3 31 /**
nsrwsurasak 1:5e6c5fbd48d6 32 * @brief Initials bsp and interrupt of serial communication
nsrwsurasak 1:5e6c5fbd48d6 33 * @note BPS have 9600bps only
nsrwsurasak 0:bc10ea82aec3 34 * @retval
nsrwsurasak 0:bc10ea82aec3 35 */
nsrwsurasak 0:bc10ea82aec3 36 void Init_SerialDevice()
nsrwsurasak 0:bc10ea82aec3 37 {
nsrwsurasak 1:5e6c5fbd48d6 38 /* Initial begining bps with 9600bps */
nsrwsurasak 0:bc10ea82aec3 39 serial_device.baud(BPS_9600);
nsrwsurasak 1:5e6c5fbd48d6 40
nsrwsurasak 1:5e6c5fbd48d6 41 /* Initial interrupt callback function */
nsrwsurasak 0:bc10ea82aec3 42 serial_device.attach(&RxMsgInterruptCallback);
nsrwsurasak 0:bc10ea82aec3 43 }
nsrwsurasak 0:bc10ea82aec3 44
nsrwsurasak 0:bc10ea82aec3 45 /**
nsrwsurasak 1:5e6c5fbd48d6 46 * @brief Intertupt callback function
nsrwsurasak 1:5e6c5fbd48d6 47 * @note Management fill buffer direction
nsrwsurasak 0:bc10ea82aec3 48 * @retval
nsrwsurasak 0:bc10ea82aec3 49 */
nsrwsurasak 0:bc10ea82aec3 50 void RxMsgInterruptCallback()
nsrwsurasak 0:bc10ea82aec3 51 {
nsrwsurasak 1:5e6c5fbd48d6 52 /* Received serial Rx interrupt */
nsrwsurasak 1:5e6c5fbd48d6 53
nsrwsurasak 1:5e6c5fbd48d6 54 /* Check buffer direction */
nsrwsurasak 0:bc10ea82aec3 55 if(MsgContentManagement == false)
nsrwsurasak 0:bc10ea82aec3 56 {
nsrwsurasak 1:5e6c5fbd48d6 57 /* Fill buffer to commands */
nsrwsurasak 0:bc10ea82aec3 58 DoTheMsgCmd();
nsrwsurasak 0:bc10ea82aec3 59 }
nsrwsurasak 0:bc10ea82aec3 60 else
nsrwsurasak 0:bc10ea82aec3 61 {
nsrwsurasak 1:5e6c5fbd48d6 62 /* Fill buffer to contents */
nsrwsurasak 0:bc10ea82aec3 63 DoTheContent();
nsrwsurasak 0:bc10ea82aec3 64 }
nsrwsurasak 0:bc10ea82aec3 65 }
nsrwsurasak 0:bc10ea82aec3 66
nsrwsurasak 0:bc10ea82aec3 67 /**
nsrwsurasak 1:5e6c5fbd48d6 68 * @brief Fill serial data as in contents buffer
nsrwsurasak 1:5e6c5fbd48d6 69 * @note
nsrwsurasak 0:bc10ea82aec3 70 * @retval
nsrwsurasak 0:bc10ea82aec3 71 */
nsrwsurasak 0:bc10ea82aec3 72 void DoTheContent()
nsrwsurasak 0:bc10ea82aec3 73 {
nsrwsurasak 0:bc10ea82aec3 74 // Note: you need to actually read from the serial to clear the RX interrupt
nsrwsurasak 1:5e6c5fbd48d6 75
nsrwsurasak 1:5e6c5fbd48d6 76 /* Fill data as serial to contents buffer */
nsrwsurasak 0:bc10ea82aec3 77 Content_RxBuf[Content_index] = serial_device.getc();
nsrwsurasak 1:5e6c5fbd48d6 78
nsrwsurasak 1:5e6c5fbd48d6 79 /* Shift contents index */
nsrwsurasak 0:bc10ea82aec3 80 Content_index++;
nsrwsurasak 0:bc10ea82aec3 81
nsrwsurasak 1:5e6c5fbd48d6 82 /* Check end of content */
nsrwsurasak 1:5e6c5fbd48d6 83 CheckContentMsg();
nsrwsurasak 0:bc10ea82aec3 84 }
nsrwsurasak 0:bc10ea82aec3 85
nsrwsurasak 0:bc10ea82aec3 86 /**
nsrwsurasak 1:5e6c5fbd48d6 87 * @brief Fill serial data as in command buffer
nsrwsurasak 1:5e6c5fbd48d6 88 * @note Command type and FileName
nsrwsurasak 0:bc10ea82aec3 89 * @retval
nsrwsurasak 0:bc10ea82aec3 90 */
nsrwsurasak 0:bc10ea82aec3 91 void DoTheMsgCmd()
nsrwsurasak 0:bc10ea82aec3 92 {
nsrwsurasak 0:bc10ea82aec3 93
nsrwsurasak 0:bc10ea82aec3 94 // Note: you need to actually read from the serial to clear the RX interrupt
nsrwsurasak 1:5e6c5fbd48d6 95
nsrwsurasak 1:5e6c5fbd48d6 96 /* Fill data as serial to command and file name buffer */
nsrwsurasak 0:bc10ea82aec3 97 Msg_RxBuf[Msg_index] = serial_device.getc();
nsrwsurasak 1:5e6c5fbd48d6 98
nsrwsurasak 1:5e6c5fbd48d6 99 /* Shift command and filename index */
nsrwsurasak 0:bc10ea82aec3 100 Msg_index++;
nsrwsurasak 0:bc10ea82aec3 101
nsrwsurasak 1:5e6c5fbd48d6 102 /* Check command type */
nsrwsurasak 1:5e6c5fbd48d6 103 CheckCmdType();
nsrwsurasak 1:5e6c5fbd48d6 104 }
nsrwsurasak 1:5e6c5fbd48d6 105
nsrwsurasak 1:5e6c5fbd48d6 106 /**
nsrwsurasak 1:5e6c5fbd48d6 107 * @brief Checking and processing contents data
nsrwsurasak 1:5e6c5fbd48d6 108 * @note Check command *end* and clear buffer
nsrwsurasak 1:5e6c5fbd48d6 109 * @retval
nsrwsurasak 1:5e6c5fbd48d6 110 */
nsrwsurasak 1:5e6c5fbd48d6 111 void CheckContentMsg()
nsrwsurasak 1:5e6c5fbd48d6 112 {
nsrwsurasak 1:5e6c5fbd48d6 113 /* Found the *end* */
nsrwsurasak 1:5e6c5fbd48d6 114 if(strstr(Content_RxBuf,CMD_END_OF_CONTENT))
nsrwsurasak 0:bc10ea82aec3 115 {
nsrwsurasak 1:5e6c5fbd48d6 116 /* Call function for check contents */
nsrwsurasak 1:5e6c5fbd48d6 117 SendContentToFile();
nsrwsurasak 1:5e6c5fbd48d6 118
nsrwsurasak 1:5e6c5fbd48d6 119 /* Set fill buffer to command */
nsrwsurasak 1:5e6c5fbd48d6 120 MsgContentManagement = false;
nsrwsurasak 0:bc10ea82aec3 121 }
nsrwsurasak 1:5e6c5fbd48d6 122 /* Content buffer are full */
nsrwsurasak 1:5e6c5fbd48d6 123 if(Content_index == CONTENT_BUF_SIZE)
nsrwsurasak 1:5e6c5fbd48d6 124 {
nsrwsurasak 1:5e6c5fbd48d6 125 /* Call function for check contents */
nsrwsurasak 1:5e6c5fbd48d6 126 SendContentToFile();
nsrwsurasak 1:5e6c5fbd48d6 127 }
nsrwsurasak 1:5e6c5fbd48d6 128 }
nsrwsurasak 1:5e6c5fbd48d6 129
nsrwsurasak 1:5e6c5fbd48d6 130 /**
nsrwsurasak 1:5e6c5fbd48d6 131 * @brief Checking and processing command type
nsrwsurasak 1:5e6c5fbd48d6 132 * @note $ls, $ed, $rd, $rs and $df and etc.
nsrwsurasak 1:5e6c5fbd48d6 133 * @retval
nsrwsurasak 1:5e6c5fbd48d6 134 */
nsrwsurasak 1:5e6c5fbd48d6 135 void CheckCmdType()
nsrwsurasak 1:5e6c5fbd48d6 136 {
nsrwsurasak 1:5e6c5fbd48d6 137 // Note : Procese the command type and file name
nsrwsurasak 0:bc10ea82aec3 138
nsrwsurasak 1:5e6c5fbd48d6 139 /* Command type is list file ($ls) */
nsrwsurasak 1:5e6c5fbd48d6 140 if(strstr(Msg_RxBuf,CMD_LISTFILE))
nsrwsurasak 0:bc10ea82aec3 141 {
nsrwsurasak 1:5e6c5fbd48d6 142 /* Set REQ_LISTDIR event's reqFileCmdType */
nsrwsurasak 1:5e6c5fbd48d6 143 reqFileCmdType = REQ_LISTDIR;
nsrwsurasak 1:5e6c5fbd48d6 144
nsrwsurasak 1:5e6c5fbd48d6 145 /* Set flag evetnt */
nsrwsurasak 1:5e6c5fbd48d6 146 /* Waiting! main program call event */
nsrwsurasak 1:5e6c5fbd48d6 147 UART_File_event = true;
nsrwsurasak 1:5e6c5fbd48d6 148
nsrwsurasak 1:5e6c5fbd48d6 149 /* Clear command index and buffer */
nsrwsurasak 1:5e6c5fbd48d6 150 ClearCmdIndexAndBuf();
nsrwsurasak 0:bc10ea82aec3 151 }
nsrwsurasak 1:5e6c5fbd48d6 152 /* Got the *.csv file name */
nsrwsurasak 1:5e6c5fbd48d6 153 else if(strstr(Msg_RxBuf,FOUND_CSV_FILE))
nsrwsurasak 0:bc10ea82aec3 154 {
nsrwsurasak 1:5e6c5fbd48d6 155 /* Categorization ommand type */
nsrwsurasak 0:bc10ea82aec3 156 CheckReadEditCmd();
nsrwsurasak 0:bc10ea82aec3 157 }
nsrwsurasak 1:5e6c5fbd48d6 158 /* Got the *.xml file name */
nsrwsurasak 1:5e6c5fbd48d6 159 else if(strstr(Msg_RxBuf,FOUND_XML_FILE))
nsrwsurasak 0:bc10ea82aec3 160 {
nsrwsurasak 1:5e6c5fbd48d6 161 /* Categorization command type */
nsrwsurasak 1:5e6c5fbd48d6 162 CheckReadEditCmd();
nsrwsurasak 1:5e6c5fbd48d6 163 }
nsrwsurasak 1:5e6c5fbd48d6 164 /* Got the *.log file name */
nsrwsurasak 1:5e6c5fbd48d6 165 else if(strstr(Msg_RxBuf,FOUND_LOG_FILE))
nsrwsurasak 1:5e6c5fbd48d6 166 {
nsrwsurasak 1:5e6c5fbd48d6 167 /* Categorization command type */
nsrwsurasak 0:bc10ea82aec3 168 CheckReadEditCmd();
nsrwsurasak 0:bc10ea82aec3 169 }
nsrwsurasak 1:5e6c5fbd48d6 170 /* Command type is system restart ($rs) */
nsrwsurasak 1:5e6c5fbd48d6 171 else if(strstr(Msg_RxBuf,CMD_SYS_RESTART))
nsrwsurasak 1:5e6c5fbd48d6 172 {
nsrwsurasak 1:5e6c5fbd48d6 173 /* Request system restart */
nsrwsurasak 1:5e6c5fbd48d6 174 NVIC_SystemReset();
nsrwsurasak 1:5e6c5fbd48d6 175 }
nsrwsurasak 1:5e6c5fbd48d6 176 /* Command may be mismatched type */
nsrwsurasak 1:5e6c5fbd48d6 177 else
nsrwsurasak 0:bc10ea82aec3 178 {
nsrwsurasak 1:5e6c5fbd48d6 179 /* Not receive true type command */
nsrwsurasak 1:5e6c5fbd48d6 180 if(Msg_index >= 2)
nsrwsurasak 0:bc10ea82aec3 181 {
nsrwsurasak 1:5e6c5fbd48d6 182 if(!((strstr(Msg_RxBuf,CMD_LISTFILE)) ||
nsrwsurasak 1:5e6c5fbd48d6 183 (strstr(Msg_RxBuf,CMD_READFILE)) ||
nsrwsurasak 1:5e6c5fbd48d6 184 (strstr(Msg_RxBuf,CMD_WRITEFILE) ||
nsrwsurasak 1:5e6c5fbd48d6 185 (strstr(Msg_RxBuf,CMD_DELETEFILE)))))
nsrwsurasak 1:5e6c5fbd48d6 186 {
nsrwsurasak 1:5e6c5fbd48d6 187 /* Call command error function */
nsrwsurasak 1:5e6c5fbd48d6 188 GetCmdError();
nsrwsurasak 1:5e6c5fbd48d6 189 }
nsrwsurasak 0:bc10ea82aec3 190 }
nsrwsurasak 0:bc10ea82aec3 191 }
nsrwsurasak 1:5e6c5fbd48d6 192
nsrwsurasak 1:5e6c5fbd48d6 193 /* Command and file name buffer are full */
nsrwsurasak 0:bc10ea82aec3 194 if(Msg_index == MSG_BUF_SIZE)
nsrwsurasak 0:bc10ea82aec3 195 {
nsrwsurasak 1:5e6c5fbd48d6 196 /* Clear command index and buffer */
nsrwsurasak 0:bc10ea82aec3 197 ClearCmdIndexAndBuf();
nsrwsurasak 0:bc10ea82aec3 198 }
nsrwsurasak 0:bc10ea82aec3 199 }
nsrwsurasak 0:bc10ea82aec3 200
nsrwsurasak 0:bc10ea82aec3 201 /**
nsrwsurasak 1:5e6c5fbd48d6 202 * @brief Categorization commands type
nsrwsurasak 1:5e6c5fbd48d6 203 * @note Received file name and type
nsrwsurasak 0:bc10ea82aec3 204 * @retval
nsrwsurasak 0:bc10ea82aec3 205 */
nsrwsurasak 0:bc10ea82aec3 206 void CheckReadEditCmd()
nsrwsurasak 0:bc10ea82aec3 207 {
nsrwsurasak 1:5e6c5fbd48d6 208 /* Command type is read file ($rd) */
nsrwsurasak 1:5e6c5fbd48d6 209 if(strstr(Msg_RxBuf,CMD_READFILE))
nsrwsurasak 0:bc10ea82aec3 210 {
nsrwsurasak 1:5e6c5fbd48d6 211 /* Check file name */
nsrwsurasak 0:bc10ea82aec3 212 GetFileName();
nsrwsurasak 1:5e6c5fbd48d6 213
nsrwsurasak 1:5e6c5fbd48d6 214 /* Set REQ_READ event's reqFileCmdType */
nsrwsurasak 1:5e6c5fbd48d6 215 reqFileCmdType = REQ_READ;
nsrwsurasak 1:5e6c5fbd48d6 216
nsrwsurasak 1:5e6c5fbd48d6 217 /* Set flag evetnt */
nsrwsurasak 1:5e6c5fbd48d6 218 /* Waiting! main program call event */
nsrwsurasak 1:5e6c5fbd48d6 219 UART_File_event = true;
nsrwsurasak 0:bc10ea82aec3 220 }
nsrwsurasak 1:5e6c5fbd48d6 221 /* Command type is write/create file ($ed) */
nsrwsurasak 1:5e6c5fbd48d6 222 else if(strstr(Msg_RxBuf,CMD_WRITEFILE))
nsrwsurasak 0:bc10ea82aec3 223 {
nsrwsurasak 1:5e6c5fbd48d6 224 /* Check file name */
nsrwsurasak 0:bc10ea82aec3 225 GetFileName();
nsrwsurasak 1:5e6c5fbd48d6 226
nsrwsurasak 1:5e6c5fbd48d6 227 /* Set event flag for fill contents buffer */
nsrwsurasak 1:5e6c5fbd48d6 228 MsgContentManagement = true;
nsrwsurasak 1:5e6c5fbd48d6 229
nsrwsurasak 1:5e6c5fbd48d6 230 /* User indicated write command status */
nsrwsurasak 1:5e6c5fbd48d6 231 printf("\n-- Write command received\n");
nsrwsurasak 1:5e6c5fbd48d6 232 }
nsrwsurasak 1:5e6c5fbd48d6 233 /* Command type is delete ($df) */
nsrwsurasak 1:5e6c5fbd48d6 234 else if(strstr(Msg_RxBuf,CMD_DELETEFILE))
nsrwsurasak 1:5e6c5fbd48d6 235 {
nsrwsurasak 1:5e6c5fbd48d6 236 /* Check file name */
nsrwsurasak 1:5e6c5fbd48d6 237 GetFileName();
nsrwsurasak 1:5e6c5fbd48d6 238
nsrwsurasak 1:5e6c5fbd48d6 239 /* Set REQ_DELETE event's reqFileCmdType */
nsrwsurasak 1:5e6c5fbd48d6 240 reqFileCmdType = REQ_DELETE;
nsrwsurasak 1:5e6c5fbd48d6 241
nsrwsurasak 1:5e6c5fbd48d6 242 /* Set flag evetnt */
nsrwsurasak 1:5e6c5fbd48d6 243 /* Waiting! main program call event */
nsrwsurasak 1:5e6c5fbd48d6 244 UART_File_event = true;
nsrwsurasak 0:bc10ea82aec3 245 }
nsrwsurasak 0:bc10ea82aec3 246 else
nsrwsurasak 0:bc10ea82aec3 247 {
nsrwsurasak 1:5e6c5fbd48d6 248 /* Call command error function */
nsrwsurasak 0:bc10ea82aec3 249 GetCmdError();
nsrwsurasak 0:bc10ea82aec3 250 }
nsrwsurasak 0:bc10ea82aec3 251 }
nsrwsurasak 0:bc10ea82aec3 252
nsrwsurasak 0:bc10ea82aec3 253 /**
nsrwsurasak 1:5e6c5fbd48d6 254 * @brief Received command error
nsrwsurasak 1:5e6c5fbd48d6 255 * @note $??
nsrwsurasak 0:bc10ea82aec3 256 * @retval
nsrwsurasak 0:bc10ea82aec3 257 */
nsrwsurasak 0:bc10ea82aec3 258 void GetCmdError()
nsrwsurasak 0:bc10ea82aec3 259 {
nsrwsurasak 1:5e6c5fbd48d6 260 serial_device.printf("$%s -- Command Error %s\n",Msg_RxBuf);
nsrwsurasak 1:5e6c5fbd48d6 261
nsrwsurasak 1:5e6c5fbd48d6 262 /* Clear command index and buffer */
nsrwsurasak 0:bc10ea82aec3 263 ClearCmdIndexAndBuf();
nsrwsurasak 0:bc10ea82aec3 264 }
nsrwsurasak 0:bc10ea82aec3 265
nsrwsurasak 0:bc10ea82aec3 266 /**
nsrwsurasak 1:5e6c5fbd48d6 267 * @brief FileName process
nsrwsurasak 1:5e6c5fbd48d6 268 * @note Fill file name as buffer
nsrwsurasak 0:bc10ea82aec3 269 * @retval
nsrwsurasak 0:bc10ea82aec3 270 */
nsrwsurasak 0:bc10ea82aec3 271 void GetFileName()
nsrwsurasak 0:bc10ea82aec3 272 {
nsrwsurasak 1:5e6c5fbd48d6 273 /* Copy file name from Msg to FileName */
nsrwsurasak 0:bc10ea82aec3 274 memcpy(FileName,&Msg_RxBuf[3],Msg_index - 3);
nsrwsurasak 1:5e6c5fbd48d6 275
nsrwsurasak 1:5e6c5fbd48d6 276 /* Clear command index and buffer */
nsrwsurasak 0:bc10ea82aec3 277 ClearCmdIndexAndBuf();
nsrwsurasak 0:bc10ea82aec3 278 }
nsrwsurasak 0:bc10ea82aec3 279
nsrwsurasak 0:bc10ea82aec3 280 /**
nsrwsurasak 1:5e6c5fbd48d6 281 * @brief Request sent contents to main
nsrwsurasak 1:5e6c5fbd48d6 282 * @note
nsrwsurasak 0:bc10ea82aec3 283 * @retval
nsrwsurasak 0:bc10ea82aec3 284 */
nsrwsurasak 0:bc10ea82aec3 285 void SendContentToFile()
nsrwsurasak 0:bc10ea82aec3 286 {
nsrwsurasak 1:5e6c5fbd48d6 287 /* Set fill buffer to command */
nsrwsurasak 0:bc10ea82aec3 288 MsgContentManagement = true;
nsrwsurasak 1:5e6c5fbd48d6 289
nsrwsurasak 1:5e6c5fbd48d6 290 /* Set REQ_WRITE event's reqFileCmdType */
nsrwsurasak 1:5e6c5fbd48d6 291 reqFileCmdType = REQ_WRITE;
nsrwsurasak 1:5e6c5fbd48d6 292
nsrwsurasak 1:5e6c5fbd48d6 293 /* Set flag evetnt */
nsrwsurasak 1:5e6c5fbd48d6 294 /* Waiting! main program call event */
nsrwsurasak 1:5e6c5fbd48d6 295 UART_File_event = true;
nsrwsurasak 1:5e6c5fbd48d6 296
nsrwsurasak 0:bc10ea82aec3 297 }
nsrwsurasak 0:bc10ea82aec3 298
nsrwsurasak 0:bc10ea82aec3 299 /**
nsrwsurasak 1:5e6c5fbd48d6 300 * @brief Clear index and buffer of command and file name
nsrwsurasak 1:5e6c5fbd48d6 301 * @note
nsrwsurasak 0:bc10ea82aec3 302 * @retval
nsrwsurasak 0:bc10ea82aec3 303 */
nsrwsurasak 0:bc10ea82aec3 304 void ClearCmdIndexAndBuf()
nsrwsurasak 0:bc10ea82aec3 305 {
nsrwsurasak 1:5e6c5fbd48d6 306 /* Clear counter */
nsrwsurasak 0:bc10ea82aec3 307 Msg_index = 0;
nsrwsurasak 1:5e6c5fbd48d6 308
nsrwsurasak 1:5e6c5fbd48d6 309 /* Clear buffer */
nsrwsurasak 0:bc10ea82aec3 310 memset(Msg_RxBuf,' ',MSG_BUF_SIZE);
nsrwsurasak 0:bc10ea82aec3 311 }
nsrwsurasak 0:bc10ea82aec3 312
nsrwsurasak 0:bc10ea82aec3 313 /**
nsrwsurasak 1:5e6c5fbd48d6 314 * @brief Clear index and buffer of contents
nsrwsurasak 0:bc10ea82aec3 315 * @note
nsrwsurasak 0:bc10ea82aec3 316 * @retval
nsrwsurasak 0:bc10ea82aec3 317 */
nsrwsurasak 0:bc10ea82aec3 318 void ClearContentIndexAndBuf()
nsrwsurasak 0:bc10ea82aec3 319 {
nsrwsurasak 1:5e6c5fbd48d6 320 /* Clear counter */
nsrwsurasak 0:bc10ea82aec3 321 Content_index = 0;
nsrwsurasak 1:5e6c5fbd48d6 322
nsrwsurasak 1:5e6c5fbd48d6 323 /* Clear buffer */
nsrwsurasak 0:bc10ea82aec3 324 memset(Content_RxBuf,' ',CONTENT_BUF_SIZE);
nsrwsurasak 0:bc10ea82aec3 325 }
nsrwsurasak 1:5e6c5fbd48d6 326
nsrwsurasak 1:5e6c5fbd48d6 327 /**
nsrwsurasak 1:5e6c5fbd48d6 328 * @brief Clear fileName buffer
nsrwsurasak 1:5e6c5fbd48d6 329 * @note
nsrwsurasak 1:5e6c5fbd48d6 330 * @retval
nsrwsurasak 1:5e6c5fbd48d6 331 */
nsrwsurasak 1:5e6c5fbd48d6 332 void ClearFileNameBuf()
nsrwsurasak 1:5e6c5fbd48d6 333 {
nsrwsurasak 1:5e6c5fbd48d6 334 /* Clear buffer */
nsrwsurasak 1:5e6c5fbd48d6 335 memset(FileName,' ',MSG2FILENAME);
nsrwsurasak 1:5e6c5fbd48d6 336 }