- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am wondering whether I could set the ID of a Full CAN mailbox to 0x00 somehow. The GUI does not allow it but a zero ID is frequently used in CAN protocols like CANopen so I thought that it should be possible.
If that is not the case I am wondering if Basic CAN mailboxes could get a speed-up somehow. In the documentation it is written that only Full CAN filtering is hardware accelerated. What is about the ACR/AMR register mechanism, can it also decrease the CPU load and speed-up the filtering?
- Labels:
-
PSoC 5LP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't see any reason why you can't use CAN_SET_TX_ID_STANDARD_MSG() or CAN_SET_TX_ID_EXTENDED_MSG() in your code. The IDE may be preventing you from setting the Mailbox ID to zero but I can't think of any technical reason why the CAN spec or CAN hardware in the PSoC would prevent you from using the highest-priority CAN ID.
I find that trusting the IDE to set up the peripherals is kind of hit-and-miss. I prefer to drop the module on the schematic page, configure clocks/etc. and then initialize it myself in software. The Peripheral_Start() functions pretty much do the same thing with tables generated by the IDE.
BTW, I found those macros by looking at the CAN.h file in the Generated_Source/ subdirectory. There are a lot of helpful macros in there.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you! I'd expect an equivalent register/function call for the rx-mailbox as well. I'll have a look in CAN.h.