WICED™ Studio Forum Discussions
Browse the Community
Featured Discussions
Where can we get Old Versions of the WICED IDE SDK?
Hello.
In a previous post I read that I can use TopJTAG Flash Programmer to drive ARM-USB-TINY-H From Olimex, so
I've bought ARM-USB-TINY-H and I've downloaded TopJTAG Flash Programmer for evaluation.
I've installed TopJTAG Flash Programmer.
After running TopJTAG Flash Programmer I went to "Setup>>JTAG Connection".
In this window I selected "Connection: Generic FTDI FT2232" and "Static pins: Olimex ARM-USB-OCD".
But, when I click the green refresh button at the right of "Static pins", the software doesn't see the attached ARM-USB-TINY-H From Olimex
My machine is Windows 10 Pro 64x and in the device manager I see my ARM-USB-TINY-H From Olimex
to install OLIMEX I've used zadig 2.5
Show LessI want to receive the advertising signal of the surrounding iBeacon terminals, but when I execute wiced_bt_ble_observe(WICED_FALSE, 0, obv_callback), the information of the connected BT module (MAC address and advertising signal) is output.
The questions are summarized below.
When using the wiced_bt_ble_observe function,
- Why is the information of its own BT module (MAC address and advertising signal) output?
- Why is it scanned when the first argument is WICED_FALSE?
Also, if you have an example of using the wiced_bt_ble_observe function to receive the iBeacon device's advertised signal, I would appreciate it if you could provide the source code or project file.
<Development environment>
- Integrated development environment
- STM32CubeMX ver.6.5.0
- IAR Embedded workbench ver.9.30.1
- MCU: STM32H743XIH6
https://www.digikey.jp/en/products/detail/stmicroelectronics/STM32H743XIH6/7915906
- Wi-Fi/BT module: 1DX M.2 Module
https://www.embeddedartists.com/products/1dx-m-2-module/
- API
https://github.com/Infineon/bluetooth-freertos
<source code>
main.c (excerpt)
/* Configurate the Bluetotoh platform specific settings. */
cybt_platform_config_init(&bt_platform_config);
/* Initialize the Bluetooth controller and stack. */
wiced_result_t result = wiced_bt_stack_init(NULL, &wiced_bt_cfg_settings);
printf("%d\n", result);
-> 0 (WICED_BT_SUCCESS)
/* Get current scan state */
wiced_bt_ble_scan_type_t ble_scan_state;
ble_scan_state = wiced_bt_ble_get_current_scan_state();
printf("%d\n", ble_scan_state);
-> 2 (BTM_BLE_SCAN_TYPE_LOW_DUTY)
/* This function makes the device start or stop operating in the observer role. */
status_ble = wiced_bt_ble_observe(WICED_TRUE, 0, obv_callback);
printf("%d\n", status_ble);
-> 8105 (WRONG_MODE)
status_ble = wiced_bt_ble_observe(WICED_FALSE, 0, obv_callback);
printf("%d\n", status_ble);
-> 8100 (WICED_BT_PENDING)
status_ble = wiced_bt_ble_observe(WICED_TRUE, 0, obv_callback);
printf("%d\n", status_ble);
-> 8100 (WICED_BT_PENDING)
status_ble = wiced_bt_ble_observe(WICED_FALSE, 0, obv_callback);
-> MAC: 2B:88:A7:0C:8E:88: /* BT module's MAC Address */
-> Data: 94 D1 C4 9B 77 37 2D 85 19 CE E6 5C ...
printf("%d\n", status_ble);
-> 8100 (WICED_BT_PENDING)
We have a platform that uses WICED Version 3.7.0-7. AN STM32F469 processor uses the WiFi/BT module LBEE5KL1DX. We're able to bond with and connect and reconnect to a BTLE 4.0 keyboard without issues. When we do the same with the same model of keyboard that uses BTLE 5.0, we're able to bond with and connect with the keyboard, but upon re connection, the firmware crashes. From the debugger, it seems to be crashing in a pee-compiled module we have: BTE_low_energy.FreeRTOS.LwIP.ARM_CM4.release.a.
Our belief is that something in the firmware is not handling BT 5.0 events correctly and is causing the firmware crash. But it isn't easy to tell what's going on in the project and the .a file is a bit of a mystery too. Are there any clues as to where to look for this issue? Is there perhaps an updated version of WICED or an updated driver file we should be using?
Show LessEnvironment and SDK information:
WICED version: 6.4
Wi-Fi Module: Murata Type1GC
Wi-Fi connection(to wireless LAN AP) is lost immediately after 11 hours past with WPA3-SAE.
We think it was caused due to Wi-Fi module is down. It's not disconnected by wireless AP.
And we have already tried other wireless LAN AP from several vendors, and we confirmed that the same issue was reproduced in every case.
However, if we choose WPA2-PSK, the issue doesn't happen. Wi-Fi connection is still alive after 11 hours past.
Do you have any solutions to this issue?
Show Less1GC sends data using UDP, Call wiced_result_t wiced_udp_send(wiced_udp_socket_t * socket, const wiced_ip_address_t * address, uint16_t port, wiced_packet_t * packet), can only send 1472 bytes?
I have changed NX_DONT_FRAGMENT to NX_FRAGMENT_OKAY when I call wiced_UDP_create_socket to create UDP socket. The result is also not supported.
Call wiced_packet_create_udp(socket, 4000, &packet, (uint8_t**) &data, &available_data_length), The value of available_data_length is 1508.
We have a issue with non-working BLE advertisement after exit from Sleep mode.
Our procedures of enter to and exit from sleep mode looks more or less like that:
// turn on powersave mode (enter to sleep mode)
wiced_wlan_connectivity_deinit(); // WIFI module deinitialization
wiced_gpio_init( WIFI_EN, INPUT_HIGH_IMPEDANCE ); // WIFI module power off (LDO disable)
wiced_platform_mcu_enable_powersave(); // enable MCU sleep mode
// here we have very nice power consumption, about 500uA
// device sleep
// device wakeup
// turn off powersave mode (exit from sleep mode)
wiced_platform_mcu_disable_powersave(); // disable MCU sleep mode
wiced_gpio_init( WIFI_EN, OUTPUT_PUSH_PULL ); // WIFI module power on (LDO enable)
wiced_gpio_output_high ( WIFI_EN );
wiced_wlan_connectivity_init( ); // WIFI module initialization
// enable BLE advertisement after exit from sleep mode
wiced_bt_start_advertisements( BTM_BLE_ADVERT_UNDIRECTED_HIGH, 0, NULL );
Deinitialization WLAN connectivity only (without turning off WiFi power cause high power consumption, above 10mA).
Turning OFF WiFi RF power (by external LDO) decrease power consumption below 500uA which is expected.
Reintialization everything in a clear way, together with turning ON WiFi RF works well until start BLE advertisement.
Starting BLE advertisement causes continuous periodic (every 8.5s) receiving BLE_ENABLE_EVT events from bluetooth stack.
And advertisement doesn't work, we are not able to see any advertisement packets.
We definitely would like to turning off/on WiFi power by external LDO, because it gives us additional 1mA of power savings in compare to powersave only without WiFi deinitialization.
What could be a reason for this behaviour?
Are our enter/exit sleep mode procedures correct?
Show LessI have faced MIC(Message Integrity Check) error for LE connection. I can see same issue on following link, could you help how to resolve?
For more information, please refer to the following.
https://community.infineon.com/t5/Studio-Bluetooth/Bug-report-Connection-Terminated-Due-to-MIC-Failure-0x3d-WICED-6/td-p/245462
https://community.infineon.com/t5/Studio-Bluetooth/Bug-report-BLE-cant-reconnect-to-a-bonded-device/m-p/35458#M163
1. Test environment
1) H/W
- Local H/W : CYW920706WCDEVAL
- Peer device :
> LG Stylus2
>> Android version 7.0
>> BR/EDR public BD address : DO:13:FD:50:F8:C8
> HUAWEL P9 lite. (Model number : HUAWEL VNS-L22)
>> Android version 7.0
2) S/W
- SDK : ModusToolBox 2.3 and LE_Hello_sensor application
- SDK LIB : Wiced_btsdk baselib release v3.0.0
- Peer Apps : LightBlue, local developed BLE application.
2. Test procedure
- Step 1. Hello_sensor build & download
- Step 2. Pairing with android phone.
- Step 3. Connection success.
- Step 4. Remote disconnect after pairing success.
- Step 5. Start connection from andoid phone.
- Step 6. Link connection fail due to MIC error. (error code 0x3d)
3. Test Results
- I tested other BLE peripheral with two android phones and it works well. (No MIC error)
- CYW920706WCDEVAL works fine with iphone, and other many android phone.
- HCI fail : HCI_Encryption_Change event status code 0x3d. (mic error)
5. attached log file.
- mic_error_app_log.txt : application log with MIC error.
- mic_error_btspy.txt : MIC error with CYW920706WCDEVAL and LG android phone.
- no_mic_with_iphone.txt : No MIC error with CYW920706WCDEVAL and iphone.
Thanks.
Show LessHello.
We develop a board with the same processor in CYW943907AEVAL1F.
We mount CYPRESS S25FL064LABNFI010 instead of MX25L6433FZNI as FLASH.
I modify CYW943907AEVAL1F.mk row 62 from
GLOBAL_DEFINES += SFLASH_SUPPORT_MACRONIX_PARTS
to
GLOBAL_DEFINES += SFLASH_SUPPORT_CYPRESS_PARTS.
We used OLIMEX ARM-USB-TINY-H as programmer and I launch this make target
"My project location"-CYW943907AEVAL1F download run JTAG=Olimex_ARM-USB-TINY-H
The debugger log says that's all it's OK but my APP doesn't start.
I try to modify sflash_write.c to execute this steps in order to understand if FLASH can be programmed properly:
/* init */
if ( 0 != init_sflash( &sflash_handle, 0, SFLASH_WRITE_ALLOWED ))
{
DEBUG_PRINTF(( "init_sflash failed!\n" ));
return -1;
}
/* erase */
DEBUG_PRINTF(( "1. erase\n\n" ));
if ( 0 != sflash_chip_erase( &sflash_handle ))
{
DEBUG_PRINTF(( "sflash_chip_erase failed!\n" ));
return -1;
}
/* write */
int i = 0;
for(i=0;i<256;i++) data_transfer.data[i] = (uint8_t)(i&0xFF);
DEBUG_PRINTF(( "ADDRESS HEX\tWRITTEN HEX\tREAD HEX\n" ));
long j=0;
for(j=0;j<32768;j+=256)
{
/* write */
if ( 0 != sflash_write( &sflash_handle, j, &data_transfer.data[0], 256))
{
DEBUG_PRINTF(( "sflash_write failed!\n" ));
goto end_test;
}
(void) platform_watchdog_kick( );
/* read */
if ( 0 != sflash_read( &sflash_handle, j, &Rx_Buffer[0], 256))
{
DEBUG_PRINTF(( "sflash_read failed!\n" ));
goto end_test;
}
(void) platform_watchdog_kick( );
for(i=0;i<256;i++)
{
DEBUG_PRINTF(( "%08X\t\t%02X\t\t%02X", (int)(i+j), data_transfer.data[i]&0xFF, Rx_Buffer[i]&0xFF));
if((data_transfer.data[i]&0xFF) != (Rx_Buffer[i]&0xFF))
{
DEBUG_PRINTF(( "----> failed !"));
}
DEBUG_PRINTF(( "\n" ));
}
}
This test says that FLASH can be programmed in a properly way ... but I don't undestand why after programming FLASH
the APP does'nt start.
Is there a kind who can help me?
Show Less