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.
Questions:
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);)
Thanks!
Show Less
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.
Show Less
Dear All,
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:
>GetPorts
<MiniProg3/1014DD0004C4
0 OK
>
>OpenPort MiniProg3/1014DD0004C4 "C:/Program Files (x86)/Cypress/Programmer"
<
0 OK
>HEX_ReadFile "c:\\B.hex"
<0x00004000
0 OK
>SetAcquireMode “Reset”
<
0 OK
>SetProtocol 8
<
0 OK
>SetProtocolConnector 0
<
0 OK
>SetPowerVoltage 3.3
<
0 OK
>PowerOn
<
0 OK
>DAP_Acquire
<
0 OK
>Calibrate
E
Device is not in ISSP mode.
Calibrate returned 80004005
80004005 OK
>Erase_All
command not found
1 OK
>Program
E
Device is not in ISSP mode.
Program returned 80004005
80004005 OK
>Verify
E
Device is not in ISSP mode.
Verify returned 80004005
80004005 OK
>
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 Lessello there,
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 LessHello,
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:
CyBle_GattsWriteRsp(cyBle_connHandle)
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?
Thanks,
Eyal
Show LessHi,
in our products we are using the CYBLE-022001-00 controller. We have sold more the 10'000 units and got a lot of consumer returns. The reason is that the Flash content of a specific section got lost.
The FW is calling WriteUserSFlashRow to write some information provided by the production script into the flash. After a while it turned out, that those information are gone. All other sections in the flash are still ok, the FW is running. After analyzing the code it turned out, that the FW reads out this section and write it back. I think that could be the root cause but I'm not sure.
- Did someone observe same issues?
- How to check if the brown out reset (BOR) is enabled?
- What are the maximum write cycles to the Flash?
Thank you for supporting me
Best Regards
Lehsam
Show LessI have an application where I am trying to minimise current draw when waiting for an external trigger signal, but then need the PSOC to leap out of bed and set one of my GPIO pins high as quickly as possible - I'm talking sub 10usec after the trigger is received, if possible.
I'm putting my code into Hibernate and triggering it out of this mode with a GPIO interrupt. But I'm coming up against a couple of issues:
1. In the default start up code that PSOC Creator spews out (cyfitter_cfg.c), there are a number of delays (one of them is 500msec!!) slotted into the startup code to allow various clocks to settle. So, if I leave the cyfitter_cfg.c as is, I've got no hope. I'm seeing delays of 520msec or more between when the trigger occurs, and when my GPIO is set high.
2. In attempt to get around the above issue, I manually changed cyfitter_cfg.c so that the very first thing it does is write to one of my GPIO pins, but I think some other code needs to run beforehand, so that the appropriate GPIO is configured correctly (in my case as an output with Strong Drive). This is where I read this: https://community.cypress.com/t5/Knowledge-Base-Articles/GPIO-State-during-Startup-in-PSoC-4-KBA227963/ta-p/249649
I read in the datasheet for the PSOC4 that the wakeup time for the PSOC4 to exit Hibernate mode is 3msec, but its not clear what this refers to, particularly given the fact that there is a 500msec thumb-twiddling delay inserted into the start up code by default.
Does anyone know a way I can get my GPIO pin set up and write a "1" to it in the sort of time frame I'm needing? (< 10usec after the trigger signal)
Cheers,
Mike
Show LessHello,
I have created a trackpad using the PSoc 4 MCU that will be utilized as a BLE Mouse to control a cursor on a computer screen. I would also like to collect information on the position of the finger on the trackpad. Up until now, I have used the Launch tuner to log this position data, however, I would ideally like this to be done on a computer software. How can change the provided BLE HID Mouse code by Cypress to read information related to the position of the finger on the trackpad rather than the displacement?
Thank you,
Show LessI 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 LessHello there,
I created a project on Psoc 4, using the uC/OS. I created 3 tasks, two tasks for turn on and turn off leds and one taks is a botton. The task called "Sinal_Pedestre_1_Task" is not working and I do not know why. Someone can help?
Follow the project on the attachment.
For open the project, unzip the file and open the Psoc Creator first, and then click in "File->Open->Project/Workspace" and open the project "Pratica 3_Psoc 4\Micrium\Examples\Cypress\uCOS_PSoC4_BLE\OS2\PSoC\uCOS II.cywrk".
Show LessExpert II
Esteemed Contributor
Employee
Honored Contributor II
Employee
Employee
Honored Contributor II
Employee