[En-Nut-Discussion] CANBUS as a NUTCANBUS device
bon at elektron.ikp.physik.tu-darmstadt.de
Thu Jul 12 17:11:24 CEST 2012
I just checked into SVN my work on a NUTCANBUS approach. dev/canbus.h
provides the new header and is similar to the dev/can-dev.h +
dev/at_can.h. Checks were run on a STM32F105 platform.
- register the NUTCANBUS
- set baudrate on the bus
Now you are already able to send data.
- set messages filters
- enable reception on the bus
and received messages should appear in the rx message queue
If the TX queue is full or the RX queue is empty, writing or reading
block. Read blocking has settable timeout. Before doing a blocking action,
you can query the status of the queue.
You can set the size of the RX queue with NutRegisterCanBus call.
For the STM32 implementation with two receive fifos in each CAN device, I
choose to implement two NUTCANBUS structures, a main one and a
companion. You may only register the companion when the master is already
registered. There is no tx queue on th companion, and e.g. baud rate setting
errors out and the setting of the master device is used. Now two thread with
different message filters can wait for RX on a single can node.
Feedback and improvement welcome!
Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
More information about the En-Nut-Discussion