Skip to content

Commit 5b6039a

Browse files
committed
docs: fix can.send signature, add set_filters(None), note RT1062/N6 CAN gap
The 9 quickref and shield examples used can.send([list], id) -- wrong argument order with a list instead of bytes. Correct signature is send(id, data, flags=0). Updated all 9 to can.send(0x123, b"\xDE\xAD\xBE\xEF"). The same examples called can.recv() with no filter installed, which silently drops every frame. Added can.set_filters(None) between init and send so the round-tripped frame actually returns. Tutorial hardware/can/can-code.rst recv section now states that the controller drops every frame by default and shows set_filters(None) as the accept-all override before the recv example -- previous ordering had the Filters section after recv, which gave readers a broken example to try first. Shield bus numbers corrected: can-shield uses CAN(2), can-rs232-shield uses CAN(2). Added a note on the N6 and RT1062 quickref CAN sections that CAN is not yet supported on those boards in firmware v5.0.0. RT1062 didn't have a CAN section at all -- added one mirroring the N6 structure (pin table CAN1 on P1/P3, code example, the same note).
1 parent 882a7c4 commit 5b6039a

11 files changed

Lines changed: 57 additions & 13 deletions

docs/openmvcam/quickref/arduino-giga-r1-wifi.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,8 @@ FDCAN2 D94 D93
683683
from machine import CAN
684684

685685
can = CAN(2, 500_000)
686-
can.send([0xDE, 0xAD, 0xBE, 0xEF], 0x123)
686+
can.set_filters(None)
687+
can.send(0x123, b"\xDE\xAD\xBE\xEF")
687688
print(can.recv())
688689

689690
ADC

docs/openmvcam/quickref/openmv-cam-h7-plus.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,8 @@ FDCAN2 P2 P3
376376
from machine import CAN
377377

378378
can = CAN(2, 500_000)
379-
can.send([0xDE, 0xAD, 0xBE, 0xEF], 0x123)
379+
can.set_filters(None)
380+
can.send(0x123, b"\xDE\xAD\xBE\xEF")
380381
print(can.recv())
381382

382383
ADC and DAC

docs/openmvcam/quickref/openmv-cam-h7.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,8 @@ FDCAN2 P2 P3
310310
from machine import CAN
311311

312312
can = CAN(2, 500_000)
313-
can.send([0xDE, 0xAD, 0xBE, 0xEF], 0x123)
313+
can.set_filters(None)
314+
can.send(0x123, b"\xDE\xAD\xBE\xEF")
314315
print(can.recv())
315316

316317
ADC and DAC

docs/openmvcam/quickref/openmv-cam-m4.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,8 @@ CAN2 P2 P3
326326
from machine import CAN
327327

328328
can = CAN(2, 500_000)
329-
can.send([0xDE, 0xAD, 0xBE, 0xEF], 0x123)
329+
can.set_filters(None)
330+
can.send(0x123, b"\xDE\xAD\xBE\xEF")
330331
print(can.recv())
331332

332333
ADC and DAC

docs/openmvcam/quickref/openmv-cam-m7.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,8 @@ CAN2 P2 P3
296296
from machine import CAN
297297

298298
can = CAN(2, 500_000)
299-
can.send([0xDE, 0xAD, 0xBE, 0xEF], 0x123)
299+
can.set_filters(None)
300+
can.send(0x123, b"\xDE\xAD\xBE\xEF")
300301
print(can.recv())
301302

302303
ADC and DAC

docs/openmvcam/quickref/openmv-n6.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,12 +567,17 @@ Bus TX RX
567567
CAN1 P2 P3
568568
============ ==== ====
569569

570+
.. note::
571+
572+
CAN is not yet supported on this board in firmware v5.0.0.
573+
570574
::
571575

572576
from machine import CAN
573577

574578
can = CAN(1, 500_000)
575-
can.send([0xDE, 0xAD, 0xBE, 0xEF], 0x123)
579+
can.set_filters(None)
580+
can.send(0x123, b"\xDE\xAD\xBE\xEF")
576581
print(can.recv())
577582

578583
ADC

docs/openmvcam/quickref/openmv-pure-thermal.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -651,7 +651,8 @@ FDCAN2 P2 P3
651651
from machine import CAN
652652

653653
can = CAN(2, 500_000)
654-
can.send([0xDE, 0xAD, 0xBE, 0xEF], 0x123)
654+
can.set_filters(None)
655+
can.send(0x123, b"\xDE\xAD\xBE\xEF")
655656
print(can.recv())
656657

657658
ADC and DAC

docs/openmvcam/quickref/openmv-rt1062.rst

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -572,6 +572,28 @@ SPI1 P0 P1 P2 P3
572572
spi.write(b"hello")
573573
cs.value(1)
574574

575+
CAN
576+
~~~
577+
578+
============ ==== ====
579+
Bus TX RX
580+
============ ==== ====
581+
CAN1 P1 P3
582+
============ ==== ====
583+
584+
.. note::
585+
586+
CAN is not yet supported on this board in firmware v5.0.0.
587+
588+
::
589+
590+
from machine import CAN
591+
592+
can = CAN(1, 500_000)
593+
can.set_filters(None)
594+
can.send(0x123, b"\xDE\xAD\xBE\xEF")
595+
print(can.recv())
596+
575597
ADC
576598
~~~
577599

docs/openmvcam/shields/can-rs232-shield.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,9 @@ Send and receive CAN-FD frames — TX on P1 (default) or P2 (alternative), RX on
101101

102102
from machine import CAN
103103

104-
can = CAN(0, 1_000_000)
105-
can.send([0xDE, 0xAD, 0xBE, 0xEF], 0x123)
104+
can = CAN(2, 1_000_000)
105+
can.set_filters(None)
106+
can.send(0x123, b"\xDE\xAD\xBE\xEF")
106107
print(can.recv())
107108

108109
Echo bytes over RS-232 on P4 (TX) / P5 (RX)::

docs/openmvcam/shields/can-shield.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,10 @@ Send and receive frames on the CAN bus at 1 Mb/s::
8282
from machine import CAN
8383
import time
8484

85-
can = CAN(1, 1_000_000)
85+
can = CAN(2, 1_000_000)
86+
can.set_filters(None)
8687

87-
can.send([0xDE, 0xAD, 0xBE, 0xEF], 0x123)
88+
can.send(0x123, b"\xDE\xAD\xBE\xEF")
8889
print(can.recv())
8990

9091
With the on-board solder bridge connected, drive P6 high to put the

0 commit comments

Comments
 (0)