I've been worked long time in field of mobile platform and have a plentiful career about low level system driver on mobile BB SW with commercial RTOS such as Nucleus and ThreadX.
Nowadays, I got a chance to get a job to develop BLE module using Cypress chip.
So, I'm gathering useful information for this stuff from your site and bought your CYW920706WCDEVAL board already.
However, I have a question about basic concept of development using WICED studio.
Basically, FW/driver engineer code and debug in full source level with OS API under RTOS environment. we compile and link it using ARMCC/ARMLNK to get bin file.
What's the difference between upper case and WICED studio environment?
what kinds of RTOS delivered from WICED studio environment? I couldn't find any information about RTOS used in your environment. otherwise, do I need to port any RTOS I have on your SDK env.?
It's a very simple question for you, but I've been confused about this basic concept. think my brain was harden due to long time career in one platform.
Please give me your basic concept regarding dev. environment with your studio/SDK.
Please tell me about the p_cyspp_status (.CYSPP, ID = 10/1) event of EZ-Serial FW.
I understand the following Bit mask in "S (status)" of Event Parameters.
- Bit0 (0x01) = Unacknowledged data subscribed
=> Indicates that 0x01(Notify) was written to the Configuration Descriptor(UUID 0x2902) of "Unacknowledged Data Characteristic(UUID 65333333-A115-11E2-9E9A-0800200CA102)".
- Bit1 (0x02) = Acknowledged data subscribed
=> Indicates that 0x02(Indicate) was written to the Configuration Descriptor(UUID 0x2902) of "Acknowledged Data Characteristic(UUID 65333333-A115-11E2-9E9A-0800200CA101)".
- Bit2 (0x04) = RX flow subscribed
=> Indicates that 0x02(Indicate) was written to the Configuration Descriptor(UUID 0x2902) of "RX Flow Characteristic(UUID 65333333-A115-11E2-9E9A-0800200CA103)".
However, I don't know when the following Bits will be effective.
Please tell me the conditions under which these Flags are set.
- Bit 3 (0x08) = RX flow blocked by remote Server
- Bit 4 (0x10) = CYSPP peer support verified
- Bit 5 (0x20) = Data mode active (used internally)
I'm testing Pairing on BLE using the new Firmware Version (v1.2.27).
The following settings are made.
- smp_set_security_parameters (SSBP, ID=7/11)
SSBP,M=4D (D = 0x08|0x04|0x01= LE Secure Connection, MITM, Bonding)
- smp_set_fixed_passkey (SFPK, ID=7/13)
SFPK,P=1E240 ( = 123456 [6-digit])
The terminal to connect to uses an Android tablet.
Pairing (1 to 3) is performed according to the following procedure.
1. Connection request from Android device
=> C event is output (Tablet address is random address)
2. Execute "smp_pair (/P,ID=7/3)" for the Connection Handle to request pairing.
3. Pair and Encryption completed
4. Execute "smp_query_bonds (/QB,ID=7/1)" and check the Bonding list.
After completing this pairing, disconnect once and reconnect from the tablet.
Then, in the C event, a different address will be output.
On my system, the addresses listed in /QB are paired addresses and I try not to perform step 2 above.
However, every time I reconnect, the address of the C event changes, and pairing (/P) is executed every time.
Is there a way to identify the address of the Central Device once paired?
If it is a public address, it is a fixed value.
However, in BLE, it is a random address, so it would be nice if I knew the IRK.
Is there a way to do that?
I am trying Deep sleep mode with the new FW (v1.2.27) of CYBT-353027-02.
The settings are as follows.
* I use CYBT-353027-02 EVB.
When entering deep sleep mode, LP_Mode pin is set to High.
(The current value of Module is several uA, so I think it is Deep Sleep.)
However, returning this LP_MODE pin to Low does not return the Module.
(The condition for returning is determined by issuing a BOOT Event from Module)
On the other hand, a similar test was performed with CYBT-343026-01 EVB.
(The LP_MODE pin is set to Active Low.)
In this Module, when LP_MODE is changed to Low, a Boot Event is issued and the original Active state is restored.
Why doesn't CYBT-353027-02 EVB return to active mode?
I purchased the devkit for the CYBT-343026-01 modules (CYBT-343026-EVAL) and was able to use it for my specific needs (run it in SPP mode) in an instant. Consequently I used the module in a design (replicated the evaluation board's schematic), received the boards, but the modules will not communicate through the PUART which leaves me unable to send/receive HCI commands for configuration. On top of that the name of the Bluetooth device is "MTK DUT 706" which is different from what the datasheet says.
I have not found anything related to this online and I am starting to be suspicious that there is a problem with the factory firmware.
What is the API to get the packet statistics (Tx and Rx) on a SCO session?
I am using WICED SDK 6.4 on 20706 based module. I have implemented an HFP Audio Gateway. This was based on the demo hci_audio_gateway. The PCM is routed to I2S.
During the testing we are encountering the audio loss after a long run in one direction. Audio codec is negotiated as mSBC. Looking for packet stats to assist with debugging.
I am looking for information on how to program a new module in-system at our factory. Since SWD is not accessible, where can i find information about the proper interface to use? (would like to confirm our assumption that the ROM code allows programming over the UART TX/RX pins on the CYBT-483062-02 module.)
Another person has already been asked in this thread, but there is no answer.
Please tell me how to calculate the baud rate error dut to use a custom baud rate not on a table.
I am using WICED Module Programmer to program EZ-Serial_WICED_V1_1_2_CYBLE-013025-00.hex to flash of CYBLE-013025.
After successful programming the contents of the flash are read by software developed by me. It was found that 64 bytes starting in address 0xFF002000 are not blank. Note that the HEX file above doesn't contain any information in this address, and really no data (according to scope) is written to the address 0xFF002000 by WICED programmer.
What these 64 bytes are? How are they created?
The new Firmware for EZ-Serial Firmware is released this week as follows.
Please tell me when the new Firmware version will be pre-programmed into the Module and shipped from the Cypress factory.
(In API Command, Option is added in some items in the new version, so it is necessary to modify the software of the customer's Host MCU.)
- CYBT-343026-01 (CYBT-333032-02 / CYBT-333047-02 / CYBT-343151-02)
The CYW20719/21 Module Firmware is also disclosed.
Will the Ez-Serial FW be pre-programmed for the CYW20719/21 Module and shipped from the Cypress factory?
If yes, when does it apply?