Project

General

Profile

Actions

Support #63

closed

Access to a second CAN bus

Added by Emmanuel Jubera [SAFT] about 1 year ago. Updated 5 months ago.

Status:
Resolved
Priority:
Normal
Target version:
-
Start date:
10/26/2023
Due date:
% Done:

100%

Estimated time:
Hardware platform:
Solidrun (aarch64)
OS Affects Version/s:
OS Fix Version/s:
Labels:

Description

The SolidSense provides an access to one CAN bus through the front panel connector.
Would it be possible to access a second CAN bus through the expansion header of the SolidSense board ?

Actions #1

Updated by Emmanuel Jubera [SAFT] about 1 year ago

  • Tracker changed from Feature to Support
Actions #2

Updated by Emmanuel Jubera [SAFT] about 1 year ago

  • Assignee changed from Stephane Desneux [IoT.bzh] to Emmanuel Jubera [SAFT]

According to a communication from SolidRun to IoT.bzh in 2021, it is possible to access a second CAN bus via the expansion header of the solidSense board.
More information is to be collected from SolidRun on this topic. Contacts are: pointjc@solidsense-connect.com and pascal.olivier@solidsense-connect.com

Actions #3

Updated by Emmanuel Jubera [SAFT] 11 months ago

Solidrun confirmed the feasibility of this feature and provided us with some indications. One of our engineer is currently developing a daughter board providing the access to a second CAN interface.

Actions #4

Updated by Sebastien Douheret [IoT.bzh] 10 months ago

  • Assignee changed from Emmanuel Jubera [SAFT] to Louis-Baptiste Sobolewski
Actions #5

Updated by Louis-Baptiste Sobolewski 5 months ago

  • Status changed from New to Resolved
Actions #6

Updated by Louis-Baptiste Sobolewski 5 months ago

  • % Done changed from 0 to 100
Actions #7

Updated by Aymeric Aillet 5 months ago

CAN

Patch provided on our public gitlab: https://git.iot.bzh/saft/datahub/liquidsense/liquidsense-linux-support/-/blob/main/0050-LiquidSense-enable-CAN-LiquidSense-4-MHz-clock.patch

The secondary can interface is available as `can1`.

This patch uses the LiquidSense dedicated 4MHz quartz to clock the
secondary CAN controller bus.

Another patch has to be created if we want to use the 24Mhz SolidSense clock (which is used by SolidSense CAN controller).
This modification involve soldering a resistor to link the LiquidSense CAN controller to this clock.

GPIO expander

Patch provided on our public gitlab: https://git.iot.bzh/saft/datahub/liquidsense/liquidsense-linux-support/-/blob/main/0051-LiquidSense-enable-GPIO-expander.patch

The expander appears as /dev/gpiochip5.

It provides 8 I/Os which are labelled and set as inputs by default.

Bits 0 to 3 are classic IOs:
- liquidsense:es1 is bit 0 (untested)
- liquidsense:es2 is bit 1 (untested)
- liquidsense:es3 is bit 2
- liquidsense:es4 is bit 3

Bits 4 to 7 match a dip switch:
- liquidsense:sw1-4 is bit 4
- liquidsense:sw1-3 is bit 5
- liquidsense:sw1-2 is bit 6
- liquidsense:sw1-1 is bit 7

GPIO expander is available on I2C2 bus at address 0x20 (issue in liquidsense manual providing address 0x18)

Actions

Also available in: Atom PDF