1st release (without comment)

Committer:
Lucyjungz
Date:
Fri Sep 16 01:15:34 2016 +0000
Revision:
6:e4022b92f008
Parent:
5:4ffe57c4bfaa
Child:
8:f08bb4074bc8
Edit help Message

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 4:cd5fb2575b50 125 serial_device.printf("\n -- File is too large!!\r\n");
nsrwsurasak 2:38567b4310a4 126 ClearCmdIndexAndBuf();
nsrwsurasak 2:38567b4310a4 127 ClearContentIndexAndBuf();
nsrwsurasak 2:38567b4310a4 128 ClearFileNameBuf();
nsrwsurasak 3:ff36fb2cefb0 129 MsgContentManagement = false;
nsrwsurasak 3:ff36fb2cefb0 130
nsrwsurasak 1:5e6c5fbd48d6 131 }
nsrwsurasak 1:5e6c5fbd48d6 132 }
nsrwsurasak 1:5e6c5fbd48d6 133
nsrwsurasak 1:5e6c5fbd48d6 134 /**
nsrwsurasak 1:5e6c5fbd48d6 135 * @brief Checking and processing command type
nsrwsurasak 1:5e6c5fbd48d6 136 * @note $ls, $ed, $rd, $rs and $df and etc.
nsrwsurasak 1:5e6c5fbd48d6 137 * @retval
nsrwsurasak 1:5e6c5fbd48d6 138 */
nsrwsurasak 1:5e6c5fbd48d6 139 void CheckCmdType()
nsrwsurasak 1:5e6c5fbd48d6 140 {
nsrwsurasak 1:5e6c5fbd48d6 141 // Note : Procese the command type and file name
nsrwsurasak 0:bc10ea82aec3 142
nsrwsurasak 1:5e6c5fbd48d6 143 /* Command type is list file ($ls) */
nsrwsurasak 1:5e6c5fbd48d6 144 if(strstr(Msg_RxBuf,CMD_LISTFILE))
nsrwsurasak 0:bc10ea82aec3 145 {
nsrwsurasak 1:5e6c5fbd48d6 146 /* Set REQ_LISTDIR event's reqFileCmdType */
nsrwsurasak 1:5e6c5fbd48d6 147 reqFileCmdType = REQ_LISTDIR;
nsrwsurasak 1:5e6c5fbd48d6 148
nsrwsurasak 1:5e6c5fbd48d6 149 /* Set flag evetnt */
nsrwsurasak 1:5e6c5fbd48d6 150 /* Waiting! main program call event */
nsrwsurasak 1:5e6c5fbd48d6 151 UART_File_event = true;
nsrwsurasak 1:5e6c5fbd48d6 152
nsrwsurasak 1:5e6c5fbd48d6 153 /* Clear command index and buffer */
nsrwsurasak 1:5e6c5fbd48d6 154 ClearCmdIndexAndBuf();
nsrwsurasak 0:bc10ea82aec3 155 }
nsrwsurasak 1:5e6c5fbd48d6 156 /* Got the *.csv file name */
nsrwsurasak 1:5e6c5fbd48d6 157 else if(strstr(Msg_RxBuf,FOUND_CSV_FILE))
nsrwsurasak 0:bc10ea82aec3 158 {
nsrwsurasak 1:5e6c5fbd48d6 159 /* Categorization ommand type */
nsrwsurasak 0:bc10ea82aec3 160 CheckReadEditCmd();
nsrwsurasak 0:bc10ea82aec3 161 }
nsrwsurasak 1:5e6c5fbd48d6 162 /* Got the *.xml file name */
nsrwsurasak 1:5e6c5fbd48d6 163 else if(strstr(Msg_RxBuf,FOUND_XML_FILE))
nsrwsurasak 0:bc10ea82aec3 164 {
nsrwsurasak 1:5e6c5fbd48d6 165 /* Categorization command type */
nsrwsurasak 1:5e6c5fbd48d6 166 CheckReadEditCmd();
nsrwsurasak 1:5e6c5fbd48d6 167 }
nsrwsurasak 1:5e6c5fbd48d6 168 /* Got the *.log file name */
nsrwsurasak 1:5e6c5fbd48d6 169 else if(strstr(Msg_RxBuf,FOUND_LOG_FILE))
nsrwsurasak 1:5e6c5fbd48d6 170 {
nsrwsurasak 1:5e6c5fbd48d6 171 /* Categorization command type */
nsrwsurasak 0:bc10ea82aec3 172 CheckReadEditCmd();
nsrwsurasak 0:bc10ea82aec3 173 }
nsrwsurasak 1:5e6c5fbd48d6 174 /* Command type is system restart ($rs) */
nsrwsurasak 1:5e6c5fbd48d6 175 else if(strstr(Msg_RxBuf,CMD_SYS_RESTART))
nsrwsurasak 1:5e6c5fbd48d6 176 {
nsrwsurasak 1:5e6c5fbd48d6 177 /* Request system restart */
nsrwsurasak 1:5e6c5fbd48d6 178 NVIC_SystemReset();
nsrwsurasak 1:5e6c5fbd48d6 179 }
nsrwsurasak 4:cd5fb2575b50 180 /* Command type is help ($-h) */
nsrwsurasak 4:cd5fb2575b50 181 else if(strstr(Msg_RxBuf,CMD_HELP))
nsrwsurasak 4:cd5fb2575b50 182 {
nsrwsurasak 4:cd5fb2575b50 183 /* List all command */
nsrwsurasak 4:cd5fb2575b50 184 GetHelpCmd();
nsrwsurasak 4:cd5fb2575b50 185 }
nsrwsurasak 1:5e6c5fbd48d6 186 /* Command may be mismatched type */
nsrwsurasak 1:5e6c5fbd48d6 187 else
nsrwsurasak 0:bc10ea82aec3 188 {
nsrwsurasak 1:5e6c5fbd48d6 189 /* Not receive true type command */
nsrwsurasak 2:38567b4310a4 190 if(Msg_index >= MSG2CMD)
nsrwsurasak 0:bc10ea82aec3 191 {
nsrwsurasak 4:cd5fb2575b50 192 if(!((strstr(Msg_RxBuf,CMD_LISTFILE)) ||
nsrwsurasak 1:5e6c5fbd48d6 193 (strstr(Msg_RxBuf,CMD_READFILE)) ||
nsrwsurasak 4:cd5fb2575b50 194 (strstr(Msg_RxBuf,CMD_WRITEFILE) ||
nsrwsurasak 5:4ffe57c4bfaa 195 (strstr(Msg_RxBuf,CMD_HELP)) ||
nsrwsurasak 1:5e6c5fbd48d6 196 (strstr(Msg_RxBuf,CMD_DELETEFILE)))))
nsrwsurasak 1:5e6c5fbd48d6 197 {
nsrwsurasak 1:5e6c5fbd48d6 198 /* Call command error function */
nsrwsurasak 1:5e6c5fbd48d6 199 GetCmdError();
nsrwsurasak 1:5e6c5fbd48d6 200 }
nsrwsurasak 0:bc10ea82aec3 201 }
nsrwsurasak 0:bc10ea82aec3 202 }
nsrwsurasak 1:5e6c5fbd48d6 203
nsrwsurasak 1:5e6c5fbd48d6 204 /* Command and file name buffer are full */
nsrwsurasak 0:bc10ea82aec3 205 if(Msg_index == MSG_BUF_SIZE)
nsrwsurasak 0:bc10ea82aec3 206 {
nsrwsurasak 1:5e6c5fbd48d6 207 /* Clear command index and buffer */
nsrwsurasak 0:bc10ea82aec3 208 ClearCmdIndexAndBuf();
nsrwsurasak 0:bc10ea82aec3 209 }
nsrwsurasak 0:bc10ea82aec3 210 }
nsrwsurasak 0:bc10ea82aec3 211
nsrwsurasak 0:bc10ea82aec3 212 /**
nsrwsurasak 1:5e6c5fbd48d6 213 * @brief Categorization commands type
nsrwsurasak 1:5e6c5fbd48d6 214 * @note Received file name and type
nsrwsurasak 0:bc10ea82aec3 215 * @retval
nsrwsurasak 0:bc10ea82aec3 216 */
nsrwsurasak 0:bc10ea82aec3 217 void CheckReadEditCmd()
nsrwsurasak 0:bc10ea82aec3 218 {
nsrwsurasak 1:5e6c5fbd48d6 219 /* Command type is read file ($rd) */
nsrwsurasak 1:5e6c5fbd48d6 220 if(strstr(Msg_RxBuf,CMD_READFILE))
nsrwsurasak 0:bc10ea82aec3 221 {
nsrwsurasak 1:5e6c5fbd48d6 222 /* Check file name */
nsrwsurasak 0:bc10ea82aec3 223 GetFileName();
nsrwsurasak 1:5e6c5fbd48d6 224
nsrwsurasak 1:5e6c5fbd48d6 225 /* Set REQ_READ event's reqFileCmdType */
nsrwsurasak 1:5e6c5fbd48d6 226 reqFileCmdType = REQ_READ;
nsrwsurasak 1:5e6c5fbd48d6 227
nsrwsurasak 1:5e6c5fbd48d6 228 /* Set flag evetnt */
nsrwsurasak 1:5e6c5fbd48d6 229 /* Waiting! main program call event */
nsrwsurasak 1:5e6c5fbd48d6 230 UART_File_event = true;
nsrwsurasak 0:bc10ea82aec3 231 }
nsrwsurasak 1:5e6c5fbd48d6 232 /* Command type is write/create file ($ed) */
nsrwsurasak 1:5e6c5fbd48d6 233 else if(strstr(Msg_RxBuf,CMD_WRITEFILE))
nsrwsurasak 0:bc10ea82aec3 234 {
nsrwsurasak 1:5e6c5fbd48d6 235 /* Check file name */
nsrwsurasak 0:bc10ea82aec3 236 GetFileName();
nsrwsurasak 1:5e6c5fbd48d6 237
nsrwsurasak 1:5e6c5fbd48d6 238 /* Set event flag for fill contents buffer */
nsrwsurasak 1:5e6c5fbd48d6 239 MsgContentManagement = true;
nsrwsurasak 2:38567b4310a4 240
nsrwsurasak 1:5e6c5fbd48d6 241 }
nsrwsurasak 1:5e6c5fbd48d6 242 /* Command type is delete ($df) */
nsrwsurasak 1:5e6c5fbd48d6 243 else if(strstr(Msg_RxBuf,CMD_DELETEFILE))
nsrwsurasak 1:5e6c5fbd48d6 244 {
nsrwsurasak 1:5e6c5fbd48d6 245 /* Check file name */
nsrwsurasak 1:5e6c5fbd48d6 246 GetFileName();
nsrwsurasak 1:5e6c5fbd48d6 247
nsrwsurasak 1:5e6c5fbd48d6 248 /* Set REQ_DELETE event's reqFileCmdType */
nsrwsurasak 1:5e6c5fbd48d6 249 reqFileCmdType = REQ_DELETE;
nsrwsurasak 1:5e6c5fbd48d6 250
nsrwsurasak 1:5e6c5fbd48d6 251 /* Set flag evetnt */
nsrwsurasak 1:5e6c5fbd48d6 252 /* Waiting! main program call event */
nsrwsurasak 1:5e6c5fbd48d6 253 UART_File_event = true;
nsrwsurasak 0:bc10ea82aec3 254 }
nsrwsurasak 0:bc10ea82aec3 255 else
nsrwsurasak 0:bc10ea82aec3 256 {
nsrwsurasak 1:5e6c5fbd48d6 257 /* Call command error function */
nsrwsurasak 0:bc10ea82aec3 258 GetCmdError();
nsrwsurasak 0:bc10ea82aec3 259 }
nsrwsurasak 0:bc10ea82aec3 260 }
nsrwsurasak 0:bc10ea82aec3 261
nsrwsurasak 0:bc10ea82aec3 262 /**
nsrwsurasak 1:5e6c5fbd48d6 263 * @brief Received command error
nsrwsurasak 1:5e6c5fbd48d6 264 * @note $??
nsrwsurasak 0:bc10ea82aec3 265 * @retval
nsrwsurasak 0:bc10ea82aec3 266 */
nsrwsurasak 0:bc10ea82aec3 267 void GetCmdError()
nsrwsurasak 0:bc10ea82aec3 268 {
nsrwsurasak 1:5e6c5fbd48d6 269 serial_device.printf("$%s -- Command Error %s\n",Msg_RxBuf);
nsrwsurasak 1:5e6c5fbd48d6 270
nsrwsurasak 1:5e6c5fbd48d6 271 /* Clear command index and buffer */
nsrwsurasak 0:bc10ea82aec3 272 ClearCmdIndexAndBuf();
nsrwsurasak 0:bc10ea82aec3 273 }
nsrwsurasak 0:bc10ea82aec3 274
nsrwsurasak 0:bc10ea82aec3 275 /**
nsrwsurasak 1:5e6c5fbd48d6 276 * @brief FileName process
nsrwsurasak 1:5e6c5fbd48d6 277 * @note Fill file name as buffer
nsrwsurasak 0:bc10ea82aec3 278 * @retval
nsrwsurasak 0:bc10ea82aec3 279 */
nsrwsurasak 0:bc10ea82aec3 280 void GetFileName()
nsrwsurasak 0:bc10ea82aec3 281 {
nsrwsurasak 1:5e6c5fbd48d6 282 /* Copy file name from Msg to FileName */
nsrwsurasak 0:bc10ea82aec3 283 memcpy(FileName,&Msg_RxBuf[3],Msg_index - 3);
nsrwsurasak 1:5e6c5fbd48d6 284
nsrwsurasak 1:5e6c5fbd48d6 285 /* Clear command index and buffer */
nsrwsurasak 0:bc10ea82aec3 286 ClearCmdIndexAndBuf();
nsrwsurasak 0:bc10ea82aec3 287 }
nsrwsurasak 0:bc10ea82aec3 288
nsrwsurasak 0:bc10ea82aec3 289 /**
nsrwsurasak 1:5e6c5fbd48d6 290 * @brief Request sent contents to main
nsrwsurasak 1:5e6c5fbd48d6 291 * @note
nsrwsurasak 0:bc10ea82aec3 292 * @retval
nsrwsurasak 0:bc10ea82aec3 293 */
nsrwsurasak 0:bc10ea82aec3 294 void SendContentToFile()
nsrwsurasak 0:bc10ea82aec3 295 {
nsrwsurasak 1:5e6c5fbd48d6 296 /* Set fill buffer to command */
nsrwsurasak 0:bc10ea82aec3 297 MsgContentManagement = true;
nsrwsurasak 1:5e6c5fbd48d6 298
nsrwsurasak 1:5e6c5fbd48d6 299 /* Set REQ_WRITE event's reqFileCmdType */
nsrwsurasak 1:5e6c5fbd48d6 300 reqFileCmdType = REQ_WRITE;
nsrwsurasak 1:5e6c5fbd48d6 301
nsrwsurasak 1:5e6c5fbd48d6 302 /* Set flag evetnt */
nsrwsurasak 1:5e6c5fbd48d6 303 /* Waiting! main program call event */
nsrwsurasak 1:5e6c5fbd48d6 304 UART_File_event = true;
nsrwsurasak 1:5e6c5fbd48d6 305
nsrwsurasak 0:bc10ea82aec3 306 }
nsrwsurasak 0:bc10ea82aec3 307
nsrwsurasak 0:bc10ea82aec3 308 /**
nsrwsurasak 4:cd5fb2575b50 309 * @brief Command help
nsrwsurasak 4:cd5fb2575b50 310 * @note $-h
nsrwsurasak 4:cd5fb2575b50 311 * @retval
nsrwsurasak 4:cd5fb2575b50 312 */
nsrwsurasak 4:cd5fb2575b50 313 void GetHelpCmd()
nsrwsurasak 4:cd5fb2575b50 314 {
Lucyjungz 6:e4022b92f008 315 serial_device.printf("\r\n$ls : List fils as in directory");
Lucyjungz 6:e4022b92f008 316 serial_device.printf("\r\n$rd [File Name] : Read fils as file name");
Lucyjungz 6:e4022b92f008 317 serial_device.printf("\r\n$df [File Name] : Delete fils as file name");
Lucyjungz 6:e4022b92f008 318 serial_device.printf("\r\n$ed [File Name] [Content] : Write/Create fils as in directory with content");
Lucyjungz 6:e4022b92f008 319 serial_device.printf("\r\n Note : Content must contain EOF signature (*end*) to indicate end of file");
Lucyjungz 6:e4022b92f008 320 serial_device.printf("\r\n e.g. ed TestFile.xml test content *end*");
Lucyjungz 6:e4022b92f008 321 serial_device.printf("\r\n$rs : Mini-RMS system restart");
nsrwsurasak 4:cd5fb2575b50 322
nsrwsurasak 4:cd5fb2575b50 323 /* Clear buffer */
nsrwsurasak 4:cd5fb2575b50 324 ClearCmdIndexAndBuf();
nsrwsurasak 4:cd5fb2575b50 325 }
nsrwsurasak 4:cd5fb2575b50 326 /**
nsrwsurasak 1:5e6c5fbd48d6 327 * @brief Clear index and buffer of command and file name
nsrwsurasak 1:5e6c5fbd48d6 328 * @note
nsrwsurasak 0:bc10ea82aec3 329 * @retval
nsrwsurasak 0:bc10ea82aec3 330 */
nsrwsurasak 0:bc10ea82aec3 331 void ClearCmdIndexAndBuf()
nsrwsurasak 0:bc10ea82aec3 332 {
nsrwsurasak 1:5e6c5fbd48d6 333 /* Clear counter */
nsrwsurasak 0:bc10ea82aec3 334 Msg_index = 0;
nsrwsurasak 1:5e6c5fbd48d6 335
nsrwsurasak 1:5e6c5fbd48d6 336 /* Clear buffer */
nsrwsurasak 0:bc10ea82aec3 337 memset(Msg_RxBuf,' ',MSG_BUF_SIZE);
nsrwsurasak 0:bc10ea82aec3 338 }
nsrwsurasak 0:bc10ea82aec3 339
nsrwsurasak 0:bc10ea82aec3 340 /**
nsrwsurasak 1:5e6c5fbd48d6 341 * @brief Clear index and buffer of contents
nsrwsurasak 0:bc10ea82aec3 342 * @note
nsrwsurasak 0:bc10ea82aec3 343 * @retval
nsrwsurasak 0:bc10ea82aec3 344 */
nsrwsurasak 0:bc10ea82aec3 345 void ClearContentIndexAndBuf()
nsrwsurasak 0:bc10ea82aec3 346 {
nsrwsurasak 1:5e6c5fbd48d6 347 /* Clear counter */
nsrwsurasak 0:bc10ea82aec3 348 Content_index = 0;
nsrwsurasak 1:5e6c5fbd48d6 349
nsrwsurasak 1:5e6c5fbd48d6 350 /* Clear buffer */
nsrwsurasak 0:bc10ea82aec3 351 memset(Content_RxBuf,' ',CONTENT_BUF_SIZE);
nsrwsurasak 0:bc10ea82aec3 352 }
nsrwsurasak 1:5e6c5fbd48d6 353
nsrwsurasak 1:5e6c5fbd48d6 354 /**
nsrwsurasak 1:5e6c5fbd48d6 355 * @brief Clear fileName buffer
nsrwsurasak 1:5e6c5fbd48d6 356 * @note
nsrwsurasak 1:5e6c5fbd48d6 357 * @retval
nsrwsurasak 1:5e6c5fbd48d6 358 */
nsrwsurasak 1:5e6c5fbd48d6 359 void ClearFileNameBuf()
nsrwsurasak 1:5e6c5fbd48d6 360 {
nsrwsurasak 1:5e6c5fbd48d6 361 /* Clear buffer */
nsrwsurasak 1:5e6c5fbd48d6 362 memset(FileName,' ',MSG2FILENAME);
nsrwsurasak 4:cd5fb2575b50 363 }