Wi-Fi Combo Forum Discussions
How do I turn on platform debug statements?
Such as WPRINT_ENABLE_PLATFORM_INFO
which enables WPRINT_PLATFORM_INFO
and other things.
I'm porting a platform from 3.0.1 to 3.5.2 and wiced_init is returning 2 and I'm having trouble getting the debugger running (besides in RTOS, I want the printfs anyway).
Show LessHi guys,
Extremely new to programming for embedded devices here, and I was hoping if someone could help! I currently have a single-threaded program in a while() loop that has a 8-second delay after every run (set by wiced_rtos_delay_milliseconds(8000);), and I'm trying to implement a timer function that would take up time within that delay. In other words, I would start a timer of 4 seconds, set an 8 second delay, then stop that timer afterwards.
The problem is that while the timer runs fine (ie. everything in the timer handler function, quoted below), the main program doesn't loop anymore.
The main thread (called by application_start) has the following code:
void scan_thread_main(uint32_t arg) {
while (scan_handle->quit != WICED_TRUE) {
do_much_stuff();
will_quote_if_relevant();
relevant_function(); <-- This is where the timer is initialized, started, stopped, and deinitialized.
wiced_result_t result = wiced_rtos_delay_milliseconds(8000);
}
WICED_END_OF_CURRENT_THREAD();
}
I've made sure that after the run, result is 0 (WICED_TRUE), and I've also explicitly set scan_handle->quit to WICED_FALSE.
The components involving the timer (defined in the .h file as static wiced_timer_t myfunction_timer), placed in another file, are as follows:
wiced_result_t myfunction_network_up() {
wiced_result_t result = WICED_SUCCESS;
wiced_network_up(...);
wiced_rtos_init_timer(&myfunction_timer, 4000, myfunction_network_down_timer_function, NULL);
wiced_rtos_start_timer(&myfunction_timer);
WPRINT_APP_INFO(("My network put up."));
return result;
}
static void myfunction_network_down_timer_function(void* arg) {
myfunction_network_down();
wiced_rtos_stop_timer(&myfunction_timer);
wiced_rtos_deinit_timer(&myfunction_timer);
}
wiced_result_t myfunction_network_down() {
wiced_result_t result = WICED_SUCCESS;
result = wiced_network_down(WICED_AP_INTERFACE);
return result;
}
If anyone has any hints on how to solve this, please let me know! Your help is greatly appreciated
Show LessHi Group,
I will eventually be using the CEL WB4343SP2 in my project but until the prototype board is ready I'd like to get a head start on the firmware using the BCM94343WWCD1 eval board. I am trying to get familiar with the WICED IDE. Its different from the Kiel system we normally use for embedded projects and I am trying to get familiar with it.
I comes with all sort of good examples and with the help of our rep I was able to change the Make Target file from the standard Eval board that it assumes (BCM943362xx) to the BCM94343xxx that I have. I was able to compile the SCAN application, download it to the eval board and run it with its output going to PuTTY.
Great.
The next thing I wanted to do as suggested in the getting started document is to debug the scan program just to get familiar with breakpoints and such.
Here is where it gets weird. Just as in the compile-download and run make file, I created a compile-debug and download make file called
snip.scan BCM94343WWDC1-debug download.
It properly compiled and apparently downloaded the program but when I click on the debug icon I get the following error.
tools/makefiles/wiced_config.mk:224: *** Unknown component: Default. Stop.
make: *** No rule to make target 'build/Default/config.mk', needed by 'main_app'. Stop.
I assume the component that is "unknown" is the BCM94343xx but perhaps not.
The console doesn't give any hint about that even though I think it should to help people like me.
What am I doing wrong?
Thanks
Bill
Show LessI have made an application similar to the demo "temp_control". There are 2 registered timed_events:
1. wiced_rtos_register_timed_event( &post_timed_event, WICED_NETWORKING_WORKER_THREAD, &post_to_server, POST_INTERVAL, 0 );
2. wiced_rtos_register_timed_event( &sensor_timed_event, WICED_HARDWARE_IO_WORKER_THREAD, &take_sensor_reading, SAMPLE_INTERVAL, 0 );
1. Reads values from an i2c device, every 2 seconds.
2. Posts the values (wiced_http_get) to a server, every 50 seconds.
The problem is that the two events don´t work together. The application hangs in the post function.
If I comment out one of the timed events, the other will work as expected.
The functions share a variable which has a mutex.
What may be the problem here?
Show LessHello All,
We're using BCM9WCDUSI09 platform(1Mb external flash, 1Mb internal flash, 128k ram) and will be using OTA2 for updating the platform when needed. (The platform will check server if there's update or not, if yes then it'll update itself)
I have several questions in mind :
1. Is it possible to use the new OTA system for our platform? If yes, then how can we obtain the file “ota2_image_defines.mk”? Or do we have to write it ourselves, what are the contents?
2. Also I have read that there’ll be an example ota2 app release for platforms such as ours, when do you think that would be available?
3. I have also read that there is a problem with the ota with platforms such as ours(ota app is in the external flash and cannot be executed from ram because of size) because there is a bug in bootloader application.
4. Are there any detailed documents do you have other than the OTA2 Doc that comes with SDK 3.5.2. If there is, that would be very helpful. We're really confused, and couldn't really understand what OTA really does step by step(in the push and in the pull).
5. What is the difference between OTA and OTA2? Are all SDK 3.x.x use OTA2(is the ota_fr app also OTA2)?
Sorry for the question count, you may think some of them are dummy, but we're confused about these issues.
Thank you all.
Show LessIs there a WICED version overview?
Something that talks about high level structural changes between versions?
I'm not interested in HW platform support changes and details as those are covered in the release notes.
I want something that would help someone porting from version to version to understand what kinds of architectural changes were made and some hints about the kind of things that need to be changed to port from each version to the next version. I can then cumulatively observe those to see what is easy to port to what newer version and where it gets more challenging because of larger architectural changes.
Something short and sweet that gives a few details and high level overview of what architectural changes were made from version to version without the clutter of what HW platform changes were made.
Essentially the release notes should be partitioned into separate sections for "architecture" and "HW platform / chip" changes - with more detail in the "HW platform" section and more big picture / makefile / port-related info in the "architecture" area.
Show LessIs it possible to run the WICED SDK on an ARM Linux host?
Hi,
I'm attempting to make an HTTP request of about 2541 bytes. It worked fine using HTTP, but now I'm trying to use HTTPS, and I'm having trouble with multiple packets. When I tried smaller requests (~370 bytes) it succeeds just fine
I run into the assert in wiced_https_get()->wiced_tcp_send_buffer()->wiced_tcp_send_packet()->wiced_tls_encrypt_packet()->wiced_packet_set_data_end().
It's asserting because data_end is always 5 bytes larger than packet->nx_packet_data_end.
I know the packet pools are created with a size of 1548 bytes, and it's trying to send a packet size of ~1384 bytes.
Any clue why this might be happening? Is there some macro that I should look into changing?
I'm using NetX Duo and WICED 3.1.2
Thanks
Will
Hi
I was trying to increase the MTU size using the function wiced_bt_gatt_configure_mtu but the only response I get is a callback and then that channel seems to be dead. The same happens if I try to increase it from the client side. I saw some mtu code in the apollo_config_gatt_server but that didn't help much.
When I search here on the forum, I only find references to the new style Wiced Smart APIs, most beginning with blecm_. But the SDK I'm using, since I use a WiFi/BT/BLE combo chip, is the WiFi SDK with the old style APIs. The strange thing is that the BT/BLE parts of that SDK's docs are removed since 3.3, but the actual header files, examples and prebuilt libs are still there. What's the deal here? Are we supposed to use both SDKs to make combo solutions with WiFi/BT/BLE? Is it even possible to mix them?
Greatful for any insights.
Show Less