Wi-Fi Combo Forum Discussions
Hi,
Iam using discover wifi module. My module is not receiving data from the external processor but that module is receiving data from the commix console. when i connect another discover wifi module to that processor iam receiving the data......what could be the problem....help me to resolve the issue..
Thank you
Show Lessi have a customer working with the 43907 part (using imp005 module) with a PRoC module.
are there any written details/spec of the 43907 External Coexistence Interface so the PRoC can have control?
Basic on/off will do for development work. but i couldn't find any examples.
Show Less
This is NOT a duplicate of this issue : Possible bug in wiced_dct_restore_factory_reset()
In bootloader there is a mechanism to trigger "back to factory default", which is like this:
if ( wiced_waf_check_factory_reset( ) )
{
wiced_dct_restore_factory_reset( );
wiced_waf_app_set_boot( DCT_FR_APP_INDEX, PLATFORM_DEFAULT_LOAD );
}
Trace down to "WICED/platform/MCU/wiced_dct_internal_common.c : static wiced_result_t wiced_dct_load( const image_location_t* dct_location )" I see a possible bug :
while ( size > 0 )
{
uint32_t write_size = MIN( sizeof(buff), size);
#ifdef KEEP_POSSIBLE_STOCK_SDK_BUGS // same possible bug for SDK-3.7.0
if (wiced_apps_read( dct_location, buff, offset, write_size) != 0)
#else
if (wiced_apps_read( dct_location, buff, offset, write_size) == 0)
#endif
{
if (platform_write_flash_chunk( (uint32_t)dest_loc, buff, write_size ) != 0)
{
return WICED_ERROR;
}
}
offset += write_size;
dest_loc += write_size;
size -= write_size;
}
With the original code I never successfully done restoring DCT.
And the modified version above seems to work well in my tests so far.
Cypress team :
1. Please help confirm if this is a bug, and if the fix above is valid & solid in all cases.
2. Is it possible to have a official git, which is bound w/ WICED forum accounts maybe, so we can send pull requests for possible bug fixes?
It will be definitely beneficial to us developers to collect & examine all possible bug / fixes spread out there in forum discussions.
I believe Cypress will also profit from something like this.
Or maybe you can consider some other related suggestions such as Do you consider to make pre-release SDK public ?
Show LessUsing v3.5.2 WICED SDK with ThreadX and NetX stack. Trying to figure out how to get a callback or other notification that a UDP packet has been sent. Thus far no luck. Cannot just blindly wait 1-2 seconds after each send, there must be a more intelligent way than that, taking that approach will make the execution take forever.
I am trying to debug an issue with a remote unit, and I was going to add UDP to transmit out debug info to a listener on my PC so I can try to capture and debug without having direct physical access to the unit. I know that adding UDP debugging will slow it down, I am trying to minimize that by using a callback to let me know that the UDP message has been sent so I do not try to add data faster than it can be send and create a new problem.
Suggestions? I cannot seem to find anything. Please do not recommend lwIP, I have a lot of energy put into the NetX stack for this project including customization of some functions to address lacking functionality, so looking for NetX based solutions. The UDP send and receive examples do not have any intelligence when it comes to this, I assume that they rely on a slow messaging rate to help it along, the message will hopefully be sent before the next one. I am trying to minimize the impact of UDP debugging, so I need some way to know when the packet has been sent out. How? Can I look at some field in the packet? Undocumented callback?
Thanks.
PS - If it makes any difference, this unit is a client, connected to an AP and connected to a remote server downloading files, info.
Show LessHi,
Iam using Discover wi-fi STM32F4DIS module. I want to receive data whose size is not known. In wiced_uart_receive_bytes() if suppose i initialized the size to be 40 bytes and iam receiving only 30 bytes this is not processing the 30 bytes and it is waiting for 40 bytes to be received. Actually i don't know the size of the data which has to be received. The data can be of any number of bytes and i need to process the received bytes.
Please help me...
Thank you
Show LessHello Guys,
I am unable to find the api's to use secure element in WICED SDK. Any Ideas of how to use the secure element using WICED SDK?
Thanks,
Muhammad Ali
Show LessHonestly, I am not familiar with HTTP protocols, We want to send a http post request with two key-values to a URI, then the http server will respond with json msgs.
The picture attached shows the test result through PC. Is there an example or API document for this? Thanks a lot.
Show LessSDKs until wiced4(not using LWIP)
This error(crash) maybe can occurs in any place (http, mqtt....) when netconn_connect return error.
wiced_result_t wiced_tcp_connect( wiced_tcp_socket_t* socket, const wiced_ip_address_t* address, uint16_t port, uint32_t timeout )
{
uint32_t temp;
err_t lwip_error;
UNUSED_PARAMETER( timeout );
wiced_assert("Bad args", (socket != NULL) && (address != NULL));
WICED_LINK_CHECK( socket->interface );
temp = htonl(GET_IPV4_ADDRESS(*address));
if ( socket->conn_handler == NULL )
{
socket->conn_handler = netconn_new( NETCONN_TCP );
if ( socket->conn_handler == NULL )
{
return WICED_SOCKET_CREATE_FAIL;
}
socket->is_bound = WICED_TRUE;
}
/* To avoid silent truncation of 32-bit timeout variable to 16-bit value
saturating the timeout value to 65535(0xFFFF) */
if ( timeout > WICED_LWIP_CONNECTION_TIMEOUT_MAX )
{
timeout = WICED_LWIP_CONNECTION_TIMEOUT_MAX;
WPRINT_NETWORK_INFO(("Timeout 32-bit value has been truncated to a 16-bit value\n"));
}
lwip_error = netconn_connect( socket->conn_handler, (ip_addr_t*) &temp, port, (uint16_t) timeout );
if ( lwip_error != ERR_OK )
{
netconn_delete( socket->conn_handler );
socket->conn_handler = NULL;//darius deleted so need mark as null
return LWIP_TO_WICED_ERR( lwip_error );
}
socket->conn_handler->pcb.tcp->flags &= (uint8_t) ( ~TF_NODELAY );
if ( socket->tls_context != NULL )
{
wiced_result_t result = wiced_tcp_start_tls( socket, WICED_TLS_AS_CLIENT, WICED_TLS_DEFAULT_VERIFICATION );
if ( result != WICED_SUCCESS)
{
netconn_delete( socket->conn_handler );
socket->conn_handler = NULL;//
return result;
}
}
socket->socket_state = WICED_SOCKET_CONNECTED;
return WICED_SUCCESS;
}
wiced_result_t wiced_tcp_delete_socket( wiced_tcp_socket_t* socket )
{
err_t res;
wiced_assert("Bad args", socket != NULL);
#ifndef WICED_DISABLE_TLS
if ( socket->tls_context != NULL )
{
wiced_tls_close_notify( socket );
wiced_tls_deinit_context( socket->tls_context );
if ( socket->context_malloced == WICED_TRUE )
{
free( socket->tls_context );
socket->tls_context = NULL;
socket->context_malloced = WICED_FALSE;
}
}
#endif /* ifndef WICED_DISABLE_TLS */
if(socket->conn_handler != NULL)//darius test before, maybe was deleted
{
res = netconn_delete( socket->conn_handler );
if ( res != ERR_OK )
{
socket->conn_handler = NULL;
return LWIP_TO_WICED_ERR( res );
}
}
if ( socket->accept_handler != NULL )
{
netconn_delete( socket->accept_handler );
}
socket->accept_handler = NULL;
socket->conn_handler = NULL;
socket->is_bound = WICED_FALSE;
return WICED_TCPIP_SUCCESS;
}
Show LessIt is implemented with reference to the examples(https_client.c)
below http get request code.
"GET /test?a=1122334455&b=10&c=10 HTTP/1.1\r\n" \
"Host: \r\n" \
"Connection: close\r\n" \
"\r\n"
But, my question is this code change post request.
I'm changing below code try http server request
"POST /test HTTP/1.1\r\n" \
"Host: \r\n" \
"Content-Length: 22\r\n"\
"Connection: close\r\n" \
"\r\n\r\n" \
"a=1122334455&b=10&c=10" \
"\r\n\r\n\r\n"
parameter a,b,c sending,
but the server has not checked parameter values.
I'm using WICED SDK 3.3.1.
Show LessHello,
I currently have some custom code that enables me to:
- dynamically add and remove WPA2/PSK based access points that are accessed from the STA_INTERFACE
- The AP names and passphrases are supplied by an external means and put into the list of available AP's
- The custom code tries the first AP and tries to connect, if it fails, it tries the next AP in the list, if it succeeds, it connects and stops trying until it loses signal
- When an AP is disconnected due to signal loss, it tries again.
There seems to be a better approach that is built-in to the SDK, but I can't find an example that uses it and allows the app layer to manage the list of available AP's.
Could someone point me to an example in 3.7 or 4.0?
Thanks!
Show Less