Wi-Fi Combo Forum Discussions
I'm looking for Over The Air update examples that have features between OTA and OTA2.
Examples are likely to show creative ways to add more features in a limited code space.
I'm designing into a CYW43438 with a limited code space that will NOT accommodate a full version of OTA2.
OTA is a bare bones firmware update program as opposed to OTA2,
OTA is stripped of CRC and most other features that check for integrity of code before committing to execute from the new code load.
I'd like to learn from others who've tried to add basic checks to OTA to mitigate potential corruption if an error occurs while still allowing the code to fit in the limited memory of CYW43438.
Greg
Show LessHi.
I'm using the trying to create an RTOS snipet with two threads that runs four very simple steps:
1. (file_a.c) App Main: initialize the device wiced_init()
2. (file_a.c) Thread 1. Connects to Wifi
3. (file_a.c).Thread 1. Signals that Wifi connection is ready
4. (file_b.c) Thread 2. Recieves the signal that Wifi Connection is ready
5. (file_b.c) Thread 2. Tries to connect to AWS
PROBLEM: the device REBOOTS when reaching the 5 step. I'm not sure if this is because Wifi connection is not in the context of the whole applicacion. and it is REALLY hard to know why cause aws API won't tell much.
ret = wiced_aws_connect(aws_connection) throws an WICED_ERROR #4
Below is the simplified code that I'm testing.
Any guidance is very much appretiated
thanks
file_a.c
#define WIFI_THREAD_PRIORITY (5)
#define AWS_THREAD_PRIORITY (8)
#define THREAD_STACK_SIZE (1024)
wiced_thread_t wifiThreadHandle; // Handle wifi provisioning
wiced_thread_t awsThreadHandle; // handle AWS connection
wiced_semaphore_t semaphore_signal_wifi; //Signal when WiFi is ready
/*Function that to manage WiFi provisioning */
void wifiProvisioningThread(wiced_thread_arg_t arg) {
/* Varibles initialization */
wiced_result_t ret = WICED_SUCCESS;
/* Bring up the network interface */
ret = wiced_network_up( WICED_AWS_DEFAULT_INTERFACE, WICED_USE_EXTERNAL_DHCP_SERVER, NULL );
if ( ret != WICED_SUCCESS )
{
WPRINT_APP_INFO( ( "Not able to join the requested AP\n" ) );
return;
}
wiced_rtos_set_semaphore(&semaphore_signal_wifi_connection); // Signal WiFi ready
}
void application_start( ) {
wiced_init(); /* Initialize the WICED device CYW943907AEVAL1F */
/* Setup the semaphore to signal when WiFi Connection is established*/
wiced_rtos_init_semaphore(&semaphore_signal_wifi_connection);
/* Initialize and start the thread that will handle WiFi connection */
wiced_rtos_create_thread(&wifiThreadHandle, WIFI_THREAD_PRIORITY, "wifiThread", wifiProvisioningThread, THREAD_STACK_SIZE, NULL);
/* Initialize and start the thread that will manage AWS */
wiced_rtos_create_thread(&awsThreadHandle, AWS_THREAD_PRIORITY, "awsThread", awsConnectThread, THREAD_STACK_SIZE, NULL);
}
file_a.h
extern wiced_semaphore_t semaphore_signal_wifi_connection;
extern void awsThreadHandle();
file_b.c
Show Lessvoid awsConnectThread()
{
wiced_aws_handle_t aws_connection = 0;
wiced_result_t ret = WICED_SUCCESS;
wiced_rtos_get_semaphore(&semaphore_signal_wifi_connection, WICED_WAIT_FOREVER);
ret = get_aws_credentials_from_resources();
if( ret != WICED_SUCCESS )
{
WPRINT_APP_INFO( ("[Application/AWS] Error fetching credentials from resources\n" ) );
return;
}
ret = wiced_aws_init( &my_subscriber_aws_config, my_subscriber_aws_callback );
if( ret != WICED_SUCCESS )
{
WPRINT_APP_INFO( ( "[Application/AWS] Failed to Initialize AWS library\n" ) );
return;
}
aws_connection = (wiced_aws_handle_t)wiced_aws_create_endpoint(&my_subscriber_aws_iot_endpoint);
if( !aws_connection )
{
WPRINT_APP_INFO( ( "[Application/AWS] Failed to create AWS connection handle\n" ) );
return;
}
WPRINT_APP_INFO(("[Application/AWS] Opening connection...\n"));
ret = wiced_aws_connect(aws_connection); // AT THIS POINT THE DEVICE REBOOTS
if ( ret != WICED_SUCCESS )
{
WPRINT_APP_INFO(("[Application/AWS] Connect Failed\r\n"));
wiced_rtos_delay_milliseconds( APPLICATION_DELAY_IN_MILLISECONDS * 5 );
return;
}
}
Hi,
We have used CY43438 based AP6212 wifi module in our product. We have booked the precompliance lab for CE testing. We are doing RF wifi adaptivity testing. I refered the below manual for our test. i have seen the section 4.2.5. for the adaptivity for 2.4 Ghz radio.
https://www.cypress.com/file/453451/download
We are fireing the below command on DUT to transfer data at 33% duty cycle. but this command will transfer data at every 1 second as i is setted to 1. The minimum value of i is 0.5. Now as we fire this command then it start pinging. but the peak is not detected in spectrum analyzer as the time interval is very high.
iperf -c 192.168.1.2 -u -b 5m -l 60000 -i 1 -t 10000
As per the manual it must be work but it will not work for our board. Is there anything that i am missing?
Below is the screen shot for firing the command. I have used router as a companion device. set the routers IP as 192.168.1.100.
Please do the needfull as we are in lab right now and this will not work for our board. Below are some things that we tried at lab.
1) Change the board
2) Change the uFL connector and cable
3) Change the companion device.
Show LessHi,
I have an evaluation board CYW43907. On the SoC, there is a Cortex-R4 core.
I am trying to trace it. But In the debug ROM table, I only found two "Cortex-R4 Debug", no ETM(Embedded Trace Macrocell ).
(I still don't why there are two "Cortex-R4 Debug".)I checked BCM43907 datasheet, it says:
"Using multiple technologies to reduce cost, the ARM Cortex-R4 enables improved memory utilization, reduced pin overhead, and
reduced silicon area. It also has extensive debugging features, including real-time tracing of program execution.
"
Sounds like it has ETM or similar things. I am wondering someone can give me a hint about this.
Thanks
Show LessHi, I have a CY8CPROTO-062-4343W kit. I wish to develop a BT/BLE based application where I can send data such as "hello world" to my Windows PC/ Android phone. I am aware of the Cy Smart mobile application that is used for BT capsense control. Is there any resource or code example that I can get started with?
Show LessHi ,
our project is runnin on nrf52840 , and we need to add WiFi ability .
I am thinking to use CYW4343W as combo cotrollerless WiFi and BLE solution .
Our requirement operation mode are :
1) sleep mode + BLE peripheral advertising every 1 Sec less than 1mA
2) Operation mode 30mA + BLE peripheral advertising + reading sensors + save to memory 64MByte
3) Charging mode + Wifi ability to stream the memories Less than 3 Min
My question are :
* is this possible to shutdown WiFi and working only with BLE mode ?
* If it possible what the power consumption in this mode ?
Thanks,
Zvika
Show LessHi.
I am testing with CYW943907AEVAL1F.
I want to communicate with another MCU (STM32) using SDIO.
In wiced there is no sample code for send/receive, so I don't know how to do it.
Please let me know if you have any data that can be communicated via sdio.
Show LessHi,
I saw the WICED SDK WiFi code was put on the AWS FreeRTOS repo on Github, for example: https://github.com/aws/amazon-freertos/blob/master/vendors/cypress/WICED_SDK/WICED/WWD/internal/wwd_ap.h
amazon-freertos/wwd_ap.h at master · aws/amazon-freertos · GitHub
My question is does Cypress now allows the code to be redistributed on the Github or there is special requirements for that? From the header file in the above link, the banner really doesn't tell much. Thanks!
Show LessHi Cypress experts:
We have a host system zynq and want to enable BLE function with 43438/w chip to transfer data between zynq and 43438. From Wiced SDK document,
43438 does support wiced specific HCI interface to let external host talk to 43438, However, the Wiced SDK seems only has some built-in BLE library for platform STMXXX
series and since we only need BLE to exchange some data between zynq and 43438. Is there any way we can try?
Q1. we dont not want to use HCI host controller mode, since porting BT stack on our host is difficult, so does 43438 can be used as embeded mode? (per my understanding, talking with wiced hci interface)
Q2. If it is possible, is there any reference code i can use to replace the dependent BT library? I means sample codes to implement wiced_bt_stack_init etc? I see some code under 43xxx_Wi-Fi\libraries\drivers\bluetooth\wiced_hci_bt/ can those code be used?
Show LessI'm trying to run the AWS Free RTOS Hello World example for the CYW943907AEVAL1F
So I Followed the instructions here https://www.cypress.com/video/amazon-freertos-101-cywxx907-lesson-4-afr-hello-world
I've Installed
- WICED Studio 6.4
- MAC OSX 10.15.6.
- Java 1.8 64bit
Cloned the Free RTOS repository using: git clone https://github.com/aws/amazon-freertos.git --recurse-submodules
set the WICED SDK path on /etc/profile to the only folder I could find for WICED STUDIO
an the commands perl platform_adjust_make.pl and chmod +x make on the freertos/vendors/cypress/WICED_SDK
Import the demo project
tried to build it and I've got this error
23:26:56 **** Build of configuration Default for project aws_demos ****
/amazon-freertos/vendors/cypress/WICED_SDK/make demo.aws_demo-CYW943907AEVAL1F-FreeRTOS-LwIP download run
Unknown host
Linux32 uname: ""
Linux64 uname: ""
OSX uname: ""
Win32 uname: ""
I could only found a old post from 2014 that relates this issue to the SDK
Any idea how to solve this issue?
thanks
Show Less