PSoC™ 4 Forum Discussions
Dear Sirs and Madams,
We are looking at configuring CapSense using PSoC4S.
I'm thinking of using a guard sensor so that it doesn't react to water. Do you have any sample code with ModusToolbox?
We have never used the guard sensor, but would like to know the best way to disable only a specific electrode when the guard sensor responds.
Unlike PSoC Creator, I think that ModusToolbox has less explanation of APIs that are suitable for CapSense.
Is it documented anywhere other than the CAT2 Peripheral Driver Library?
Regards,
Show LessHi so I'm using CY8C4248LQI-583 MCU to my custom board. Normally, it works fine but sometimes it goes to hardfault and every function is pause. So I decide to add WDT reset so it can automaticaliy reset the system(1 hour term). My device must to be keep on, it must not be turned off.
So my question is same as title. Does constant resetting device hurt system? Also, is there recommended reset time for the system?
Best regards, BK.
Show Less
In my project there are three interrupts (isr).
The first one is on the button (start), the second one periodically calls a subroutine with "IDAC" using "Timer" to output signal counts. The third also calls the subroutine, but which stops the work (timer is set to Run Mode: One Shot).
These two timers start simultaneously in the start subroutine. But there is a problem, everything works except that the stop subroutine is not called.
I want to note that the timer works, I checked it with a trigger and LED. Also the same interrupt (which doesn't work) when I connect it to the button likewise the connected interrupt "start" it works.
I am using cy8ckit-042 psoc 4 pioneer kit.
Show LessInherited a legacy PSoC 4 project and am trying to get up to speed on the family and PSoC Creator. After building the project, under the "Debug" menu, the options for Debug, Debug without Programming, etc. are greyed out. If I try to "Select Debug Target", the box is empty. I compared this with a sample project from the PSoC 4 Pioneer kit (which debugs fine), and can't seem to figure out if there's a setting or something I'm missing.
Anyone have any suggestions?
Show LessI’m adding a bootloader to my PSOC4 project in PSOC creator, Seem to have the bootloader working and able to program the bootloadable application via the UART using the bootloader host in PSCO creator.
Application runs as expected until I power down the device, it then seems to get stuck in the bootloader and doesn’t jump to the application after the set timeout (wait for command time is set to 2000 in Bootloader component).
Any ideas what might be the issue? This is what I’m doing:
- Program PSOC with Bootloader application
- Unload Bootloadable Application via UART (using bootloader host in PSCO creator)
- Application is running fine
- Turn device off and on
- Device remains in bootloader and doesn’t switch to application.
Hello,
I am using PSoC 4500 S to estimate the execution time of algorithms. For this purpose, I started to measure different arithmetic operations with the Systick-Timer (microbenchmarks).
However, especially floating point operations show a non-linear progression of execution time depending on the input data. For example cosf varies between 79000 us and 1051020 us (each for 1000 iterations). This missing determinsim makes it difficult to extract a tight bound from the microbecnhmarks for execution time estimation.
I attached a little overview of the min and max measurements as an excel sheet. It is also noticeable that floating point division highly depends on the input data and the order of the operations (denominator and numerator). For validation I measured the times with code optimization (O3) and without code optimization (Debug). Furthermore, I analyzed the assembler code to gain further information - without success.
Here a code snippet how I measure the cosf function. The entire measurement routine is validated and can be excluded as a source of error:
////////////////////////////////////////////////////////////////////////////////////////////
int num_points;
float sortedArray[2000];
for(i = 0; i < 2000; i++)
{
sortedArray[i] = i*3.1415;
}
for (num_points = 0; num_points <= 2000; num_points++)
{
START_TIME = SysTick->VAL // Start timer
// Microbenchmark: cos
for( i = 0; i < 1000; i++)
{
result1 = cosf(sortedArray[num_points]);
}
STOP_TIME = SysTick->VAL; // Stop timer
}
////////////////////////////////////////////////////////////////////////////////////////////
On the second sheet of the excel file you find the measurements for the first 100 number of points (num_points) for cosf-microbenchmark . Here is mean the metric of interest.
How is this non-determinsim in arithmetic operations explainable?
I expected approximately equal execution times for each class of arithmetic operations (fDiv, fMul, fcos,...).
Best Regards
Jannik
Show Less
Hi guys!
I've been trying to find where to download the Hex File Parser but I can't seem to find it any where in the website.
Can anyone provide me a link for it?
I'm using PSoC 4.4 - CY8C4146LQI-S433
Kind regards.
Show LessHello!
I'd like to connect the PSoC 4700S via USB to a Windows computer to enable transmitting MIDI data back and forth. Only thing I've found about it is this:
https://community.infineon.com/t5/PSoC-4/USB-midi-Example-for-psoc4/td-p/212867
...which was about adapting a PSoC 3/5 project for PSoC 4. I tried that, but ran into issues about timers and whatnot. I'm not quite familiar with what exactly PSoC 3, PSoC 4, PSoC 5 etc means. I guess my PSoC 4700S belongs to a PSoC 4 family (?). But what is common for all boards (or chips?) under the PSoC 4 label? Can I rely on all example projects working on my PSoC 4700S, if they go under the PSoC 4 label? Is it even unambiguous to talk about PSoC 4700S? Or are there several boards, which carry the same name PSoC 4700S?
Show Less
So as a debugging method, I writing eeprom data to function in infinite while loop.
I can't show you the code, but here is some example:
while(1)
{
function1();
funciton2();
}
//////////
void function1();
{
Em_EEPROM_Write(0,0x00,1);
Em_EEPROM_Read(0,eepromRead[0],1);
}
void function2();
{
Em_EEPROM_Write(1,0x01,1);
Em_EEPROM_Read(1,eepromRead[1],1);
}
like this.
But I can't read EEPROM data.
Is it possible read data from infinite loop?
Best regards.
Show Lesshi friends
i have a trouble when i am using SPI to communicate with a fram .I would like to know why using spi communication must use a delay function after sending a byte and before reading it, if no delay function is used, there will be a shift.(0x01,0x02,0x03 will become 0x00 0x01 0x02).And the delay time is different, the shift is different
Show Less