PSoC™ 4 Forum Discussions
Hello,
relatively newbie question here, likely me getting confused. I hope someone can simply answer.
I had recently chosen the PSOC 4100PS as a product line / series to develop on - on the product selector webpage it advertises all the peripherals and features (CapSense + VDAC in particular) i need for a specific project.
However, exploring the datasheet (segment attached), it seems to suggest only half within the product-line have CapSense features...
Take the CY8C4125AZI-PS423 as an example - product selector suggests it has capsense, the 'ordering information' on the datasheet seems to suggest otherwise..
Am I reading this wrong? any hint or direction would be appreciated as would greatly open up available and useable IC's.
Thanks
Nick
Show Less
Hello
I had designed CapSense with Water shield function.
Csh_tank capacitor required to make water shield.
there is recommended capacitor value (10nF).
but I can not found Capacitor grade(X7R or NP0) for this.
which grade is recommended for this?
Show Less
Hi All,
I use PSoC Creator 4.4 KIT-147(CY8C4145LQI-PS433) to i2c read Capsense Cp anormal ,The every time Cp is not same ,can help me check the code ?
Thanks,
Lin
Show LessHello,
I have two questions regarding LPComp for PSoC4000S.
1. In the case of PSoC4000S, the isr component cannot be connected to the output of LPComp because there are no wiring resources.
Therefore, I need to use the Gloabal Signal component.
Is this correct?
2. If I use the LPComp_GetCompare API to monitor the status of the LPComp output without using the LPComp output pins and interrupts, is it okay to have the following configuration? Nothing is connected to the output of LPComp.
Best regards,
Yocchi
Show LessHI ,
How many AD channels can be configured for PSOC4100S Max on MTB2.3 ?
I am working with a PSOC 4 214015 test module.
I am trying to see how fast I am able to send 81 byte notifications. To do so I have set the MTU values accordingly and I am using the following code:
///////////////////////////////////////////////////////////////////////////////////////////////
uint8 _readDataBuffer[81];
uint32 ind = 0;
...
memset(&_readDataBuffer, 0, sizeof(_readDataBuffer));
while(ind < 200000)
{
_NotifySensorsReadsCharacteristic();
ind++;
}
/*******************************************************************************
* _NotifySensorsReadsCharacteristic
*******************************************************************************/
void _NotifySensorsReadsCharacteristic(void)
{
CYBLE_GATTS_HANDLE_VALUE_NTF_T sensorsReadsNotificationHandle;
do
{
CyBle_ProcessEvents();
}
while(CYBLE_STACK_STATE_BUSY == CyBle_GattGetBusyStatus());
/* Check if stack is not busy */
if( TRUE == _sensorsReadsNotification &&
CYBLE_STACK_STATE_FREE == CyBle_GattGetBusStatus())
{
/* Update handle with data*/
sensorsReadsNotificationHandle.attrHandle = CYBLE_SENSORS_SENSORS_READS_CHAR_HANDLE;
sensorsReadsNotificationHandle.value.val = _readDataBuffer;
sensorsReadsNotificationHandle.value.len = 81;
CyBle_GattsNotification(cyBle_connHandle, &sensorsReadsNotificationHandle);
CyBle_ProcessEvents();
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
As far as I understand, checking the stack busy state in _NotifySensorsReadsCharacteristic using CyBle_GattGetBusyStatus the way I am doing it inside a while should wait until the stack is free. Notice that I check it once again before calling CyBle_GattsNotification and then I call CyBle_ProcessEvents.
With the code above I was expecting to get 200000 notifications, but it turns out that I barely get around 200.
I am using Cysmart 1.3 and the Cypress VBLE 4.2 dongle to connect to a 201415 Test module that contains the code I am testing.
After checkin the return value of CyBle_GattsNotification it turns out that I am geting a
CYBLE_ERROR_MEMORY_ALLOCATION_FAILED error.
I found this old thread refering to this same problem and two approaches to come around it
One is adding a delay between the calls to CyBle_GattsNotification. Another one retrying sending the same failed notification repeatedly until the API method returns a success result.
I was wondering if there could be a different approach, a check similar to CyBle_GattGetBusyStatus that would prevent from calling CyBle_GattsNotification to avoid the stack state that generates the CYBLE_ERROR_MEMORY_ALLOCATION_FAILED return.
This second thread mentions a way to avoid this error in a different call by increassing BLE stack internal buffer size but it did not seems to help in my case:
Show Less
Hello,
I configured the BLE component as a Central with just client elements.
I want to subscribe to multiple notification.
When I subscribe just one notification, my code works,
but when I send all notification one by one, it's not working
What is the good way to subscribe to different notification element.
Thank you
Alexandre
apiResult = CyBle_GattcWriteCharacteristicDescriptors(cyBle_connHandle, &writeRequestData1);
CyBle_ProcessEvents();
if(apiResult != CYBLE_ERROR_OK)
{
DBG_PRINTF("WriteReq1 API Error: %d \r\n", apiResult);
ShowError();
}
apiResult = CyBle_GattcWriteCharacteristicDescriptors(cyBle_connHandle, &writeRequestData2);
CyBle_ProcessEvents();
if(apiResult != CYBLE_ERROR_OK)
{
DBG_PRINTF("WriteReq2 API Error: %d \r\n", apiResult);
ShowError();
}
apiResult = CyBle_GattcWriteCharacteristicDescriptors(cyBle_connHandle, &writeRequestData3);
CyBle_ProcessEvents();
if(apiResult != CYBLE_ERROR_OK)
{
DBG_PRINTF("WriteReq3 API Error: %d \r\n", apiResult);
ShowError();
}
Show Less
Hello Everyone!
Please help!
I cannot connet the device (IC).
I design my own board with CY8C4124LQA-S433 IC. But in "Select Debug Target" Window, I do not see my device. What is the problem?
Is there Anyone who can help me?
Show Less
Hello, we use cyc84148AZI to design our faucet project. we use two channels to sense object(like hand) one for faucet , another for Soap pump. the system has two parts, one is called universal controller, there are two buttons and led display for monitor and setting on the controller, other part is sensor with cypress chip. the controller supply 3.3v to sensor . the system is basically work, but we cannot understand some phenomena.
We have three ways to handle steel sink: faucet shield connected to the sink, ground connected to the sink, and sink floating(no connection of any ground or shield.
- When the sink is ground or float, touch sink will cause both faucet and soap signal go up that could cause fake trigger, while when sink is connected to faucet shield, the both signals go down that could prevent false trigger
- In all scenarios , when grab universal controller or touch button, both senses signal of faucet and soap will rise, that can cause false activation
- When touch faucet or soap spout , the touching signal will go to saturation value, the non-touched signal will drop down
- When sink is shield the approached signal will increase much, while the other signal will increase a little. as for sink grounded or floating, the non-approached signal will keep unaffected
We are not clear why it work like that and how can we prevent from some performances that can cause fake activation, like grabbing universal controller cord, tapping the sink or pressing universal controller buttons.
could you please explain why like this and give us a solution
Thanks
soap pumper.
Show LessHello,
We are working with a touchpad (8 rows 7 columns at 9 bit resolution), running Capsense and are curious about the Low Baseline Reset Parameter. Namely, if our raw counts in the absence of a touch event are resting around a value of 450, what value should the Low Baseline Reset parameter be set to? What procedure should be carried out to determine that value?
The component datasheet lists a default value of 30, however if I understand the parameter correctly, our raw counts are never dropping that low and so the baseline is never updated.
Additionally, what is a typical distribution of baselines across multiple sensors? Should it be concerning if they spread out over 50 counts? Or is a wide range normal as long as the diffcounts share similar values on a touch event?
Thank you in advance for any help!