This one may be a simple question to answer. I am interested in generating tones, much like notes on a piano, that I can use in a program that I am writing.
I am not asking anyone to write the code for me, just point me in the right direction - using Creator 3.0 - and off I will go, writing code and making beautiful (hopefully) noises from a PSoC4.
If it works with the PSoC4 Pioneer Kit - even better, because that's what I am using for my 'dev kit'.
Before I brick any of my devices, does anyone have thoughts on self writing of flash with security enabled? I don't want anyone to hack my device, but my device must be able to re-write it's own flash, whether in bootloader mode or in the user application. I understand the certain security bits remove the ability to debug/program using SWD, but do they remove the ability to self write? From the TRM (which isn't specific enough in this case):
- PROTECTED mode: The user may change the mode from OPEN to PROTECTED. This disables all debug access to user code or memory. Only access to user registers is still available; this prevents debug access to reprogram flash. The mode can be set back to OPEN but only after completely erasing the flash.
- KILL mode: The user may change the mode from OPEN to KILL. This removes all debug access to user code or memory, and the flash cannot be erased. Only access to user registers is still available; this prevents debug access to reprogram flash. The part cannot be taken out of KILL mode; devices in KILL mode may not be returned for failure analysis.
Flash cannot be erased because debug hardware is disabled or Flash cannot ever physically be erased because of something at the flash controller level?Show Less
Just a quick question.
I am using one of the new CY8CKIT-042 PSoC4 Pioneer Kits.
There are some things that I am not able to get working on it (like a simple 16x2 LCD display), even though I have tried everything that I know to try.
I am no expert using Creator (3.0), or the PSoC, or the 'kit', but I am really reaching the end of things to try.
As a last resort, I got out my magnifier and read the Part Number on the PSoC4 chip. It is...
My question... What does the 'ES' stand for?
If it is what I think it means, then I am using an 'Engineering Sample' part on this board. (Or trying to use one.)
Can someone shed some light on this? If it _is_ an Engineering Sample (and I have purchased two (2) Pioneer Kits - both have 'ES' parts on them), then this may explain why I am having difficulties.
Does anyone know what the interrupt latency is for the PSoC 4? I am running a 4200 with an external 48MHz clock. When I trigger an interrupt with a timer compare, there is an 800ns delay before the ISR toggles an output line. I am using a register write, not one of the generated functions. My understanding was that latency for M0 was 16 cycles. If that was the case, the delay would only be about 350ns. Am I doing something wrong, or are interrupts slow on this MCU?
A search of the data sheet and technical reference manual did not reveal any answers.
I'm working in a project where I need to connect sensors with diferent interfaces, but I would like to use the same connector for all of them with the minimum number of pins possible. So what I thought of doing is to have the ADC, SPI, and I2C sharing some pins. To do that I think the only option that might work is using an analog MUX and then dynamically choose which of the outputs connect and also change the pin configuration from analog to digital and vice versa.
I haven't test it yet because I found a problem with the I2C component. The only master I2C component that creator gives you is one that uses SBC and you don't have the pins available to do what I want.
Anyone have any idea of how I could do what I want witout using more components?
I've attached an image of how I'm trying to do it.
Thanks in advance.Show Less
I'm trying to blink an LED to learn about PSoC, using Pioneer Kit, and Creator 3.0.
I know there are easier ways to do this...
I'm using a Counter component.
Clock_1, 12 MHz, connected to Counter_1 clock input
Clock_2, 128 Hz, connected to Counter_1 count input
Counter_1 comp output connected to Digital Ouput pin Pin_Green (P0)
When I attempt to 'Generate Application' I get the following errors:
mpr.M0119:Invalid connection for clock "Clock_2" connected to "\Counter_1:CounterUDB:count_enable\:main"
mpr.M0119:Invalid connection for clock "Clock_2" connected to "\Counter_1:CounterUDB:count_stored_i\:main"
The datasheet for the Counter_v2_40 states that "You can connect any digital signal from any source to the clock/count input.
Are there some other rules about signal connections between components that I need to refer too?
Any help would be appreciated.
What can we do to test linearity (INL) of 12bit SAR ADC with sinusoidal signal source which has only 10bit DAC ?
Simply put how can i increase linearity performance of 10bit DAC source?
Appriciate your comments
Hi dear PSOC Communutity 😃
I tested CapSense Buttons and got interesting result.
First, I tested one CapSense Button. It worked good. Smart Tuner it's exelent module. But then I added new button and here started troubles.
If touch new button all good, but if touch first button, capsense recive signal from both buttons. I attached a file, here it look better.
May be anybody had same, problem or any ideas(I tryed change sensetive, but it didn't good result)?
Sorry, I just solved my problem while gathering the data to get support but the solution creates another question for me, why does what I explain below happen when I use a buffer superior to 4 bytes? I know the SPIM have a 4byte hardware buffer but why it doesn't work when using software buffer? I had the SPIM configured for 28 bytes.
I'm interfacing the PSOC 4 with an ADS1298. I'm trying to get some that out of the ADS1298 so I only have to provide clock to it to receive some of the data.
I do that correctly and it sends data since I can see it in the scope. The problem is that I can't read any data with the SPIM.
This is the loop where I keep receiving data.
while(!(SPIM_1_ReadTxStatus() & SPIM_1_STS_SPI_DONE));
while(!(SPIM_1_ReadRxStatus() & SPIM_1_STS_RX_FIFO_NOT_EMPTY));
payload = SPIM_1_ReadRxData();
If tried commeting the first while and the second or adding the delay with no luck. If I don't comment the if(SPIM_1_GetRxBufferSize()>0) it gets stuck there because it is not reading anything but it is receiving data since I can see it with my scope.
The solution was to change the RX buffer size to 4.Show Less