- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am seeking advice on using CYSPP to connect to an iOS app.
What I Am Doing
- EZ-Serial has been installed on CYBT-483039-EVAL board
- CYBT-483039-EVAL board is connected via USB serial port to PC
- PC app is emulating a BLE device that will use a CYBT device
- iOS app connects to CYSPP service
- iOS app sends dumpbinfile command to CYSPP device
- PC app, in response to dumpbinfile, returns number of bytes it is about to send, then dumps contents of a binary log file by sending binary data directly to CYBT-483039-EVAL board, appending a CRC32
- iOS app received data over CYSPP Unacknowledged Data Characteristic
All is good most of the time.
Intermittently, the iOS app does not receive the expected number of bytes. Data loss is more common on a larger 3 MiB file than a 7 kB file.
Questions:
1) Is problem because I am sending data to CYBT-483039-EVAL over PC USB serial without using any API commands?
2) For reliability do I need to use both the Acknowledged Data characteristic and RX Flow characteristic ?
3) How can send binary data to CYBT-483039-EVAL board, over the USB serial connection, to the Acknowledged Data characteristic and use RX Flow characteristic ?
When I send data to CYBT-483039-EVAL over PC USB serial, it appears by default, to send using Unacknowledged Data Characteristic.
Thank you for your help,
-Ed
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
"When CYSPP data mode is active, any data received from an external host will be transmitted to the remote peer, and any data received from the remote peer will be sent out through the hardware serial interface to the external host" - This means, you do not have to use any APIs for communicating between an external host and CYSPP device. It is already implemented in that way.
For reliability, you can definitely use Acknowledged Data as well as RX Flow Control.
As you can see in the user guide, the remote device (IOS) can choose data characteristics.
2. Upon connection, a remote peer must subscribe to one of the two “Data” characteristics:
a. Acknowledged Data, enable indications (guaranteed reliability)
b. Unacknowledged Data, enable notifications (faster potential throughput)
Please check the below user guide.
Thanks,
-Dheeraj.P.K
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
"When CYSPP data mode is active, any data received from an external host will be transmitted to the remote peer, and any data received from the remote peer will be sent out through the hardware serial interface to the external host" - This means, you do not have to use any APIs for communicating between an external host and CYSPP device. It is already implemented in that way.
For reliability, you can definitely use Acknowledged Data as well as RX Flow Control.
As you can see in the user guide, the remote device (IOS) can choose data characteristics.
2. Upon connection, a remote peer must subscribe to one of the two “Data” characteristics:
a. Acknowledged Data, enable indications (guaranteed reliability)
b. Unacknowledged Data, enable notifications (faster potential throughput)
Please check the below user guide.
Thanks,
-Dheeraj.P.K
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dheeraj,
Thank you for explaining why sending binary data to CYBT eval board seems work without using APIs.
Could my missing data be caused by PC over-running the CYBT Eval board, when sending 3 MB of binary data over USB serial to CYBT eval board?