Linux CAN bus: Difference between revisions

From Variscite Wiki
No edit summary
No edit summary
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{PageHeader|CAN bus}}
<!-- Set release according to "release" parameter in URL and use RELEASE_DUNFELL_V1.0_VAR-SOM-MX6 as default
{{DocImage|category1=Yocto|category2=VAR-SOM-MX6}}[[Category:DART-6UL]] [[Category:VAR-SOM-MX7]] [[Category:DART-MX8M]] [[Category:DART-MX8M-MINI]] [[Category:VAR-SOM-MX8X]] [[Category:VAR-SOM-MX8]]
--> {{#vardefine:RELEASE_PARAM|{{#urlget:release|RELEASE_DUNFELL_V1.0_VAR-SOM-MX6}}}} <!--
--> {{#lst:Yocto_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{#lst:B2QT_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{PageHeader|CAN bus}} {{DocImage|category1=Yocto|category2=Debian}}[[Category:Boot2Qt]][[Category:Android]][[Category:VAR-SOM-MX6]][[Category:DART-6UL]][[Category:VAR-SOM-MX7]][[Category:DART-MX8M]][[Category:DART-MX8M-MINI]][[Category:VAR-SOM-MX8M-NANO]][[Category:VAR-SOM-MX8X]][[Category:VAR-SOM-MX8]][[Category:DART-MX8M-PLUS]]


Connect 2 boards with the appropriate cable.<br>
Connect two boards like the following:<br>
<u>Board A</u>  <u>Board B</u>
  CAN_H --- CAN_H
  CAN_L --- CAN_L
  GND ----- GND


Set up the boards by running the following on each of them:<br>  
Set up the boards by running the following on each of them:<br>  
<pre>
# ip link set can0 up type can bitrate 125000
$ ip link set can0 up type can bitrate 125000
</pre>


Then:<br>
Then:<br>
On board #1:<br>  
On board A:<br>  
<pre>
# candump can0
$ candump can0
</pre>


On board #2:<br>  
On board B:<br>  
<pre>
# cansend can0 500#1E.10.10
$ cansend can0 500#1E.10.10
 
</pre>
{{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M-PLUS |
'''Note''': For DART-MX8M-PLUS SoMs, the reference interface is can2 instead of can0.
|}}
 
{{#ifexpr: {{#var:YOCTO_VERSION}} > 3.0 |
{{#switch: {{#var:HARDWARE_NAME}}
| DART-MX8M-MINI
| VAR-SOM-MX8M-NANO = '''Note''': For VAR-SOM-MX8M-MINI/NANO rev. 1.0/1.1/1.2, see: [[VAR-SOM-MX8M-MINI-CAN|VAR-SOM-MX8M-MINI/NANO rev. 1.0/1.1/1.2 CAN bus support]]
|
}}
|}}

Revision as of 14:22, 9 February 2022

CAN bus

Connect two boards like the following:

Board A   Board B

 CAN_H --- CAN_H
 CAN_L --- CAN_L
  GND ----- GND

Set up the boards by running the following on each of them:

# ip link set can0 up type can bitrate 125000

Then:
On board A:

# candump can0

On board B:

# cansend can0 500#1E.10.10