Hardware Peripherals

These APIs are likely to change in future API versions. Key functionality will remain.

Accessing hardware connected to Skynode can be achieved by mapping the correct device file into the app container.

The UART port on Skynode is connected to the FMU and can thus not be used to connect serial peripherals to apps. To connect UART payloads to Skynode, use a UART-to-USB adapter chip, like the FTDI series of chips.

Libusb devices

Devices that can be mounted with libusb user-space drivers can be mapped like this

  • Map /dev from the host to your containter

  • Add c 189:* rmw cgroup rule

This can be done like this, by using the compose-override functionality in auterion-app.yml:

compose-override:
    services:
        my-service:     # Replace with the name of your service
            volumes:
                - /dev:/dev
            device_cgroup_rules:
                - 'c 189:* rmw'

Serial-to-USB devices

Similarly to libusb devices, serial to usb devices can be mapped like so

compose-override:
    services:
        my-service:    # Replace with the name of your service
            volumes:
                - /dev:/dev
            device_cgroup_rules:
                - 'c 166:* rmw'  # For CDC / ACM devices
                - 'c 188:* rmw'  # For tty devices (FTDI)

Video for Linux (v4l) devices

Similarly to the other devices types, these devices can be mapped like so

compose-override:
    services:
        my-service:    # Replace with the name of your service
            volumes:
                - /dev:/dev
            device_cgroup_rules:
                - 'c 81:* rmw' 

There is currently no managed access de-confliction for devices. When a device gets opened by one app, other apps can not open this device anymore.

Last updated