PSoC™ 4 Forum Discussions
Hello Cypress.
Q1)
When user measures MBR SNR, should they use Raw count change value(with touch – without touch) as signal value?
Or should they use Diff count itself as signal value?
I think that user should use Diff count itself when user calculates SNR.
Because max Diff count(button) is 255 even if Raw count change value is 1000.
But I think that EZ-Click uses raw count change value when EZ-Click calculates SNR.
If EZ-Click uses raw count even if it is correct to use diff count for SNR, calculated all SNR by EZ_Click may become incorrect.
Although max diff count is 255, calculated SNR by EZ_Click may exceed 255 depending on the timing.
For example. Please confirm attached pptx file.
- Noise: 3
- Raw count change value: 560(3560 – 3000)
- SNR: 190
Q2)
Is it OK that diff count saturates(diff is 255)?
It is difficult to tune so that diff count does not become saturated.
Because MBR is smart sense and there is only few sensitivity setting.
Q3)
How does MBR3 calculate diff count?
For example, if Raw count change value is 1000(5000 – 6000), does MBR3 compress 1000 and convert it to 1byte of diff count?
Does MBR3 compress 2byte data and calculate diff count as 1byte?
Or does MBR3 convert 1000 to 1byte of diff count by multiplying by some coefficient(multiply diff by 0.8 etc)?
Or is MBR3 simply subtracting Raw count when MBR3 calculates diff count?
Then is MBR3 always making diff count 255 when raw count change value exceeds 255?
Q4)
About a graph of “Signal to noise ratio” in EZ_Click.
SNR from 2nd time becomes lower than 1st SNR.
Please confirm png file.
Could you please let us know this reason?
Does noise in “Signal to noise ratio” also include Raw count change value by finger-touch?
Best Regards.
Yutaka Matsubara
Show LessI have a design which uses the CAN controllers in a PSoC 4200L. The datasheet for the component says that when the Bus-off restart option is set to Manual, if the bus is turned off, the user/code must restart the CAN. What exactly needs to be done to restart the CAN component?
I am testing restarting the CAN by enabling Message Transmitted, Message Received, and Bus Off interrupts, then shorting the CAN low and high wires, then sending a message. I get a bus off interrupt, then try to restart the CAN using the CAN_Enable() API function (CAN_Init() and CAN_StartEx() were called during initialization). After the bus off interrupt stops firing (after 3-4 calls to CAN_Enable()), I un-short the low and high wires and try to send another message, but I don't see any messages on the bus using a logic analyzer. Is there something more I need to do other than call CAN_Enable() to restart the CAN?
Show LessI need to create a timeout that occurs 60 days after power up. I realize that I cannot do this accurately but that is OK. I would like to know the possible error. The crystal I use (24 MHz) has a spec of 30ppm, the Creator IDE list the ILO tolerance of +-2%, which is correct?
Rich
Show LessI have a scenario like this as shown in the figrue below
I have a peripheral which while advertising should send
data = 0x1 /* When there is data available for sync*/
When there is no data the above flag would be 0x0.
Now if the data flag is set in Advertisement packet then the Phone should pair and exchange the information. If there is no data packet available then the phone shouldn't pair.
So in my configuration, is it possible to do this ? Or if I advertise a "Service" Can I achieve the same ? How do I do this?
PS == I don't want to use my device as a Broadcaster.
Regards,
Shrey
I want to make cooperation of 2 PSOC4 BLE devices. one placed on foot ( step counter) , second placed on chest ( Heart_Rate_Sensor).
Master on chest and slave on foot .I can connect by smartphone to master and read both sensors.
Any help or examples are welcome.
Show LessWhat is the maximum theoretical payload throughput for a BLE 4.2 connection (1 central and 1 peripheral device)?
There can be a maximum of four packets sent per connection interval, and each packet can have up to 251 bytes of payload. According to the BLE specification, the allowable range for connection parameters is from 7.5ms to 4000ms.
throughput(kbps) = payload(byte) / interval(ms)
267kbps (33466 byte/s) = 251 byte / 7.5 ms (1 payload packet per connection interval)
1070kbps (133866 byte/s) = 4*(251 byte) / 7.5 ms (4 payload packets per connection interval)
Is my assumption correct?
Show LessHi all,
With the CY8CKIT-042-BLE-A, I want to test the BLE_FindMe example (see attachment for the workspace bundle).
The build is OK but when I try to debug the program, it crashes with the following error message:
I have already read the following posts:
However, in my system tab, the Debug is already set to SWD, but I still have the error. And it happens before I try to connect to the device with the CySmart mobile application, for example.
Does anybody have an idea please ?
Thanks.
Show LessI cannot register cybledonglecommunicator.dll in Win10.
When i tried to register the dll with command "regasm cybledonglecommunicator.dll"
But there is a error message feebback as below.
RegAsm : warning RA0000 : No types were registered.
Who can let me know why.
thanks
Show LessHi,
I am trying to get my CY8CKit-044 to talk over CAN. To do this I connected CAN-Tx and CAN-Rx together to a pull up resistor (with the CAN-Tx pin being set to open drain). This was then connected to my Saleae Logic Pro 8.
Using the code below, the output seems to be fine (message intact and a NAK at end) but the controller keeps on transmitting the frame with CAN_1_Data = 1 and no delay (Capture #2). If I turn single shot on, the message is only transmitted once and then a second later another frame is sent with the data byte being 255 (what I want (capture#1)). Am I not doing something in the code to properly set up the controller/frame?
Thanks,
Luke
uint8 CAN_1_Data = 1;
int main(void) {
CyGlobalIntEnable;
CAN_1_Start();
UART_Start();
for( ;; ) {
CAN_1_TX_DATA_BYTE1(CAN_1_TX_MAILBOX_0, CAN_1_Data);
CAN_1_SendMsg0();
CyDelay(1000);
if(CAN_1_Data == 1) {
CAN_1_Data = 255;
}
else{
CAN_1_Data = 1;
}
}
}
Show Less