Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: WebSocketServerTest
Fork of SNICInterface_mod by
SNIC/SNIC_UartCommandManager.h@23:4ff2231ff9ba, 2014-03-27 (annotated)
- Committer:
 - kishino
 - Date:
 - Thu Mar 27 10:11:59 2014 +0000
 - Revision:
 - 23:4ff2231ff9ba
 - Parent:
 - 21:dda155fe5048
 - Child:
 - 25:67183ed15708
 
Modified the description of classes.
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| kishino | 20:dd736d328de6 | 1 | /******************* Murata Manufacturing Co.,Ltd. 2014 ***************** | 
| kishino | 20:dd736d328de6 | 2 | * | 
| kishino | 20:dd736d328de6 | 3 | * Filename: SNIC_UartCommandManager.h | 
| kishino | 20:dd736d328de6 | 4 | * | 
| kishino | 20:dd736d328de6 | 5 | * Purpose: This module has define of function for management of | 
| kishino | 20:dd736d328de6 | 6 | SNIC UART Command. | 
| kishino | 20:dd736d328de6 | 7 | * | 
| kishino | 20:dd736d328de6 | 8 | * $Author: kishino $ | 
| kishino | 20:dd736d328de6 | 9 | * | 
| kishino | 20:dd736d328de6 | 10 | * $Date: 2014/03/26 $ | 
| kishino | 20:dd736d328de6 | 11 | * | 
| kishino | 20:dd736d328de6 | 12 | * $Revision: 0.0.0.1 $ | 
| kishino | 20:dd736d328de6 | 13 | * ***********************************************************************/ | 
| kishino | 20:dd736d328de6 | 14 | #ifndef _SNIC_UART_COMMAND_MANAGER_H_ | 
| kishino | 20:dd736d328de6 | 15 | #define _SNIC_UART_COMMAND_MANAGER_H_ | 
| kishino | 20:dd736d328de6 | 16 | #include "mbed.h" | 
| kishino | 20:dd736d328de6 | 17 | #include "rtos.h" | 
| kishino | 20:dd736d328de6 | 18 | |
| kishino | 20:dd736d328de6 | 19 | namespace murata_wifi | 
| kishino | 20:dd736d328de6 | 20 | { | 
| kishino | 20:dd736d328de6 | 21 | /** Max length of SSID */ | 
| kishino | 20:dd736d328de6 | 22 | #define SSID_MAX_LENGTH 32 | 
| kishino | 20:dd736d328de6 | 23 | /** Max length of BSSID */ | 
| kishino | 20:dd736d328de6 | 24 | #define BSSID_MAC_LENTH 6 | 
| kishino | 20:dd736d328de6 | 25 | /** Length of Country code */ | 
| kishino | 20:dd736d328de6 | 26 | #define COUNTRYC_CODE_LENTH 2 | 
| kishino | 20:dd736d328de6 | 27 | |
| kishino | 20:dd736d328de6 | 28 | /** Wait signal ID of UART command */ | 
| kishino | 20:dd736d328de6 | 29 | #define UART_COMMAND_SIGNAL 0x00000001 | 
| kishino | 20:dd736d328de6 | 30 | /** Timeout of UART command wait(ms)*/ | 
| kishino | 20:dd736d328de6 | 31 | #define UART_COMMAND_WAIT_TIMEOUT 10000 | 
| kishino | 20:dd736d328de6 | 32 | |
| kishino | 23:4ff2231ff9ba | 33 | /** Scan result structure used by scanresults handler | 
| kishino | 20:dd736d328de6 | 34 | */ | 
| kishino | 20:dd736d328de6 | 35 | typedef struct { | 
| kishino | 20:dd736d328de6 | 36 | bool is_complete; | 
| kishino | 20:dd736d328de6 | 37 | /** Channel */ | 
| kishino | 20:dd736d328de6 | 38 | unsigned char channel; | 
| kishino | 20:dd736d328de6 | 39 | /** RSSI */ | 
| kishino | 20:dd736d328de6 | 40 | signed char rssi; | 
| kishino | 20:dd736d328de6 | 41 | /** Security type */ | 
| kishino | 20:dd736d328de6 | 42 | unsigned char security; | 
| kishino | 20:dd736d328de6 | 43 | /** BSSID */ | 
| kishino | 20:dd736d328de6 | 44 | unsigned char bssid[BSSID_MAC_LENTH]; | 
| kishino | 20:dd736d328de6 | 45 | /** Network type */ | 
| kishino | 20:dd736d328de6 | 46 | unsigned char network_type; | 
| kishino | 20:dd736d328de6 | 47 | /** Max data rate */ | 
| kishino | 20:dd736d328de6 | 48 | unsigned char max_rate; | 
| kishino | 20:dd736d328de6 | 49 | /** SSID */ | 
| kishino | 20:dd736d328de6 | 50 | char ssid[SSID_MAX_LENGTH+1]; | 
| kishino | 20:dd736d328de6 | 51 | }tagSCAN_RESULT_T; | 
| kishino | 20:dd736d328de6 | 52 | |
| kishino | 23:4ff2231ff9ba | 53 | /** Internal class for managing the SNIC UART command. | 
| kishino | 20:dd736d328de6 | 54 | */ | 
| kishino | 20:dd736d328de6 | 55 | class C_SNIC_UartCommandManager | 
| kishino | 20:dd736d328de6 | 56 | { | 
| kishino | 21:dda155fe5048 | 57 | friend class C_SNIC_Core; | 
| kishino | 21:dda155fe5048 | 58 | friend class C_SNIC_WifiInterface; | 
| kishino | 21:dda155fe5048 | 59 | friend class TCPSocketConnection; | 
| kishino | 21:dda155fe5048 | 60 | friend class Socket; | 
| kishino | 21:dda155fe5048 | 61 | |
| kishino | 21:dda155fe5048 | 62 | private: | 
| kishino | 20:dd736d328de6 | 63 | /** Set Command ID | 
| kishino | 20:dd736d328de6 | 64 | @param cmd_id Command ID | 
| kishino | 20:dd736d328de6 | 65 | */ | 
| kishino | 20:dd736d328de6 | 66 | void setCommandID( unsigned char cmd_id ); | 
| kishino | 20:dd736d328de6 | 67 | |
| kishino | 20:dd736d328de6 | 68 | /** Get Command ID | 
| kishino | 20:dd736d328de6 | 69 | @return Command ID | 
| kishino | 20:dd736d328de6 | 70 | */ | 
| kishino | 20:dd736d328de6 | 71 | unsigned char getCommandID(); | 
| kishino | 20:dd736d328de6 | 72 | |
| kishino | 20:dd736d328de6 | 73 | /** Set Command SubID | 
| kishino | 20:dd736d328de6 | 74 | @param cmd_sid Command Sub ID | 
| kishino | 20:dd736d328de6 | 75 | */ | 
| kishino | 20:dd736d328de6 | 76 | void setCommandSID( unsigned char cmd_sid ); | 
| kishino | 20:dd736d328de6 | 77 | |
| kishino | 20:dd736d328de6 | 78 | /** Get Command SubID | 
| kishino | 20:dd736d328de6 | 79 | @return Command Sub ID | 
| kishino | 20:dd736d328de6 | 80 | */ | 
| kishino | 20:dd736d328de6 | 81 | unsigned char getCommandSID(); | 
| kishino | 20:dd736d328de6 | 82 | |
| kishino | 20:dd736d328de6 | 83 | /** Set Command status | 
| kishino | 20:dd736d328de6 | 84 | @param status Command status | 
| kishino | 20:dd736d328de6 | 85 | */ | 
| kishino | 20:dd736d328de6 | 86 | void setCommandStatus( unsigned char status ); | 
| kishino | 20:dd736d328de6 | 87 | |
| kishino | 20:dd736d328de6 | 88 | /** Get Command status | 
| kishino | 20:dd736d328de6 | 89 | @return Command status | 
| kishino | 20:dd736d328de6 | 90 | */ | 
| kishino | 20:dd736d328de6 | 91 | unsigned char getCommandStatus(); | 
| kishino | 20:dd736d328de6 | 92 | |
| kishino | 20:dd736d328de6 | 93 | /** Set Response buffer | 
| kishino | 20:dd736d328de6 | 94 | @param buf_p Pointer of response buffer | 
| kishino | 20:dd736d328de6 | 95 | */ | 
| kishino | 20:dd736d328de6 | 96 | void setResponseBuf( unsigned char *buf_p ); | 
| kishino | 20:dd736d328de6 | 97 | |
| kishino | 20:dd736d328de6 | 98 | /** Get Response buffer | 
| kishino | 20:dd736d328de6 | 99 | @return Pointer of response buffer | 
| kishino | 20:dd736d328de6 | 100 | */ | 
| kishino | 20:dd736d328de6 | 101 | unsigned char *getResponseBuf(); | 
| kishino | 20:dd736d328de6 | 102 | |
| kishino | 20:dd736d328de6 | 103 | /** Set scan result callback hander | 
| kishino | 20:dd736d328de6 | 104 | @param handler_p Pointer of callback function | 
| kishino | 20:dd736d328de6 | 105 | */ | 
| kishino | 20:dd736d328de6 | 106 | void setScanResultHandler( void (*handler_p)(tagSCAN_RESULT_T *scan_result) ); | 
| kishino | 20:dd736d328de6 | 107 | |
| kishino | 20:dd736d328de6 | 108 | void bufferredPacket( unsigned char *payload_p, int payload_len ); | 
| kishino | 20:dd736d328de6 | 109 | |
| kishino | 20:dd736d328de6 | 110 | void scanResultIndicate( unsigned char *payload_p, int payload_len ); | 
| kishino | 20:dd736d328de6 | 111 | |
| kishino | 20:dd736d328de6 | 112 | /** Checks in the command which is waiting from Command ID and Sub ID. | 
| kishino | 20:dd736d328de6 | 113 | @param command_id Command ID | 
| kishino | 20:dd736d328de6 | 114 | @param payload_p Command payload | 
| kishino | 20:dd736d328de6 | 115 | @return true: Waiting command / false: Not waiting command | 
| kishino | 20:dd736d328de6 | 116 | */ | 
| kishino | 20:dd736d328de6 | 117 | bool isWaitingCommand( unsigned int command_id, unsigned char *payload_p ); | 
| kishino | 20:dd736d328de6 | 118 | |
| kishino | 20:dd736d328de6 | 119 | int wait(); | 
| kishino | 20:dd736d328de6 | 120 | |
| kishino | 20:dd736d328de6 | 121 | int signal(); | 
| kishino | 20:dd736d328de6 | 122 | |
| kishino | 20:dd736d328de6 | 123 | private: | 
| kishino | 20:dd736d328de6 | 124 | /** Command request thread ID */ | 
| kishino | 20:dd736d328de6 | 125 | osThreadId mCommandThreadID; | 
| kishino | 20:dd736d328de6 | 126 | /** Command ID */ | 
| kishino | 20:dd736d328de6 | 127 | unsigned char mCommandID; | 
| kishino | 20:dd736d328de6 | 128 | /** Command SubID */ | 
| kishino | 20:dd736d328de6 | 129 | unsigned char mCommandSID; | 
| kishino | 20:dd736d328de6 | 130 | /** Status of command response */ | 
| kishino | 20:dd736d328de6 | 131 | unsigned char mCommandStatus; | 
| kishino | 20:dd736d328de6 | 132 | /** ResponseData of command response */ | 
| kishino | 20:dd736d328de6 | 133 | unsigned char *mResponseBuf_p; | 
| kishino | 20:dd736d328de6 | 134 | /** Scan result handler */ | 
| kishino | 20:dd736d328de6 | 135 | void (*mScanResultHandler_p)(tagSCAN_RESULT_T *scan_result); | 
| kishino | 20:dd736d328de6 | 136 | }; | 
| kishino | 20:dd736d328de6 | 137 | |
| kishino | 20:dd736d328de6 | 138 | } | 
| kishino | 20:dd736d328de6 | 139 | #endif | 
