for EthernetInterface library compatibility.\\ ** Unoffical fix. may be a problem. **
Dependents: SNIC-httpclient-example SNIC-ntpclient-example
Fork of SNICInterface by
Revision 9:a98b45e766c8, committed 2014-03-18
- Comitter:
- kishino
- Date:
- Tue Mar 18 01:13:52 2014 +0000
- Parent:
- 8:50d2509479cd
- Child:
- 10:49ffd373066b
- Commit message:
- [Refactoring]Updated that function for get buffer from memorypool.
Changed in this revision
--- a/SNICwifi/SNICwifi.cpp Mon Mar 17 11:40:56 2014 +0000
+++ b/SNICwifi/SNICwifi.cpp Tue Mar 18 01:13:52 2014 +0000
@@ -64,6 +64,17 @@
return ret;
}
+tagMEMPOOL_BLOCK_T *C_SNICwifi::getAlocCmdBuf()
+{
+ // Get buffer from MemoryPool
+ return mMemPoolPayload.alloc();
+}
+
+void C_SNICwifi::freeCmdBuf( tagMEMPOOL_BLOCK_T *buf_p )
+{
+ mMemPoolPayload.free( buf_p );
+}
+
void C_SNICwifi::uartRecvThread (void const *args_p) {
C_SNICwifi *instance_p = C_SNICwifi::getInstance();
--- a/SNICwifi/SNICwifi.h Mon Mar 17 11:40:56 2014 +0000
+++ b/SNICwifi/SNICwifi.h Tue Mar 18 01:13:52 2014 +0000
@@ -11,6 +11,13 @@
namespace murata_wifi
{
+#define MEMPOOL_BLOCK_SIZE 2048
+#define MEMPOOL_PAYLOAD_NUM 1
+typedef struct
+{
+ unsigned char buf[MEMPOOL_BLOCK_SIZE];
+}tagMEMPOOL_BLOCK_T;
+
/** C_SNICwifi class
*/
class C_SNICwifi
@@ -56,6 +63,16 @@
e_AP_STARTED
}E_WIFI_STATUS;
+ /** Get buffer for command from memory pool.
+ @return Pointer of buffer
+ */
+ tagMEMPOOL_BLOCK_T *getAlocCmdBuf();
+
+ /** Release buffer to memory pool.
+ @param buf_p Pointer of buffer
+ */
+ void freeCmdBuf( tagMEMPOOL_BLOCK_T *buf_p );
+
protected:
/** GEN_FW_VER_GET_REQ Command */
typedef struct
@@ -157,7 +174,11 @@
/** Receiving thread of UART
*/
static void uartRecvThread( void const *args_p );
-
+
+private:
+ /** MemoryPool for payload of UART response */
+ MemoryPool<tagMEMPOOL_BLOCK_T, MEMPOOL_PAYLOAD_NUM> mMemPoolPayload;
+
};
}
--- a/SNICwifiInterface.cpp Mon Mar 17 11:40:56 2014 +0000
+++ b/SNICwifiInterface.cpp Tue Mar 18 01:13:52 2014 +0000
@@ -5,15 +5,6 @@
#define UART_REQUEST_PAYLOAD_MAX 256
-#define MEMPOOL_BLOCK_SIZE 2048
-typedef struct
-{
- unsigned char buf[MEMPOOL_BLOCK_SIZE];
-}tagMEMPOOL_BLOCK_T;
-#define MEMPOOL_PAYLOAD_NUM 1
-/** MemoryPool for payload of UART response */
-MemoryPool<tagMEMPOOL_BLOCK_T, MEMPOOL_PAYLOAD_NUM> gMEMPOOL_PAYLOAD;
-
C_SNICwifiInterface::C_SNICwifiInterface( PinName tx, PinName rx, PinName cts, PinName rts, PinName reset, PinName alarm, int baud):
C_SNICwifi(tx, rx, cts, rts, reset, alarm, baud)
{
@@ -25,8 +16,8 @@
initUart();
/* Initialize SNIC API */
- // Get buffer for response payloadfrom MemoryPool
- tagMEMPOOL_BLOCK_T *payload_buf = gMEMPOOL_PAYLOAD.alloc();
+ // Get buffer for response payload from MemoryPool
+ tagMEMPOOL_BLOCK_T *payload_buf = getAlocCmdBuf();
if( payload_buf == NULL )
{
printf("snic_init payload_buf NULL\r\n");
@@ -64,7 +55,7 @@
if( ret != 0 )
{
printf( "snic_init failed\r\n" );
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return -1;
}
@@ -73,7 +64,7 @@
printf("snic_init status:%02x\r\n", mUartCommand.getCommandStatus());
ret = -1;
}
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return ret;
}
@@ -81,7 +72,7 @@
int C_SNICwifiInterface::getFWVersion( unsigned char *version_p )
{
// Get buffer for response payload from MemoryPool
- tagMEMPOOL_BLOCK_T *payload_buf = gMEMPOOL_PAYLOAD.alloc();
+ tagMEMPOOL_BLOCK_T *payload_buf = getAlocCmdBuf();
if( payload_buf == NULL )
{
printf("getFWVersion payload_buf NULL\r\n");
@@ -117,7 +108,7 @@
if( ret != 0 )
{
printf( "getFWversion failed\r\n" );
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return -1;
}
@@ -126,7 +117,7 @@
unsigned char version_len = payload_buf->buf[3];
memcpy( version_p, &payload_buf->buf[4], version_len );
}
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return 0;
}
@@ -147,8 +138,8 @@
return -1;
}
- // Get buffer for response payloadfrom MemoryPool
- tagMEMPOOL_BLOCK_T *payload_buf = gMEMPOOL_PAYLOAD.alloc();
+ // Get buffer for response payload from MemoryPool
+ tagMEMPOOL_BLOCK_T *payload_buf = getAlocCmdBuf();
if( payload_buf == NULL )
{
printf("connect payload_buf NULL\r\n");
@@ -206,7 +197,7 @@
if( ret != 0 )
{
printf( "join failed\r\n" );
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return -1;
}
@@ -215,15 +206,15 @@
printf("join status:%02x\r\n", mUartCommand.getCommandStatus());
ret = -1;
}
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return ret;
}
int C_SNICwifiInterface::disconnect()
{
- // Get buffer for response payloadfrom MemoryPool
- tagMEMPOOL_BLOCK_T *payload_buf = gMEMPOOL_PAYLOAD.alloc();
+ // Get buffer for response payload from MemoryPool
+ tagMEMPOOL_BLOCK_T *payload_buf = getAlocCmdBuf();
if( payload_buf == NULL )
{
printf("disconnect payload_buf NULL\r\n");
@@ -259,7 +250,7 @@
if( ret != 0 )
{
printf( "disconnect failed\r\n" );
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return -1;
}
@@ -268,15 +259,15 @@
printf("disconnect status:%02x\r\n", mUartCommand.getCommandStatus());
ret = -1;
}
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return ret;
}
int C_SNICwifiInterface::scan( const char *ssid_p, unsigned char *bssid_p
, void (*result_handler_p)(tagSCAN_RESULT_T *scan_result) )
{
- // Get buffer for response payloadfrom MemoryPool
- tagMEMPOOL_BLOCK_T *payload_buf = gMEMPOOL_PAYLOAD.alloc();
+ // Get buffer for response payload from MemoryPool
+ tagMEMPOOL_BLOCK_T *payload_buf = getAlocCmdBuf();
if( payload_buf == NULL )
{
printf("scan payload_buf NULL\r\n");
@@ -343,7 +334,7 @@
if( ret != 0 )
{
printf( "scan failed\r\n" );
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return -1;
}
@@ -353,7 +344,7 @@
ret = -1;
}
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return ret;
}
@@ -367,8 +358,8 @@
return -1;
}
- // Get buffer for response payloadfrom MemoryPool
- tagMEMPOOL_BLOCK_T *payload_buf = gMEMPOOL_PAYLOAD.alloc();
+ // Get buffer for response payload from MemoryPool
+ tagMEMPOOL_BLOCK_T *payload_buf = getAlocCmdBuf();
if( payload_buf == NULL )
{
printf("wifi_on payload_buf NULL\r\n");
@@ -405,7 +396,7 @@
if( ret != 0 )
{
printf( "wifi_on failed\r\n" );
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return -1;
}
@@ -414,15 +405,15 @@
printf("wifi_on status:%02x\r\n", mUartCommand.getCommandStatus());
ret = -1;
}
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return ret;
}
int C_SNICwifiInterface::wifi_off()
{
- // Get buffer for response payloadfrom MemoryPool
- tagMEMPOOL_BLOCK_T *payload_buf = gMEMPOOL_PAYLOAD.alloc();
+ // Get buffer for response payload from MemoryPool
+ tagMEMPOOL_BLOCK_T *payload_buf = getAlocCmdBuf();
if( payload_buf == NULL )
{
printf("wifi_off payload_buf NULL\r\n");
@@ -458,7 +449,7 @@
if( ret != 0 )
{
printf( "wifi_off failed\r\n" );
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return -1;
}
@@ -467,7 +458,7 @@
printf("wifi_off status:%02x\r\n", mUartCommand.getCommandStatus());
ret = -1;
}
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return ret;
}
@@ -481,7 +472,7 @@
}
// Get buffer for response payload from MemoryPool
- tagMEMPOOL_BLOCK_T *payload_buf = gMEMPOOL_PAYLOAD.alloc();
+ tagMEMPOOL_BLOCK_T *payload_buf = getAlocCmdBuf();
if( payload_buf == NULL )
{
printf("getRssi payload_buf NULL\r\n");
@@ -517,13 +508,13 @@
if( ret != 0 )
{
printf( "getRssi failed\r\n" );
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return -1;
}
*rssi_p = (signed char)payload_buf->buf[2];
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return 0;
}
@@ -536,7 +527,7 @@
}
// Get buffer for response payload from MemoryPool
- tagMEMPOOL_BLOCK_T *payload_buf = gMEMPOOL_PAYLOAD.alloc();
+ tagMEMPOOL_BLOCK_T *payload_buf = getAlocCmdBuf();
if( payload_buf == NULL )
{
printf("getWifiStatus payload_buf NULL\r\n");
@@ -573,7 +564,7 @@
if( ret != 0 )
{
printf( "getWifiStatus failed\r\n" );
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return -1;
}
@@ -592,6 +583,6 @@
memcpy( status_p->ssid, &payload_buf->buf[9], strlen( (char *)&payload_buf->buf[9]) );
}
- gMEMPOOL_PAYLOAD.free( payload_buf );
+ freeCmdBuf( payload_buf );
return 0;
}
ban4jp -
