PSoC™ 4 Forum Discussions
Hi friends,
Kindly support me to verify the attached gerber file for PCB layout.
I had made schematic for 4 capsense buttons and programming pins, attached schematic for your reference and verification.
Looking forward your support to verify and correct me if there is any mistakes in the schematic and layout.
with Thanks & Regards
K Jagdish
Show LessHi. I'm trying to simultaneously (well, interleaved, to be more accurate) read multiple SAR ADC channels into a RAM buffer via DMA on a PSOC 4, but I'm having a hard time seeing how. I wouldn't even mind if they wound up interleaved in the buffer, but don't see how to do that either.
Specifically, the DMA_Start function takes a SrcAddress parameter, which lets me successfully configure and DMA from any one ADC channel by providing, for example, ADC_SAR_CHAN0_RESULT_PTR as SrcAddress. This works great. But there's no option to specify multiple source addresses. I've tried chaining the DMA descriptors in a loop, but unsurprisingly, I just don't get any data from channel 1, it always reads 0. I can't run DMA_Start twice -- whichever SrcAddress is last, I get data only on that channel.
None of the examples I've found actually do this either. But I'm sure it must work -- not much point in a sequencing ADC if you can't actually get multiple channels of data out!
Show LessI am using 'cy8c4247lqi'. I am i am trying to interface fingerprint sensor over the uart.
My sensor can understand only HEX. Problem is i can sent Only String and char. by usinguartputstring() and uartputchar() but is is acsii value.
Please anyone guide me how to send and receive HEX in Uart.
Thanx
Dharmesh
Show LessDear all,,,
I have a develop plan to make the cheering led stick with Cypress PSoC BLE 4100.
This application will make up that one is broadcaster, the other is observer.
My reqeust is the below.
1. As I know, the BLE adv packet length is 31 byte. This is fix length by BLE Spec.
2. But, I want and need that BLE adv packet length wll be increased over 31 byte if possible even though this request is not satified with BLE spec.
3. Could you please, support example project to communicate with over 31 byte adv packet length between broadcaster and observer.
Thanks,
Best Regards.
Philip
We are testing the EZ-Serial firmware on the EZ-BLE CYBLE-212019-00 module and, in particular, pairing/bonding (security features) and whitelist management.
Using default parameters and a very simple setup, request for pairing the BLE module from the CySmart application on Android seems to freeze the BLE module.
This problem also happens in a small custom test application we implemented for testing the performances and features of the EZ-Serial firmware.
The setup:
- CY8CKIT-042-BLE Pioneer kit with a CYBLE-212019-EVAL Evaluation Board plugged-in,
- The EZ-BLE module has been updated/programmed with the last version of EZ-Serial firmware (EZ-Serial_V1_0_2_CYBLE-2120XX-X0),
- CySmart has been installed and tested on two Android smartphones (Sony and Lenovo on Android 6.0),
- Putty is used to check the output of EZ-Serial firmware.
Here the steps for reproducing the problem:
1) Start or reset the BLE module. Output:
@E,003B,BOOT,E=01000215,S=030200FA,P=0102,H=05,C=01,A=00A0504219E3
@E,000E,ASC,S=01,R=03
2) Start the CySmart app on the phone (every trace of previous pairing/bonding information has been removed).
3) In the list of BLE devices, click on the “Not Paired” button of the EZ-Serial device. The output from EZ-Serial is:
@E,0035,C,C=04,A=5061E6D49099,T=01,I=0028,L=0000,O=07D0,B=00
@E,001B,P,C=04,M=03,B=01,K=10,P=01
@E,001D,CU,C=04,I=0006,L=0000,O=07D0
@E,000E,ENC,C=04,S=01
@E,001B,B,B=04,A=5061E6D49099,T=01
@E,000F,PR,C=04,R=0000
4) The last line of the output indicates that the pairing request is successful, but the module is now unresponsive, i.e. the connection LED remains blue, the BLE module is not visible anymore, no command can be passed through the console (even no echo), no supervision timeout.
It seems to be related to the EZ-Serial firmware and I would like to know what is the recommended procedure to pair the EZ-BLE module from an Android or iOS device with the EZ-Serial firmware on the BLE module.
I already check the documentation of the EZ-Serial firmware (and I also already tested a custom firmware implementation with PSoC Creator) but the EZ-Serial API seems to be a quick solution for our development (similar to the BlueGiga Smart API from SiliconLabs for BLE112 and BLE113 modules).
Note: I also read the Section on EZ-Serial firmware documentation about Security and Encryption Examples. The step-by-step automatic pairing request acceptance example (p.57, Section 3.8.2.2, with auto-accept bit at 0 using “SSBP,F=0” command and “/PR,R=0” to accept pairing) also freezes the module. Finally, it seems that when there is time between connection and pairing requests (in a custom app implementation) the pairing is ok.
Thanks in advance for your help.
David
Show LessI am running the UART_to_BLE example but have made modifications to the peripheral code so that the demo board (CY8CKIT-042-BLE-A) acts like an emulator for a board set we have not made yet. The basic functionality works fine (I am using Coolterm String Entry to test this). When I issue a command ($ followed by two characters and 😃 which is followed by data and then an !, the ! indicates I am writing and the peripheral device then simply issues an acknowledge (after checking to see whether the command is valid) to the central device. If I issue a command similar to what is described above followed by a ?, the ? indicates a read condition and the device should send data back. This also works but only when the string is short. For example, if in coolTerm, the Central device issues the command $DT=?, values corresponding to DT should be returned from the Peripheral device to the central device. If \n$DT=10743,1777!\n, values will be returned as expected. But if I set $DT to the intended length: "\n$DT=10743,1777,3964,3786!\n", I get stuck in the loop :
do {
bleApiResult = CyBle_GattsNotification(cyBle_connHandle, &uartTxDataNtf);
CyBle_ProcessEvents();}
while((CYBLE_ERROR_OK != bleApiResult) && (CYBLE_STATE_CONNECTED == cyBle_state));
with a CYBLE_ERROR_INVALID_PARAMETER invoked as part of the bleApiResult. Note that the modifications to the code are mainly in the app_UART.c and app_UART.h files.
By the way, when I submit the complete string in CoolTerm from the Peripheral Side, I do get the complete string received by the central device. It is only when I try to respond to the Central device in code by sending a string that I run into this error and limitation on string size.
I have submitted a MyCases for this but sometimes takes a while to resolve. If there is anything obvious I am missing, I would appreciate your feedback.
Show LessHi everyone
i have built a custom pcb with cycble module connected to a bme280 over i2c. If I program the BLE module with a sample 'findme' program, all works well as in on my iOS device running cysmart I can see and interact with device. However if I make my own custom Bluetooth profile, I can never get it to show in cysmart. Now I know it is down to my configuration but I just can't get a custom config to work to show the temp/pressure/humidity from the bme280? Anyone any help maybe a working custom config? I just can't get me head around configuring this feature of the cycble module
thank you in advance for any help
regards
paddy
Show LessCould you please answer some newbie questions
1. It is my understanding that paring is a process in which 2 devices communicate over a connection that is established after a passkey has been exchanged. Bonding is a process where the passkey is saved so next time devices connect they don't have to exchange the passkey and the connection is established quicker.
Here is where I have a disconnect: The GAP settings tab of the BLE component has options to disable pairing/bonding and yet it's possible to establish communication with various services that a device has and read and write data to/from various characteristics.
So am I correct in assuming that pairing and bonding are only for security purposes?
What about advertising (i.e beacon functionality) ?
How does pairing/bonding affect advertising?
Related questions
1. How many unpaired/unbonded connections can a client ( i.e iOS and Android ) can have?
2. How many paired and bonded connections?
3. Same question regarding the BLE component itself
Thank you
Andy
Show LessHi,
I am working on an application(Street lighting) wherein we want to cover a lot of distance using BLE(few hundreds of meter). So we are using the long range BLE(CYBLE224110). But here one to one communication wont work due to distance. Hence I am trying to implement multihop implementation where a packet is sent from module 1 to module 2, module 2 to module 3, module 3 to module 4 and when the packet has finally reached the module 4, the response is send back from module 4 - 3 - 2 - 1. Here latency is not much of an issue but would still like to optimize to best possible solution.
So what I have done is, use the custom profile project which behaves as both central and peripheral. Each module will switch between central and peripheral on timely manner. Whenever module 1 has a packet, it will connect to module 2 as a master. Here the connection is done based on the BD address check. After the connection, packet is sent in the form write characteristics. Then when module 1 receives a GATTC_WRITE_RESP, I disconnect and do this same process with module 2 and module 3. This way packet is propagated till module 4. And for response, the same process is repeated and response packet is sent back to module 1. The response is received here, but after some delay.
So my question is, is there a way to optimize this solution and reduce the latency? Also if there are some working mesh network example on the PSoC 4200 BLE part projects which builds with the latest creator, that would help.
Thanks
Pramod
Show LessI implemented a timer counter module to generate periodic interrupts an initiate some actions in my application. I want this to run all the time if I'm disconnected or connected. The timer initializes and runs as expected prior to a connect from an Android tablet. However, when I disconnect from the tablet the timer stops. I have tried inserting a timer enable function in the BLE event handler for a disconnect to keep the timer active. This worked, but I'm not sure it's the proper thing to do. I didn't find what's causing the timer to stop in the timer module code.
Let me know what you suggest as the best way to keep the timer running and generating interrupts.
Thanks, Max