PSoC™ 4 Forum Discussions
Dear All,
Can i have any project on LM35 + PSOC4 ? for my reference.
As i am working on one project right now in which i have to interface PSOC4 with LM35 and based on temperature out from LM35 i have to send commands on UART to master controller.
Naintech.
Show LessI have a running USB project with only a USB block in TopDesign. And I have a second complete project with pinning and pheriperals but USB does not work. I compared both USB settings and did not find any difference. Ist there a way to clone this projects that I will get the USB in second project working by overlaying both projects
Show Lessuint8 ProgramData(uint32 address, uint8* data, uint32 length)
{
.........
}
I want to define this function in ram so that after hardwa reset it will disappear. I tried to change the link file add a section in ram area and use "CY_SECTION".It builded successfully but it failed in programming.It showed that the hex file not correct.Could somebody tell me how to modfiy this code?🤔
Show LessHello,
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.
Best regards.
Yocchi
Show Less
I've got some code I've been writing that I now want to convert over to be able to upgrade Over The Air.
The code has the BLE component set up as a Client and Server profile. The Client profile is configured with a Current Time Service, to enable syncing of the time in my code whenever it is accessed via a central device. In the Server profile, I've got various custom services along with all the normal ones (Device Information, Generic Attribute, Generic Access, etc).
The Server profile is also set up to stuff some data into the Scan Response Packet, to make it easier to get data across to the Client without requiring a connection. Connection is reserved for firmware updates (if I can get this to work!)
The code, as a non-OTA arrangement, compiles and works fine. Until I attempt to convert it over to an OTA Fixed Stack Bootloadable version. I've done this before, just not with the CTS functionality included, and its always worked. I've followed all the steps outlined in the OTA Guide (AN97060), but I'm still not getting the Bootloadable code to compile. Its throwing up a bunch of errors associated with the CTS functionality, even though I've made sure I've included the appropriate header files, etc.
The particular things its getting errors on are:
- CyBle_GetClientState()
- CYBLE_CLIENT_STATE_DISCOVERED
- cyBle_ctsc
I can see that these are all defined in the Bootloader source code (in BLE_eventHandler.h & BLE_cts.c and BLE_cts.h), but for whatever reason, my Bootloadable code isn't seeing them.
Any ideas what I'm doing wrong??
Cheers,
Mike
Show LessHello,
I am using the PSOC CYBLE-022001-00. I have a timer interrupt that is programmed to interrupt every 250msec. The interrupt service routine toggles a port pin that drives an led. The program works fine in debug mode but in regular run mode the timer interrupt does not happen. Any help would be greatly appreciated.
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 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 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 LessHi, I am using CY8C4248LQI-BL583 and Launcher - Stack - Application configuration.
Currently having an issues providing OTA functionality to iOS app, because, after bonding to application, when it jumps to stack and tries to connect, it complains about "Peer removed pairing information".
It happens that iOS tries to pair, but since the Stack and Application has its own checksum exclude areas, they have its own bonding information, so the pairing with stack fails, because bonding information stayed with application, moreover both of them have the same MAC address, and this is what smartphone does not like.
Question - is there an easy way to share bonding keys between the two?
We can make workaround, to copy one bonding information to another, from Application to Stack project, but maybe there is a way to link them to one place using linker scripts?
Show Less