.. include:: Device Driver: CAN Controller JF0815 ==================================== .. topic:: See also * :doc:`../../semaphore/index` * :doc:`../can-jf0815-hw/index` Plan ---- * Wrap JF0815 HW wrapper in class with *blocking* interface * Use :doc:`semaphores <../../semaphore/index>` to block in either direction * Register ISRs for wakeups, *internally* (as an implementation detail) Driver Usage: Transmit ---------------------- .. literalinclude:: code/can-jf0815-xmit-blocking.cpp :caption: :download:`code/can-jf0815-xmit-blocking.cpp` :language: c++ Driver Usage: Receive --------------------- .. literalinclude:: code/can-jf0815-recv-blocking.cpp :caption: :download:`code/can-jf0815-recv-blocking.cpp` :language: c++ Driver Implementation --------------------- .. literalinclude:: code/can-jf0815.h :caption: :download:`code/can-jf0815.h` :language: c++ .. literalinclude:: code/can-jf0815.cpp :caption: :download:`code/can-jf0815.cpp` :language: c++