Wi-Fi Combo Forum Discussions
I'm working on a project in which we have to implement coexistence between Wi-Fi and Zigbee.
Is it possible to activate through NVRAM parameters the 3-Wire interface in the CY43438KUBG ?
If not it is possible to use/implement a restricted subset of the SECI spec on the Zigbee uC ?
Thanks in advance,
Pol Delgado
Show LessHi,
Is there any high resolution (1us or above) free running counter in CYW43907 SoC?
I'd like to refer the counter in ISR to measure the interval of each external interrupt.
In our application, APPS subsystem is always in active mode.
WICED SDK 6.4.0, CYW43907
Best regards,
Nobuhiro
Hi,
I'm using Murata 1LD custom board with external flash connected using spi.
I changed the driver to LibusbK using zadig and added reset_config trst_and_srst srst_push_pull to jlink.cfg file unde openocd.
I am trying to program using make snip.ccc-MurataType1LD JTAG=jlink download download_apps run it don't work
Log:
Downloading Bootloader ...
Building apps lookup table
Download complete
Downloading DCT ...
No changes detected
Downloading resources filesystem ... build/snip.chronisense-MurataType1LD/filesystem.bin at sector 1 size 104...
Downloading apps lookup table in wiced_apps.mk ... build/snip.chronisense-MurataType1LD/APPS.bin @ 0x0000 size
tools/makefiles/wiced_apps.mk:423: recipe for target 'APPS_LUT_DOWNLOAD' failed
make.exe[1]: *** [APPS_LUT_DOWNLOAD] Error 1
Makefile:351: recipe for target 'main_app' failed
make: *** [main_app] Error 2
openocd_log.txt
Open On-Chip Debugger 0.10.0+dev-00227-g0d15c62 (2018-03-27-15:19)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
trst_and_srst separate srst_gates_jtag trst_push_pull srst_push_pull connect_deassert_srst
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
jtag_ntrst_delay: 100
Warn : target name is deprecated use: 'cortex_m'
jtag_init
post_init_psoc6_setup
Info : J-Link V10 compiled Oct 8 2019 14:57:57
Info : Hardware version: 10.10
Info : VTarget = 3.270 V
Info : clock speed 1000 kHz
Info : JTAG tap: stm32f4xx.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4)
Info : JTAG tap: stm32f4xx.bs tap/device found: 0x06441041 (mfg: 0x020 (STMicroelectronics), part: 0x6441, ver: 0x0)
Warn : JTAG tap: stm32f4xx.bs UNEXPECTED: 0x06441041 (mfg: 0x020 (STMicroelectronics), part: 0x6441, ver: 0x0)
Error: JTAG tap: stm32f4xx.bs expected 1 of 1: 0x06413041 (mfg: 0x020 (STMicroelectronics), part: 0x6413, ver: 0x0)
Error: Trying to use configured scan chain anyway...
Warn : Bypassing JTAG setup events due to errors
Info : stm32f4xx.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : JTAG tap: stm32f4xx.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4)
Info : JTAG tap: stm32f4xx.bs tap/device found: 0x06441041 (mfg: 0x020 (STMicroelectronics), part: 0x6441, ver: 0x0)
Warn : JTAG tap: stm32f4xx.bs UNEXPECTED: 0x06441041 (mfg: 0x020 (STMicroelectronics), part: 0x6441, ver: 0x0)
Error: JTAG tap: stm32f4xx.bs expected 1 of 1: 0x06413041 (mfg: 0x020 (STMicroelectronics), part: 0x6413, ver: 0x0)
Error: Trying to use configured scan chain anyway...
Warn : Bypassing JTAG setup events due to errors
Error: timed out while waiting for target halted
TARGET: stm32f4xx.cpu - Not halted
in procedure 'sflash_write_file'
in procedure 'sflash_init' called at file "apps/waf/sflash_write/sflash_write.tcl", line 261
in procedure 'init' called at file "apps/waf/sflash_write/sflash_write.tcl", line 155
in procedure 'ocd_bouncer'
in procedure 'transport'
in procedure 'ocd_bouncer'
in procedure 'jtag_init' called at file "../WICED-OpenOCD/src/jtag/core.c", line 1578
in procedure 'reset' called at file "./tools/OpenOCD/stm32f4x.cfg", line 125
in procedure 'ocd_bouncer'
in procedure 'sflash_write_file'
in procedure 'sflash_init' called at file "apps/waf/sflash_write/sflash_write.tcl", line 261
in procedure 'init' called at file "apps/waf/sflash_write/sflash_write.tcl", line 155
in procedure 'ocd_bouncer'
What can be the problem ? any ideas?
Thanks!!
David
Show LessI ran into a scenario where a device pulled two DNS server address on the initial wiced_ip_up called after power up from some rouge device on our test network. Eventually the device pulled a valid DHCP address but I found that wiced_hostname_lookup was failing. After reviewing wireless captures, i found the DNS request was being sent to the rouge addresses that did not match our network IP range. I also noticed that the DNS addresses were not updated after a DHCP renewal.
Looking at the WICED implementation for DNS , the server addresses are only set when wiced_ip_up is ran but LWIP caches the latest DNS addresses from DHCP renews. In order to prevent the above issue, or handle DNS servers being updated on the Network controller, i need a way to periodically sync the WICED DNS library's server address (dns_server_address_array) to the cached LWIP array with dns_getserver.
1. Is this considered a bug in WICED?
2. What would the best approach be? Should I call dns_getserver periodically and update dns_server_address_array? Is there any downside such as a multithreading issue? At first i thought about a LWIP callback but the IP changed callback from LWIP DHCP library is only called when the ip changes, so a renewal will not trigger it if the device address did not change.
Show LessHello
I have a question about the implementation of "apps \ waf \ ota2_bootloader \ ota2_bootloader.c" in the sample code.
When "ota2_failsafe_app_load" is called, the following processing is performed.
------------------------------
/ * Check boot_type FAILSAFE-if so, use ota2_failsafe to recover * /
BOOTLOADER_PRINTF (("Bootloader: boot_type =% d! \ R \ n", dct_ota2_config.boot_type));
if ((dct_ota2_config.boot_type == OTA2_BOOT_FAILSAFE_FACTORY_RESET) ||
(dct_ota2_config.boot_type == OTA2_BOOT_FAILSAFE_UPDATE))
{
uint32_t entry_point;
platform_led_set_state (PLATFORM_RED_LED_INDEX, WICED_LED_ON);
platform_led_set_state (PLATFORM_GREEN_LED_INDEX, WICED_LED_ON);
if (ota2_failsafe_app_load (OTA2_IMAGE_FAILSAFE_APP_AREA_BASE, & entry_point) == WICED_SUCCESS)
{
platform_led_set_state (PLATFORM_GREEN_LED_INDEX, WICED_LED_OFF);
wiced_waf_start_app (entry_point);
}
}
------------------------------
If "OTA2_BOOT_FAILSAFE_FACTORY_RESET" or "OTA2_BOOT_FAILSAFE_UPDATE"
I think "ota2_failsafe_app_load" is called and failsafe is implemented
Please tell me how "OTA2_BOOT_FAILSAFE_FACTORY_RESET" and "OTA2_BOOT_FAILSAFE_UPDATE" are distinguished in "ota2_failsafe_app_load".
We are working with a CYBT-423028-02 dual mode Bluetooth BR/EDR + BLE module. Because of a measurement timestamping requirement, I started to investigate use of the real-time clock (RTC) available in the CYW20719. Since the RTC would be reset by an external device each time it connects, high accuracy over the long term is not required. However, my results so far make the RTC unusable for our purposes.
I've included captured WICED_BT_TRACE messages generated by my program which is just the hello_client demo program with RTC functions added.
I added the following lines near the end of the hello_client_app_init() function:
rtcConfig.oscillatorFrequencykHz= RTC_REF_CLOCK_SRC_32KHZ;
rtc_init();
rtcRefTime.year = 2019;
rtcRefTime.month = 10;
rtcRefTime.day = 20;
rtcRefTime.hour = 6;
rtcRefTime.minute = 0;
rtcRefTime.second = 0;
rtc_setRTCTime(&rtcRefTime);
When I call rtc_getRTCTime() immediately afterwards, it yields the expected time 06:00:00. After a RTOS delay of 60000 ms, a call to rtc_getRTCTime() yields a time of 06:01:04, an error of over +6%.
I also added a call to rtc_getRTCTime() in the 1-second app timer implemented in the hello_client demo program. After an actual elapsed time of 4m51s (as measured by my computer clock), the RTC shows an elapsed time of 5m12s, an error of over +7%. This seems quite high.
But, when a central device connects to the CYW20719, the RTC seems to increase its tick rate by a factor of 5.2 as shown by the RTC times in the trace messages. Worse yet, after the central device disconnects, the RTC appears to stop and continues to report the time at which the disconnection occurred.
Is an external crystal required for the RTC to work properly or am I missing something?
Here are my WICED_BT_TRACE messages. The timestamps in square brackets were generated by my COM port monitor program.
[14:17:18 ---] hello_client_management_cback: 15
hello_client_management_cback: 0
hello_client_app_init
wiced_bt_gatt_register status 0
wiced_bt_gatt_db_init 0
called rtc_init()
[14:17:20 ---] called rtc_setRTCTime()
rtcTime@00 = 06:00:00
DELAY HERE: wiced_rtos_delay_milliseconds(60000, ALLOW_THREAD_TO_SLEEP);
[14:18:20 ---] rtcTime@60 = 06:01:04
[14:18:27 ---] rtcTime = 06:01:12
[14:18:35 ---] rtcTime = 06:01:21
...
[14:21:55 ---] rtcTime = 06:04:55
[14:22:03 ---] rtcTime = 06:05:04
[14:22:11 ---] rtcTime = 06:05:12
[14:22:16 ---] hello_client_gatt_callback event 0
hclient_connection_up Conn Id:1 Num conn:1,Addr:<00 a0 50 d9 18 85 > role:1
rtcConnectTime = 06:05:18
[14:22:19 ---] rtcTime = 06:05:34
[14:22:27 ---] rtcTime = 06:06:16
[14:22:35 ---] rtcTime = 06:06:58
...
[14:23:39 ---] rtcTime = 06:12:35
[14:23:47 ---] rtcTime = 06:13:17
[14:23:56 ---] rtcTime = 06:14:00
[14:23:59 ---] hello_client_gatt_callback event 0
hello_client_connection_down 1 <00 a0 50 d9 18 85 >
rtcDisconnectTime = 06:14:20
[14:24:04 ---] rtcTime = 06:14:20
[14:24:12 ---] rtcTime = 06:14:20
[14:24:20 ---] rtcTime = 06:14:20
Show LessI am adding an HTTP server to an existing product that uses WiFi STA mode.
We already have some code around connection management, that does `wiced_network_up()` and `wiced_network_down()` to toggle network operation. Other parts also do `wwd_wifi_disassoc()` as part of the same operation.
Is there an existing facility or mechanism to handle the bringing up and down of the server daemon?
It appears as though the wifi_link_up callback is not called at the time of first association with the wifi network, and wifi_link_down is not called when a network becomes disassociated.
It also looks like the ip_address_change callback is not called on the first acquisition of an IP, nor as an IP is lost as the network is going down.
Is it the app's responsibility to poll connection status and bring the daemon up and down?
Show LessHello
I have a question about how to debug OTA2.
When I try to debug OTA2 using the sample code, there are places where it doesn't work.
(1) When debugging, breakpoints cannot be executed with boot loader related code.
This is because the boot loader processing has already been completed.
Please tell me how to set up Wiced to debug the boot loader.
(2) Currently "apps \ waf \ bootloader" is the build target.
Please tell me how to change "apps \ waf \ ota2_bootloader" to a build target.
Thank you
Show LessMy setting is Nxp MXRT1020 EVK + Murata Module (CYW43012) and wltool ver : 43012C0.
interface is sdio.
I want to use wake_timer. but i got followd error.
PS C:\tools> .\wl.exe --serial 26 wake_timer 100 0xFFFF
set_info_fe: remote cdc header return error code (-14)
C:\tools\wl.exe: error -14
Err -14 is BCME_BUFTOOSHORT.
what's wrong? why was this message printed?
Can cyw43012 not use this feature?
follow is wl tool version information.
PS C:\tools> .\wl.exe --serial 26 ver
7/19/2017 build 0
wl0: Mar 12 2019 23:54:57 version 13.10.271.154 (r712270 WLTEST) FWID 01-8ffc67e7
Show LessI am trying to figure out a way to identify and print the mallocs on the heap. When I define WICED_ENABLE_MALLOC_DEBUG, the compiler can't find malloc_debug.h (and, neither can I).
I've searched some threads, to no avail.
Is there any advice on how best to print what specific mallocs are on the stack?
Thanks!
Show Less