PSoC™ 4 Forum Discussions
I 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 LessI want to make use of the watchdog in my project and the mcu i choose is CY8C4146LQIS433 ,but i don't know how to enable it , i enable the watchdog timer in PSOC Creator,but the driver code is still commented out.
how do i set to eanble the function? thanks.
Show Less