PSoC™ 4 Forum Discussions
In debug mode, serial communication can run normally. But in release mode, it seems that serial communication can't run, I can't receive anything from uart.
Show LessDear supporter,
I would like to translate the following KBA. Could you confirm?
Best regards,
JUTA_2823561
Dear Sirs and Madams,
We are developing PSoC4S with ModusToolbox.
That device number and IDE version used are as follows :
PSoC4S : CY8C4126AXI-S445
ModusToolbox : Version 3.1.0
Device Configulator : Version 4.10
We set the ECO settings of the device configurator as shown in the image below, and when we save, an error appears.
Frequency : 24.000 MHz
Accuracy : +/- 50 ppm
Drive Level : 20 uW
Equivalent Series Resistance : 60 Ohm
Parallel Load Capacitance : 11 pF
When I tried it here, I found that changing the DL value from 20uW to 21uW could avoid the error.
Frequency : 24.000 MHz
Accuracy : +/- 50 ppm
Drive Level : 20 uW => 21 uW
Equivalent Series Resistance : 60 Ohm
Parallel Load Capacitance : 11 pF
I think 20 uW is within the usable range according to the TRM calculation formula, but do you know why the error occurs?
Frequency : 24.000 MHz
Drive Level : 20 uW
Equivalent Series Resistance : 60 Ohm
Parallel Load Capacitance : 11 pF
Vpp = 0.49V is calculated from the formula listed in Architecture TRM.
When changing DL from 20uW to 21uW, Vpp = 0.50V.
This issue can be reproduced not only with ModusToolbox, but also with PSoC Creator 4.4.
The descriptions of Architecture TRM and Register TRM are not consistent with the IDE.
Regards,
Show LessHi, I want to create a basic project for CY8CKIT-041S-MAX PSOC 4100S MAX PIONEER BOARD of changing the LED intensity using PWM to give it a breathing effect. I want to use the PDL library for this instead of HAL library. Can someone share a basic project that does this. I am very new to this board and ModusToolbox.
Show LessI am looking for an example or method to set up a central device to get a notification from a peripheral when a button is pressed. I looked through a variety of examples and non seem to address this application. I can already scan and connect to the peripheral device. Once the peripheral is connected, when the button is pressed it sends a notification with the value "B1". When the button is released, it sends the notification with value of "B0". I know this part works because I can connect the peripheral to an app called Light Blue. I can see the data change every time I press the button. I want to replicate this on the PSOC4-BLE module. Every example I have found is the central device writing to the peripheral, not the other way around. To reiterate, scanning and connecting is not the issue. I need to get the button status from the peripheral to the central device. Any help will be greatly appreciated.
Jim
Show LessI'm getting intermittent disconnections with a BLE_HCI_INSTANT_PASSED reason, when my PSoC 4 peripheral tries to change the connection parameters. The original connection parameters specified in the central's CONNECT_IND are a connection interval of 30ms, a supervision timeout of 500ms, and a peripheral latency of 0. This works fine, but part way through the service discovery process, the peripheral tries to change these to what I've requested in the BLE Component, which is 1s, 12s, and 2. Sometimes this fails. My sniffer shows the following events leading up to the error (showing the seconds portion of the time, the event counter, and a description):
32.584 0x0050 peripheral sends L2CAP_CONNECTION_PARAMETER_UPDATE_REQ
32.672 0x0053 central sends LL_CONNECTION_UPDATE_IND with instant=0x0059
32.702 0x0054 central sends L2CAP_CONNECTION_PARAMETER_UPDATE_RSP accepting parameters
central also sends unrelated ATT_READ_REQ
32.732 0x0055 ACK/ACK
32.762 0x0056 ACK/ACK
32.792 0x0057 ACK/ACK
32.822 0x0058 ACK/ACK
32.852 0x0059 ACK/ACK
33.852 0x005A ACK/nothing
34.852 0x005B ACK/nothing
etc.
The peripheral logs events via UART output, and shows the following:
32.641 CYBLE_EVT_L2CAP_CONN_PARAM_UPDATE_RSP: Accepted
32.641 CYBLE_EVT_GATTS_READ_CHAR_VAL_ACCESS_REQ, attHandle: 16
32.641 CYBLE_EVT_GATT_DISCONNECT_IND
32.641 CYBLE_EVT_GAP_DEVICE_DISCONNECTED: 0x28
These timestamps come from the terminal program, and there appears to be some offset between them and the sniffer timestamp, but the peripheral is clearly outputting these in response to event 0x0054. Note that it is immediately reporting a disconnection for the BLE_HCI_INSTANT_PASSED reason code (0x28), yet it continues to respond with ACKs until that instant actually arrives. At that point, the central switches to the new connection interval and the peripheral stops responding.
So the question is: why is the peripheral complaining in advance about the instant specified in the LL_CONNECTION_UPDATE_IND? It looks reasonable to me, and is sent six events in advance as required by the spec.
Show Less