PSoC™ 4 Forum Discussions
I used CY8C4045LQI-S411 to do the CSX MATRIXBUTTONS experiment. I need to send the capsense status of the touch to the host for judgment, so which function do I need to use to obtain the state of the key and whether there is a routine for reference,thanks!
Show LessHello,
We are thinking of waking up PSoC4S from Deep Sleep by sending and receiving data of I2C slave.
Can we use the following code in "I2CS_I2C_INT.c(I2C slave)" in "void I2CS_I2C_ISR_EntryCallback"?
if (I2CS_CHECK_INTR_SLAVE_MASKED(I2CS_INTR_SLAVE_I2C_ADDR_MATCH |
I2CS_INTR_SLAVE_I2C_GENERAL)) [575 and 576 line]
If it is from the Sleep mode, we can use this code. but, if it is from the DeepSleep mode, we must wait a few us time. Please see the 201 line in "I2CS_I2C_ISR_EntryCallback".
Best regards,
Yocchi
Show Less
Dear Sirs and Madams,
We are considering designing a capacitive button with CapSense the PSoC4000S.
And we are facing the problem that the raw count fluctuates due to temperature changes.
The settings we are using are:
・ Dual IDAC sourcing mode
・ Self-capacitance sensing
・ Resolution 11 bit
As an example of problematic operation,
Normally, the raw count is about 1600 (80% of 11 bit = 2048) when initialized at 25 deg C.
if CapSense is initialized by power-on at -30 deg C, raw count is about 1600.
And the ambient temperature rises to 25 deg C, raw count rises to about 2000 even though the sensor is not touched by a finger, exceeding the on-threshold.
Initialize again when the raw count rises, the raw count is about 1300.
(1) Do you know what is the main reason why raw counts fluctuate with changes in ambient temperature?
(2) I think that the main factor of raw count fluctuation is that the capacitor capacity of Cmod decreases at low temperature. Is this perception correct?
(3) If Cmod is affecting, Do you have a formula or document that shows the relationship between the raw count and the capacitor capacity of Cmod?
Regards,
Show LessHi All,
I am using a PSoC 4 BLE chip (model CY8C4247LQI-BL483 56-QFN), and I have 4 stepper motors (digital output pins) that need to be connected to 4 PWM components. However, I need both a PWM component and a Timer Counter component for each stepper motor, which gives an error because that amounts to 8 TCPWM components while the maximum is 4.
So instead, I am trying to just use 1 digit output pin that would be able to dynamically change its port/pin number in code (main.c). This way, I will only need to use 1 PWM and 1 Timer Counter component. How should I accomplish this?
Thanks,
AC
Show LessHi,
I have followed the steps from this thread: https://community.infineon.com/t5/PSoC-4/PSoC-4-BLE-Timer-Module/m-p/328738 to create a PWM component that pulses 700us ON and 1us OFF. I am using a PSoC 4 BLE chip.
However, when I turn it on (using PWM_Start()), I do not know how to turn it off after a set amount of pulses/periods. What I need to do is after 1000 pulses, the PWM needs to turn off by itself.
Does anyone know how to do this? And can all this be accomplished in the c code, as I need to be able to change the stop count from 1000 pulses to some other number throughout the program?
Thanks,
AC
Show LessI have two setups. One is a complete CY8CKIT-041 PSoC 4 S-Series Pioneer kit. I am able to program the CE210489 Proximity Sensing example to it and communicate with it using the Capsense Tuner via I2C. It works perfectly. When I do this, I see I2C activity on pins 6 and 10 of J8 on the CY8CKIT-041 board.
My second setup uses a CY8CKIT-041 board connected to my own board via J13. My board contains a CY8C4045LQI-S411. I have connected Pins 9 (P4[0]) and 10 (P4[1]) of the CY8C4045 (I2C Clock and Data) to pins 6 and 10 of the J8 on the CY8CKIT-041 board.
I am using code from one of the example projects, modified for my setup:
CyGlobalIntEnable;
EZI2C_Start();
EZI2C_EzI2CSetBuffer1( sizeof( CapSense_dsRam ), sizeof( CapSense_dsRam ), (uint8 *)&CapSense_dsRam );
CapSense_Start();
CapSense_ScanAllWidgets();
I then have code that calls CapSense_RunTuner(), CapSense_CSDScanExt(), and CapSense_ProcessWidget( CapSense_PROXIMITY0_WDGT_ID ) periodically using a state machine based on the example code.
The problem is the tuner will not connect. There is no I2C activity on pins 6 and 10 of J8. One thing I observe is that P5LP15_0 (the gates of U16 on the CY8CKIT-041 board is not being driven low, meaning the pull-up resistors aren't connected to the I2C lines. In the first setup (the one that works) it is being driven low, connecting the pull-up resistors. When I launch the tuner, it sees the CY8CKIT-041 which identifies as a KitProg3. I have confirmed the port settings -- address 8, sub-address 2-bytes, 3.3 V power is on, speed 100 kHz. (That's the same configuration I use in the one that works.) In addition to no I2C bus activity, when I click "Connect" in the tuner, after a long delay it comes back with the error message "There was an error reading data from the device." After that, if I attempt to connect a second time it gives me the error "Can't Open SMSIS-DAP port" and the only way to recover from that is to close both the Tuner and PSoC Creator, and cycle power to the CY8CKIT-041 board.
Show LessHello,
I'm trying to program a CY8C4025LQS-S411, with both MPLAB and PSoC programmer I get the following error. I'm using a miniprog3:
Device ID Check
PSoC Device (C5 80 21 A9) is not in the DataBase
Error: dbg.M0023: There was an error while programming the device: PSoC Programmer reported error (100 - PSoC Device (C5 80 21 A9) is not in the DataBase)
(This is the targeted device in MPLAB project and the selected device in PSoC Programmer)
Thanks in advance,
Mike
Show LessHello team,
reading datasheet on the safety manual it is not clear if the Cypress internal WD is a Window WD or a simple WD.
Is there any application note available of WWD?
Thanks
Marco
Show Less
Hello
I have a problem, and it's that the temperature of the DIE does not change. All ADCMUX measurements are by interruption. All changes except the DIE temp.
I applied cold or hot and not change (always about 30ºC).
Any ideas?
Best regards.