PSoC™ 4 Forum Discussions
I'm using the IDAC component to generate a 3kHz beeping tone. It beeps at a 50% duty cycle. My solution must be all in hardware. I'm using a DMA to transfer values to the IDAC. If I allow the DMA to run continuously a clean 3kHz tone is generated. I want it to beep so I use the "BeepTimer" to turn ON/OFF the signal to the "tr_in" pin of the DMA component. I'm trying to reduce the "popping" of the speaker when the "BeepTimer" turns off the signal to the "tr_in" pin. To do that, theoretically, I should wait until the end of the DMA transfer before turning the speaker off. That's because at the very end of the DMA transfer the tone is always at a 0 point.
In the attached project I connected the output of the "BeepTimer" to a D flip-flop that gets clocked by the "tr_out" signal of the DMA. This should (theoretically) delay the "BeepTimer" output until the end of a DMA transfer. However, for some reason, this is not working. I get an Asynchronous path warning but I don't think that's the problem. Why is this D flip-flop arrangement not working?
Show LessIt will be the continuation of https://community.cypress.com/thread/44548.
I want to check the checksum of LIN.
Where to location of CheckSum?
RAM, registers, variables?
I'm trying to get cy8ckit-042-ble-a to read a I2C sensor power efficiently. I got it working OK when I start the measurement ~1 ms before next BLE RX/TX using WDT timer and then read the result and create a notification while BLESS is in ECO_STABLE state. The fresh data got sent OK and everything worked just fine.
But now I would like to use also slave latency to save more power, if data stays the same. AFAIK BLE system will not wake up unless there is something to send or it has to due to slave latency. So e.g. slave latency=4 BLE will wake up only every 5th connection interval, if there is nothing to be sent. So how can I tell BLE that there is something to be sent?
I assume that I should create a notification. So I put the whole sensor measurement system to start 3 ms before the BLE event and created a notification. It didn't work out as I expected. Even with slave latency 0 the measurement gets missed often. That's because I used the BLESS state ECO_ON for the base point of timing. When I create a notification before ECO_ON I never see ECO_ON BLESS state. Also current consumption does not go down to DEEPSLEEP anymore after the notification. Instead it draws around 3 mA all the time from notification to BLE event. And this wont change, if I increase the time between notification and BLE event.
I guess sending a notification during BLESS DEEPSLEEP state wakes up BLESS and It will not go to DEEPSLEEP untill after the BLE RX/TX.
What is a proper way to get what I want?
What I want is:
1. Measure every connection interval (250 ms)
2. Send fresh data via notification, if data has changed
3. If data has not change, do not start a BLE RX/TX.
4. All this to save power compared to slave latency = 0
Show LessI have been testing I2C with my cy8ckit-042-ble-a. I started with this example: https://www.cypress.com/documentation/code-examples/ce211423-cy8ckit-042-ble-f-ram-i2c
and got it working also with the actual I2C chip I need to communicate with. But I'm planing to use 400 kHz and I can't get that.
If I use the example as is, the I2C component in PSoC Creator shows 100 kHz and I can measure 100 kHz with my oscilloscope as well. If I change IMO to 24 kHz and data rate to 400 kHz, PSoC Creator report "Actual data rate (kbps) 381". However my oscilloscope only sees 330 kHz on SCL.
If I reduce the "Oversampling factor" 21->20, the reported actual data rate is 400 kbps. But on oscilloscope it's only 345 kHz.
What causes this difference? How can I get real 400 kHz?
I plan to use I2C during the BLE communication startup so that I can send fresh data on BLE. What low power BLE measures can't be used while I2C is used? Can IMO be shut down? Can sleep be used while I2C is transmitting or receiving as a master?
When is the last time to update BLE data so that it will be output during this BLE wakeup and not the next one?
Show LessHello all. i m testing a CY8CMBR2016-24LQXI bsed keypad board. I m a bit confused about the touch sensitivity. The touch pads on pcb has Green masking. And when i touch over it, it is sensed and corresponding output is made. I m confuse about "OVERLAY " as mentioned in related documents. Is the green mask over the touch pads is here considered as overlay ? Or i can use any other material as OVERLAY ? I have tried placing a adhesive sticker over the touch pads with almost zero gap for air, but it doesnt work. But without the sticker, touch pads works fine. BTW i will be using a individual membrane/cover to cover the keypad,once i am clear about the overlay part.
Show LessHi,
In one my end application where I need capacitive touch to digital conversion i'm using cy8cmbr3002, also i'm using single strand wire loop as sensor for sensing capacitive touches, it works well. This entire setup is functioning in 9V DC battery.
Now problem/issue is that when ever i touch to DC supply cables and DC battery , cy8cmbr3002 senses this touch as well. so here my point is any one have ever encountered with such issue, what could be the possible solution.
thank you.
Show LessHi,
We are using the Fixed Stack Bootloader example and we have a basic version of the bootloader (let's call it V1) which supports several bootloadable applications.
These bootloaders are burned on one thousand devices at the moment.
We are planning in the future to make a change to the bootloader (let's call it V2) and install it on the second batch of devices (an additional 1 thousand devices). For those devices, the bootloadable application will also change but we would like to load that bootloadable version also on the first batch of devices with bootloader V1. How can we guarantee that they will be compatible?
I ask since we sometimes see that even if the bootloadble version hasn't changed but the bootloader changed, then the same cyacd file won't work with both bootloaders but rather only with the bootloader it was compiled with. We need to find a solution for this. Any suggestions?
Thanks,
David
Hi
I use the CYBLE-224110-00 chip. We have the problem the customer if the update goes wrong (power supply error ..) often send the parts to reperatur. To fix it faster we just want to program over it whit the psoc Creator. Until now we help us while wie programm a SW only wiht CySysSFlashWriteUserRow(1,&userFlashdata1[0]) and after that we programm once again the real SW or we update the chip again(but this needs 6min). I hope ther is an other way.
best regards,
H. Kaffka
Show LessHello,
I have a problem when I want to save data from bridge control panel because I dont have all the data as shown in the chart part.
It never begin at 0 count when I exctract the data and I can see it in the table too.
But my chart begin at 0 count so it's a bit strange.
Can you help me?
Thank you in advance,
Alex
Show LessHello Dear,
in a project done with CY8C4125AZI-S413, I replaced with CY8C4025AZI-S413, communicated by Cypress as an interchangeable cpu. I have make a build of the project, but it gives me an error that comes from the CYDWR file, for the SCB_i2c_SDA, SCB_i2c_SCL, TCPWM.line, as cannor reached from this pin pins. why does this happen to me?
Thanks Henry
Show Less