PSoC™ 4 Forum Discussions
text.format{('custom.tabs.no.results')}
I have been using PsocOC 4 creator on my Windows 7 machine for the past 6 months and everything has been fine. I installed PsOC Creator 4 and now I can't step into debugger. I'm using CY8CKIT-042. It programs fine and there nothing wrong with the SWD pin setup. I get the message
Error: dbg.M0006: The start request failed. Encountered error (SetTarget timeout)
but no one seems to know what the message means or how to find out what wrong.
Can anyone help?
Show LessHello,
I am trying to write user configurations to MBR3 in the following procedure:
1. Read the SYSTEM_STATUS(0x8A) register
2. If SYSTEM_STATUS (bit0) is 0, write configuration parameter to MBR3 (according to Register TRM)
3. If it is 1, nothing is done.
However, after doing this process, the SYSTEM_STAUTS register will be 0, but the configuration will remain at the factory default.
I think that the SYSTEM_STATUS register is 1 at the time of shipment from the factory, and will be 0 when writing something.
Is this correct?
If not, please tell me when the SYSTEM_STATUS register will be 1.
Regards,
Shimamura
Show LessHi,
I´m tasked with replicating the UART-BLE example given by cypress
In building and programming the device, at the end it is stated to do the process again on another device, the problem is i did not find any ressources on how to do it on a non cypress device,like a nordic one or a STMicroelectronic which would have the ble functionnality since i have only one cypress developpement kit at the moment.
I am using PSoC 4.2
Is there any documentation i did not find? Or is it possible at least? Should i switch to more recent version of PSoC maybe?
Thanks in advance
Show LessI need to send/receive data over BLE between my PSoC device and a mobile phone. There are multiple different parameters to transfer and the data length is bigger than 512 bytes.
So, instead of creating different characteristics for each parameter, I wanted to write a packet communication protocol on one characteristic. In this packet communication protocol, the sender will send the data and also say which parameter this data belongs.
I added multiple fields in my characteristic like below:
I also created a struct just like this characteristic fields, which is also below:
#pragma pack(push, 1)
typedef struct{
uint8 start;
uint8 cmdId;
uint8 dataLen;
uint8 data[500];
uint8 checksum;
uint8 end;
}pck_t;
#pragma pack(pop)
pck_t packet;
Then when I need to write the attribute value, I will reference my struct by casting it to uint8 like below:
CommCharHandle.value.val = (uint8 *)&packet;
CommCharHandle.value.len = sizeof(pck_t);
err_code = CyBle_GattsWriteAttributeValue(&CommCharHandle, 0, &cyBle_connHandle, CYBLE_GATT_DB_LOCALLY_INITIATED);
Do you think this is a good method? I saw this method (multiple field usage) in the Cypress's BLE Bootloader Module. But I couldn't find how they used these fields in the source codes. There is not any structure definition. Maybe they just defined these fields to help the developer to understand the packet easily? I don't know.
And the real question is:
Does Cypress Bootloader always send 500 bytes of data in each packet? Because if the data length changes, the position of the checksum and end bytes will shift. How to handle them? I mean, if I receive a packet in which the data length is not exactly 500, I can not mass copy the received packet to my structure?
If the data length is always 500, why do they added the 'Data Length' byte in the fields? And how do they handle the last packet that does not actually necessarily contain 500 bytes of data? Do you append zeros to it?
Message was edited by: Abdullah Çınar
Show LessHello
I've been using the CY8CKIT-147 PSoC 4100PS Prototyping Kit and have been fighting an issue with the AMUX. I have a 4x1 AMUX which switches in 4 possible feedback resistor values. The voltages at the input are different from the output of the AMUX. If I remove the AMUX and hardwire one of the resistors in place, the design works fine. I have attached the design. Any advice would be appreciated.
thanks
Shawn
Show LessHello, I'm using the PSOC4 4200 to sequence the power rails for an FPGA. I would like to run the PSOC in Unregulated External Supply to I can only provide 5V to the device. The 5V is applied as soon as power is applied to the board.
Is this the correct configuration for the 28-SSOP CY8C4244PVI-442?
Thank you very much,
Joe
Show LessThe device is a PSOC 4200. I'm using the 8-bit IDAC for CAPsense and the 7-bit iDAC in standard configuration.
According to the resource meter, the uC has both these iDACs.
When I compile the project with just the 8-bit iDAC it works without a problem. However, when I add the 7-bit iDAC to the design, it fails to compile. The error shown is 'unable to find a solution for the analog routing' That's it. There is no further description.
What could be the problem?
Show LessWhen my central receives a scan from the client, it has the client's address in a CYBLE_GAPC_ADV_REPORT_T data structure. My central can connect to the client using this address. But in my client code, I get (I assume) my client's address by calling CyBle_GetDeviceAddress. THese two addressed don't match, why?
Show LessI see there have a been a few similar queries before where other modules have generated this Build error but none of the answers given in those queries help me understand this issue.
Background:
I have a Solar Powered IoT Device Kit (with BLE module CYBLE-022001. I tried to build the Simple_BLE example but get the error "Section .cy_checksum_exclude size exceeds specified limit." When you double click on the error message it opens up the Linker script file cm0gcc.ld but does not highlight which line.
Based on other online searches and comparing this to the LED_ONOFF example, which does compile/ build ok, it appears to be related to this line here
CY_CHECKSUM_EXCLUDE_SIZE = ALIGN(640, CY_FLASH_ROW_SIZE);
The LED_ONOFF example has
CY_CHECKSUM_EXCLUDE_SIZE = ALIGN(0, CY_FLASH_ROW_SIZE);
So my question is, where did the "640" come from in the Simple_BLE example. How/where was this set.
I know that if I go to the Bootloadable component in TopDesign and change the "Checksum exclude size (bytes)" to 640 it does work and I can build my project.
But still no idea why.
Any advice will be greatly appreciated.
Thanks.
Show Less