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.
Fork of NySNICInterface by
Diff: SNICwifiInterface.cpp
- Revision:
- 10:49ffd373066b
- Parent:
- 9:a98b45e766c8
--- a/SNICwifiInterface.cpp Tue Mar 18 01:13:52 2014 +0000
+++ b/SNICwifiInterface.cpp Tue Mar 18 02:57:24 2014 +0000
@@ -3,8 +3,6 @@
using namespace murata_wifi;
-#define UART_REQUEST_PAYLOAD_MAX 256
-
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)
{
@@ -30,26 +28,16 @@
req.seq = mUartRequestSeq++;
req.buf_size = 0x800;
- unsigned char payload_array[UART_REQUEST_PAYLOAD_MAX];
unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned short payload_len;
- unsigned int command_len;
- int ret;
-
-
- // Make command payload
- payload_len = C_SNIC_UartMsg::makePayload( sizeof(tagSNIC_INIT_REQ_T), (unsigned char *)&req, payload_array );
- // Make all command request
- command_len = C_SNIC_UartMsg::makeRequest( UART_CMD_ID_SNIC, payload_array, payload_len, command_array );
+ unsigned int command_len;
+ // Preparation of command
+ command_len = preparationSendCommand( UART_CMD_ID_SNIC, req.cmd_sid, (unsigned char *)&req
+ , sizeof(tagSNIC_INIT_REQ_T), payload_buf->buf, command_array );
- // Set data for response
- mUartCommand.setCommandID( UART_CMD_ID_SNIC );
- mUartCommand.setCommandSID( req.cmd_sid );
- mUartCommand.setResponseBuf( payload_buf->buf );
-
// Send uart command request
sendUart( command_len, command_array );
-
+
+ int ret;
// Wait UART response
ret = mUartCommand.wait();
if( ret != 0 )
@@ -84,22 +72,14 @@
req.cmd_sid = UART_CMD_SID_GEN_FW_VER_GET_REQ;
req.seq = mUartRequestSeq++;
- unsigned char payload_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned short payload_len;
- unsigned int command_len;
+ unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
+ unsigned int command_len;
+ // Preparation of command
+ command_len = preparationSendCommand( UART_CMD_ID_GEN, req.cmd_sid, (unsigned char *)&req
+ , sizeof(tagGEN_FW_VER_GET_REQ_T), payload_buf->buf, command_array );
+
int ret;
- // Make command payload
- payload_len = C_SNIC_UartMsg::makePayload( sizeof(tagGEN_FW_VER_GET_REQ_T), (unsigned char *)&req, payload_array );
- // Make all command request
- command_len = C_SNIC_UartMsg::makeRequest( UART_CMD_ID_GEN, payload_array, payload_len, command_array );
-
- // Set data for response
- mUartCommand.setCommandID( UART_CMD_ID_GEN );
- mUartCommand.setCommandSID( req.cmd_sid );
- mUartCommand.setResponseBuf( payload_buf->buf );
-
// Send uart command request
sendUart( command_len, command_array );
@@ -146,13 +126,10 @@
return -1;
}
- unsigned char buf[UART_REQUEST_PAYLOAD_MAX];
- unsigned char payload_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned int buf_len = 0;
- unsigned short payload_len;
- unsigned int command_len;
- int ret;
+ unsigned char buf[UART_REQUEST_PAYLOAD_MAX];
+ unsigned int buf_len = 0;
+ unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
+ unsigned int command_len;
memset( buf, 0, UART_REQUEST_PAYLOAD_MAX );
// Make request
@@ -180,18 +157,15 @@
buf_len += sec_key_len;
}
}
- // Make command payload
- payload_len = C_SNIC_UartMsg::makePayload( buf_len, (unsigned char *)buf, payload_array );
- // Make all command request
- command_len = C_SNIC_UartMsg::makeRequest( UART_CMD_ID_WIFI, payload_array, payload_len, command_array );
- // Set data for response
- mUartCommand.setCommandID( UART_CMD_ID_WIFI );
- mUartCommand.setCommandSID( UART_CMD_SID_WIFI_JOIN_REQ );
- mUartCommand.setResponseBuf( payload_buf->buf );
-
+
+ // Preparation of command
+ command_len = preparationSendCommand( UART_CMD_ID_WIFI, UART_CMD_SID_WIFI_JOIN_REQ, buf
+ , buf_len, payload_buf->buf, command_array );
+
// Send uart command request
sendUart( command_len, command_array );
+ int ret;
// Wait UART response
ret = mUartCommand.wait();
if( ret != 0 )
@@ -222,29 +196,20 @@
}
tagWIFI_DISCONNECT_REQ_T req;
- unsigned char payload_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned short payload_len;
- unsigned int command_len;
- int ret;
-
// Make request
req.cmd_sid = UART_CMD_SID_WIFI_DISCONNECT_REQ;
req.seq = mUartRequestSeq++;
- // Make command payload
- payload_len = C_SNIC_UartMsg::makePayload( sizeof(tagWIFI_DISCONNECT_REQ_T), (unsigned char *)&req, payload_array );
- // Make all command request
- command_len = C_SNIC_UartMsg::makeRequest( UART_CMD_ID_WIFI, payload_array, payload_len, command_array );
+ unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
+ unsigned int command_len;
+ // Preparation of command
+ command_len = preparationSendCommand( UART_CMD_ID_WIFI, req.cmd_sid, (unsigned char *)&req
+ , sizeof(tagWIFI_DISCONNECT_REQ_T), payload_buf->buf, command_array );
- // Set data for response
- mUartCommand.setCommandID( UART_CMD_ID_WIFI );
- mUartCommand.setCommandSID( req.cmd_sid );
- mUartCommand.setResponseBuf( payload_buf->buf );
-
// Send uart command request
sendUart( command_len, command_array );
+ int ret;
// Wait UART response
ret = mUartCommand.wait();
if( ret != 0 )
@@ -275,12 +240,7 @@
}
tagWIFI_SCAN_REQ_T req;
- unsigned char payload_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned short payload_len;
- unsigned int command_len;
- unsigned int buf_len = 0;
- int ret;
+ unsigned int buf_len = 0;
memset( &req, 0, sizeof(tagWIFI_SCAN_REQ_T) );
// Make request
@@ -312,22 +272,19 @@
}
buf_len++;
- // Make command payload
- payload_len = C_SNIC_UartMsg::makePayload( buf_len, (unsigned char *)&req, payload_array );
+ unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
+ unsigned int command_len;
+ // Preparation of command
+ command_len = preparationSendCommand( UART_CMD_ID_WIFI, req.cmd_sid, (unsigned char *)&req
+ , buf_len, payload_buf->buf, command_array );
- // Make all command request
- command_len = C_SNIC_UartMsg::makeRequest( UART_CMD_ID_WIFI, payload_array, payload_len, command_array );
-
- // Set data for response
- mUartCommand.setCommandID( UART_CMD_ID_WIFI );
- mUartCommand.setCommandSID( req.cmd_sid );
- mUartCommand.setResponseBuf( payload_buf->buf );
// Set scan result callback
mUartCommand.setScanResultHandler( result_handler_p );
// Send uart command request
sendUart( command_len, command_array );
+ int ret;
// Wait UART response
ret = mUartCommand.wait();
printf( "scan wait:%d\r\n", ret );
@@ -367,30 +324,21 @@
}
tagWIFI_ON_REQ_T req;
- unsigned char payload_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned short payload_len;
- unsigned int command_len;
- int ret;
-
// Make request
req.cmd_sid = UART_CMD_SID_WIFI_ON_REQ;
req.seq = mUartRequestSeq++;
memcpy( req.country, country_p, COUNTRYC_CODE_LENTH );
- // Make command payload
- payload_len = C_SNIC_UartMsg::makePayload( sizeof(tagWIFI_ON_REQ_T), (unsigned char *)&req, payload_array );
- // Make all command request
- command_len = C_SNIC_UartMsg::makeRequest( UART_CMD_ID_WIFI, payload_array, payload_len, command_array );
+ unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
+ unsigned int command_len;
+ // Preparation of command
+ command_len = preparationSendCommand( UART_CMD_ID_WIFI, req.cmd_sid, (unsigned char *)&req
+ , sizeof(tagWIFI_ON_REQ_T), payload_buf->buf, command_array );
- // Set data for response
- mUartCommand.setCommandID( UART_CMD_ID_WIFI );
- mUartCommand.setCommandSID( req.cmd_sid );
- mUartCommand.setResponseBuf( payload_buf->buf );
-
// Send uart command request
sendUart( command_len, command_array );
+ int ret;
// Wait UART response
ret = mUartCommand.wait();
if( ret != 0 )
@@ -421,29 +369,20 @@
}
tagWIFI_OFF_REQ_T req;
- unsigned char payload_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned short payload_len;
- unsigned int command_len;
- int ret;
-
// Make request
req.cmd_sid = UART_CMD_SID_WIFI_OFF_REQ;
req.seq = mUartRequestSeq++;
- // Make command payload
- payload_len = C_SNIC_UartMsg::makePayload( sizeof(tagWIFI_OFF_REQ_T), (unsigned char *)&req, payload_array );
- // Make all command request
- command_len = C_SNIC_UartMsg::makeRequest( UART_CMD_ID_WIFI, payload_array, payload_len, command_array );
+ unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
+ unsigned int command_len;
+ // Preparation of command
+ command_len = preparationSendCommand( UART_CMD_ID_WIFI, req.cmd_sid, (unsigned char *)&req
+ , sizeof(tagWIFI_OFF_REQ_T), payload_buf->buf, command_array );
- // Set data for response
- mUartCommand.setCommandID( UART_CMD_ID_WIFI );
- mUartCommand.setCommandSID( req.cmd_sid );
- mUartCommand.setResponseBuf( payload_buf->buf );
-
// Send uart command request
sendUart( command_len, command_array );
+ int ret;
// Wait UART response
ret = mUartCommand.wait();
if( ret != 0 )
@@ -480,26 +419,17 @@
}
tagWIFI_GET_STA_RSSI_REQ_T req;
- unsigned char payload_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned short payload_len;
- unsigned int command_len;
- int ret;
// Make request
req.cmd_sid = UART_CMD_SID_WIFI_GET_STA_RSSI_REQ;
req.seq = mUartRequestSeq++;
- // Make command payload
- payload_len = C_SNIC_UartMsg::makePayload( sizeof(tagWIFI_GET_STA_RSSI_REQ_T), (unsigned char *)&req, payload_array );
- // Make all command request
- command_len = C_SNIC_UartMsg::makeRequest( UART_CMD_ID_WIFI, payload_array, payload_len, command_array );
+ unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
+ unsigned int command_len;
+ command_len = preparationSendCommand( UART_CMD_ID_WIFI, req.cmd_sid, (unsigned char *)&req
+ , sizeof(tagWIFI_GET_STA_RSSI_REQ_T), payload_buf->buf, command_array );
- // Set data for response
- mUartCommand.setCommandID( UART_CMD_ID_WIFI );
- mUartCommand.setCommandSID( req.cmd_sid );
- mUartCommand.setResponseBuf( payload_buf->buf );
-
+ int ret;
// Send uart command request
sendUart( command_len, command_array );
@@ -535,30 +465,20 @@
}
tagWIFI_GET_STATUS_REQ_T req;
- unsigned char payload_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
- unsigned short payload_len;
- unsigned int command_len;
- int ret;
-
// Make request
req.cmd_sid = UART_CMD_SID_WIFI_GET_STATUS_REQ;
req.seq = mUartRequestSeq++;
req.interface = 0;
- // Make command payload
- payload_len = C_SNIC_UartMsg::makePayload( sizeof(tagWIFI_GET_STATUS_REQ_T), (unsigned char *)&req, payload_array );
- // Make all command request
- command_len = C_SNIC_UartMsg::makeRequest( UART_CMD_ID_WIFI, payload_array, payload_len, command_array );
+ unsigned char command_array[UART_REQUEST_PAYLOAD_MAX];
+ unsigned int command_len;
+ command_len = preparationSendCommand( UART_CMD_ID_WIFI, req.cmd_sid, (unsigned char *)&req
+ , sizeof(tagWIFI_GET_STATUS_REQ_T), payload_buf->buf, command_array );
- // Set data for response
- mUartCommand.setCommandID( UART_CMD_ID_WIFI );
- mUartCommand.setCommandSID( req.cmd_sid );
- mUartCommand.setResponseBuf( payload_buf->buf );
-
// Send uart command request
sendUart( command_len, command_array );
+ int ret;
// Wait UART response
ret = mUartCommand.wait();
if( ret != 0 )
