What happens to PSoC4 if RS-232 serial cable is unplugged during a bootlodable update by the bootloader via UART? Does the bootloader keep waiting for the next UART reception?
Since it's only halfway written to Flash, it may lead to corruption of the bootlodable. But if PSoC4 is reset and the Host System sends the bootloadable image again, I think it's possible to update the bootloadable.
Best regardsShow Less
Attached project uses 2 PWM components.
PWM makes square wave, and this square wave is stopped or started by PWM_Timer interrupt.
Attached pptx file is waveform of this square wave.
Sometimes it takes some time for voltage level to reach GND when square wave is stopped.
Please confirm red circle of attached pptx file.
Could you please let us know reason why this behavior occurs?
Does this behavior occur if PWM is stopped when voltage level is high?
Why doesn't voltage level go to GND immediately?
Could you please let us know solution to this behavior?
I want to immediately set voltage level to GND regardless of timing that PWM_stop is called.
Yutaka MatsubaraShow Less
I implemented code in psoc 4 with uC / OS, where there are tasks and interruptions, but I had a problem with the interruption. The interrupt I created is a button. The interrupt works, but when the interruption comes to an end, the tasks return to where they left off and I would like them to return from the beginning, is there any function of uC / OS III that does this?
Follow my code.Show Less
We know that the "CE210291 - PSoC® 4 CapSense® Low-Power One Button" project transitions between Deep Sleep and Active mode to achieve CapSense with low power consumption. When the Deep Sleep current is measured using CY8CKIT-041-40XX with the power supply voltage set to + 3.3V, it is several μA.
On the other hand, when the Deep Sleep current is measured with the power supply voltage set to + 5 V and the VREF set to 2.021 V, approximately 350 μA is consumed.
Do we need to put VREF to sleep before executing CySysPmDeepSleep ()?
If the power supply voltage is + 5V and the Vref is 2.473V, the Deep Sleep current will be several μA.
We would like to adjust the gain of raw count value with Vref.
I have a large project which I am trying to add a new characteristic to an existing service. I am using the CY8C4248LQI-BL583 chip and I can't seem to get the BLE APIs to properly generate. I keep getting an error when referencing the characteristic's handle. Note that this project is configured for OTA updates so I have a bootloader and a bootloadable projects.
Steps taken so far:
1. Go to the bootloader project, open the BLE 4.2 component, navigate to profiles, and add my new "custom glows" characteristic under the LED service. I set the read / write properties and the UUID of the characteristic.
2. I delete the automatically generated custom descriptor and add a CCCD, as instructed by the documentation.
3. Click OK, then clean / build the bootloader project.
4. I clean / build the bootloadable project.
5. I navigate to my bleCallback.c file in the bootloadable project and try to reference the newly added characteristic handle (as such: CYBLE_LEDS_GLOWS_CONTROL_CHAR_HANDLE) and it throws an error that I'm using an undeclared identifier.
The strange thing is if I navigate to the CyBle_custom.h file in the bootloader project, I see my CYBLE_LEDS_CUSTOM_GLOWS_CHAR_HANDLE value defined. I just can't reference it in my bootloadable project.
Also, my newly defined characteristic handle does not show up in the cyapicallbacks.h file of my bootloadable project. But, this file does contain all of the handles for my previously defined custom characteristics.
Does anyone have any thoughts as to what I'm doing wrong here?
I should note that I have recently migrated from a CY8C4148LQI-BL453 to the CY8C4248LQI-BL583 I'm using currently. This is my first time manipulating the BLE stack on this new MCU.Show Less
I am trying to connect to a PSOC4 BLE device via PC using Cypress DLL.
When I try to pair to the device, the DLL function (result.Device.Pair) returns a "fake" success, because the device does not show that pairing did succeed at that moment.
1. Is there a way to know if pairing truly succeeded? Checking device side is not an option.
2. If not, how long does "result.Device.Pair(cyPairSettings)" take?
3. This is another issue, why does sometimes GattMtuExchanged (..) does not occur?
(after running :Peripheral_.GattClient.ExchangeMtu(cyGattExchangeMtuInfo);)
What methods are available to tune capsense on a design that has only SWD pins available for probing?
A) Is it possible to run CapSense Tuner functionality over an SWD interface?
B) Can an Oscilloscope be used to see how a CapSense sensor is being charged then drained?
I understand Oscilloscope probes will add some amount of capacitance to change the performance.
I can use PSoC programmer to program the target chip,please see attached picture 1.
But I want to use PPCli to download, but I can’t do it. Here is my attempt to follow the instructions.
Below is the command I tried：
>OpenPort MiniProg3/1014DD0004C4 "C:/Program Files (x86)/Cypress/Programmer"
Device is not in ISSP mode.
Calibrate returned 80004005
command not found
Device is not in ISSP mode.
Program returned 80004005
Device is not in ISSP mode.
Verify returned 80004005
Q:How to use PPCli to download a Hex file to the target chip (CY8C4122LQI-433)???
Looking forward to your reply, thank you very much!!Show Less
I created a program in Psoc 4 BLE using uC / OS III, however when I add a task for the button and send it to Psoc and put it to work, the other tasks start normally, but do not do their functions normally, that is , they start and remain the same as they started, without doing their job. Could someone please check my program for me. The problem is in the App_Botao_Pedestre_1_Task task.
To access the project, open Psoc Create and then click on "file-> Open-> Project / workspace" and open the folder "Micrium\Examples\Cypress\CY8CKIT-044\OS3\PSoC\OS3.cywrk"Show Less
I have a PSOC 4 MCU with BLE 4.1
I would like to understand if there is a way to verify a write response was actually sent to a write request?
Today, I use this API function provided by cypress:
The function is said to return the following options:
* \return * CYBLE_API_RESULT_T : Return value indicates if the function succeeded or * failed. Following are the possible error codes. * * Errors codes | Description * ------------ | ----------- * CYBLE_ERROR_OK | On successful operation * CYBLE_ERROR_INVALID_PARAMETER | 'connHandle' value does not represent any existing entry in the Stack * CYBLE_ERROR_INVALID_OPERATION | This operation is not permitted * CYBLE_ERROR_MEMORY_ALLOCATION_FAILED | Memory allocation failed
So even if I get CYBLE_ERROR_OK returned, it doesn't necessarily mean that the response was sent yet. I understand that it just means that the request to send a response has been received successfully by the stack and it will now take care of it asynchronously. This is a problem for us because we need to reset the MCU immediately after receiving a specific write request. But we need to send a response before the reset, otherwise, it will cause a problem in the device that had sent the write request.
So we need to be able to know that the response has actually been sent. How can we know this?