1st release (without comment)

Committer:
nsrwsurasak
Date:
Thu Sep 15 08:58:30 2016 +0000
Revision:
2:38567b4310a4
Parent:
1:5e6c5fbd48d6
Child:
3:ff36fb2cefb0
Fix bug

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 2:38567b4310a4 119
nsrwsurasak 0:bc10ea82aec3 120 }
nsrwsurasak 1:5e6c5fbd48d6 121 /* Content buffer are full */
nsrwsurasak 1:5e6c5fbd48d6 122 if(Content_index == CONTENT_BUF_SIZE)
nsrwsurasak 1:5e6c5fbd48d6 123 {
nsrwsurasak 1:5e6c5fbd48d6 124 /* Call function for check contents */
nsrwsurasak 2:38567b4310a4 125 ClearCmdIndexAndBuf();
nsrwsurasak 2:38567b4310a4 126 ClearContentIndexAndBuf();
nsrwsurasak 2:38567b4310a4 127 ClearFileNameBuf();
nsrwsurasak 2:38567b4310a4 128 serial_device.printf("\n -- File is too large!!\n");
nsrwsurasak 1:5e6c5fbd48d6 129 }
nsrwsurasak 1:5e6c5fbd48d6 130 }
nsrwsurasak 1:5e6c5fbd48d6 131
nsrwsurasak 1:5e6c5fbd48d6 132 /**
nsrwsurasak 1:5e6c5fbd48d6 133 * @brief Checking and processing command type
nsrwsurasak 1:5e6c5fbd48d6 134 * @note $ls, $ed, $rd, $rs and $df and etc.
nsrwsurasak 1:5e6c5fbd48d6 135 * @retval
nsrwsurasak 1:5e6c5fbd48d6 136 */
nsrwsurasak 1:5e6c5fbd48d6 137 void CheckCmdType()
nsrwsurasak 1:5e6c5fbd48d6 138 {
nsrwsurasak 1:5e6c5fbd48d6 139 // Note : Procese the command type and file name
nsrwsurasak 0:bc10ea82aec3 140
nsrwsurasak 1:5e6c5fbd48d6 141 /* Command type is list file ($ls) */
nsrwsurasak 1:5e6c5fbd48d6 142 if(strstr(Msg_RxBuf,CMD_LISTFILE))
nsrwsurasak 0:bc10ea82aec3 143 {
nsrwsurasak 1:5e6c5fbd48d6 144 /* Set REQ_LISTDIR event's reqFileCmdType */
nsrwsurasak 1:5e6c5fbd48d6 145 reqFileCmdType = REQ_LISTDIR;
nsrwsurasak 1:5e6c5fbd48d6 146
nsrwsurasak 1:5e6c5fbd48d6 147 /* Set flag evetnt */
nsrwsurasak 1:5e6c5fbd48d6 148 /* Waiting! main program call event */
nsrwsurasak 1:5e6c5fbd48d6 149 UART_File_event = true;
nsrwsurasak 1:5e6c5fbd48d6 150
nsrwsurasak 1:5e6c5fbd48d6 151 /* Clear command index and buffer */
nsrwsurasak 1:5e6c5fbd48d6 152 ClearCmdIndexAndBuf();
nsrwsurasak 0:bc10ea82aec3 153 }
nsrwsurasak 1:5e6c5fbd48d6 154 /* Got the *.csv file name */
nsrwsurasak 1:5e6c5fbd48d6 155 else if(strstr(Msg_RxBuf,FOUND_CSV_FILE))
nsrwsurasak 0:bc10ea82aec3 156 {
nsrwsurasak 1:5e6c5fbd48d6 157 /* Categorization ommand type */
nsrwsurasak 0:bc10ea82aec3 158 CheckReadEditCmd();
nsrwsurasak 0:bc10ea82aec3 159 }
nsrwsurasak 1:5e6c5fbd48d6 160 /* Got the *.xml file name */
nsrwsurasak 1:5e6c5fbd48d6 161 else if(strstr(Msg_RxBuf,FOUND_XML_FILE))
nsrwsurasak 0:bc10ea82aec3 162 {
nsrwsurasak 1:5e6c5fbd48d6 163 /* Categorization command type */
nsrwsurasak 1:5e6c5fbd48d6 164 CheckReadEditCmd();
nsrwsurasak 1:5e6c5fbd48d6 165 }
nsrwsurasak 1:5e6c5fbd48d6 166 /* Got the *.log file name */
nsrwsurasak 1:5e6c5fbd48d6 167 else if(strstr(Msg_RxBuf,FOUND_LOG_FILE))
nsrwsurasak 1:5e6c5fbd48d6 168 {
nsrwsurasak 1:5e6c5fbd48d6 169 /* Categorization command type */
nsrwsurasak 0:bc10ea82aec3 170 CheckReadEditCmd();
nsrwsurasak 0:bc10ea82aec3 171 }
nsrwsurasak 1:5e6c5fbd48d6 172 /* Command type is system restart ($rs) */
nsrwsurasak 1:5e6c5fbd48d6 173 else if(strstr(Msg_RxBuf,CMD_SYS_RESTART))
nsrwsurasak 1:5e6c5fbd48d6 174 {
nsrwsurasak 1:5e6c5fbd48d6 175 /* Request system restart */
nsrwsurasak 1:5e6c5fbd48d6 176 NVIC_SystemReset();
nsrwsurasak 1:5e6c5fbd48d6 177 }
nsrwsurasak 1:5e6c5fbd48d6 178 /* Command may be mismatched type */
nsrwsurasak 1:5e6c5fbd48d6 179 else
nsrwsurasak 0:bc10ea82aec3 180 {
nsrwsurasak 1:5e6c5fbd48d6 181 /* Not receive true type command */
nsrwsurasak 2:38567b4310a4 182 if(Msg_index >= MSG2CMD)
nsrwsurasak 0:bc10ea82aec3 183 {
nsrwsurasak 1:5e6c5fbd48d6 184 if(!((strstr(Msg_RxBuf,CMD_LISTFILE)) ||
nsrwsurasak 1:5e6c5fbd48d6 185 (strstr(Msg_RxBuf,CMD_READFILE)) ||
nsrwsurasak 1:5e6c5fbd48d6 186 (strstr(Msg_RxBuf,CMD_WRITEFILE) ||
nsrwsurasak 1:5e6c5fbd48d6 187 (strstr(Msg_RxBuf,CMD_DELETEFILE)))))
nsrwsurasak 1:5e6c5fbd48d6 188 {
nsrwsurasak 1:5e6c5fbd48d6 189 /* Call command error function */
nsrwsurasak 1:5e6c5fbd48d6 190 GetCmdError();
nsrwsurasak 1:5e6c5fbd48d6 191 }
nsrwsurasak 0:bc10ea82aec3 192 }
nsrwsurasak 0:bc10ea82aec3 193 }
nsrwsurasak 1:5e6c5fbd48d6 194
nsrwsurasak 1:5e6c5fbd48d6 195 /* Command and file name buffer are full */
nsrwsurasak 0:bc10ea82aec3 196 if(Msg_index == MSG_BUF_SIZE)
nsrwsurasak 0:bc10ea82aec3 197 {
nsrwsurasak 1:5e6c5fbd48d6 198 /* Clear command index and buffer */
nsrwsurasak 0:bc10ea82aec3 199 ClearCmdIndexAndBuf();
nsrwsurasak 0:bc10ea82aec3 200 }
nsrwsurasak 0:bc10ea82aec3 201 }
nsrwsurasak 0:bc10ea82aec3 202
nsrwsurasak 0:bc10ea82aec3 203 /**
nsrwsurasak 1:5e6c5fbd48d6 204 * @brief Categorization commands type
nsrwsurasak 1:5e6c5fbd48d6 205 * @note Received file name and type
nsrwsurasak 0:bc10ea82aec3 206 * @retval
nsrwsurasak 0:bc10ea82aec3 207 */
nsrwsurasak 0:bc10ea82aec3 208 void CheckReadEditCmd()
nsrwsurasak 0:bc10ea82aec3 209 {
nsrwsurasak 1:5e6c5fbd48d6 210 /* Command type is read file ($rd) */
nsrwsurasak 1:5e6c5fbd48d6 211 if(strstr(Msg_RxBuf,CMD_READFILE))
nsrwsurasak 0:bc10ea82aec3 212 {
nsrwsurasak 1:5e6c5fbd48d6 213 /* Check file name */
nsrwsurasak 0:bc10ea82aec3 214 GetFileName();
nsrwsurasak 1:5e6c5fbd48d6 215
nsrwsurasak 1:5e6c5fbd48d6 216 /* Set REQ_READ event's reqFileCmdType */
nsrwsurasak 1:5e6c5fbd48d6 217 reqFileCmdType = REQ_READ;
nsrwsurasak 1:5e6c5fbd48d6 218
nsrwsurasak 1:5e6c5fbd48d6 219 /* Set flag evetnt */
nsrwsurasak 1:5e6c5fbd48d6 220 /* Waiting! main program call event */
nsrwsurasak 1:5e6c5fbd48d6 221 UART_File_event = true;
nsrwsurasak 0:bc10ea82aec3 222 }
nsrwsurasak 1:5e6c5fbd48d6 223 /* Command type is write/create file ($ed) */
nsrwsurasak 1:5e6c5fbd48d6 224 else if(strstr(Msg_RxBuf,CMD_WRITEFILE))
nsrwsurasak 0:bc10ea82aec3 225 {
nsrwsurasak 1:5e6c5fbd48d6 226 /* Check file name */
nsrwsurasak 0:bc10ea82aec3 227 GetFileName();
nsrwsurasak 1:5e6c5fbd48d6 228
nsrwsurasak 1:5e6c5fbd48d6 229 /* Set event flag for fill contents buffer */
nsrwsurasak 1:5e6c5fbd48d6 230 MsgContentManagement = true;
nsrwsurasak 2:38567b4310a4 231
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 }