Enable Linux Event Tracing

To track what commands or data send to buses or from buses you need to enable linux tracing debugfs

Enable I2C tracing

sudo su
echo 'i2c:*' > /sys/kernel/debug/tracing/set_event
echo 'smbus:*' > /sys/kernel/debug/tracing/set_event
bash
Note

All events will be available in /sys/kernel/debug/tracing/trace with labels: i2c_* and smbus_*

Enable SPI tracing

sudo su
echo 'spi:*' > /sys/kernel/debug/tracing/set_event
bash
Note

All events will be available in /sys/kernel/debug/tracing/trace with label: spi_*

Enable GPIO/OneWire tracing

sudo su
echo 'gpio:*' > /sys/kernel/debug/tracing/set_event
bash
Note

All events will be available in /sys/kernel/debug/tracing/trace with labels: gpio_* for GPIO pins and with w1_* for one wire

These commands will enable logging only for current linux session and will be disabled after reboot. If you want to add tracing logging permanently please add commands to cmdline boot options. For example in RaspberryPi need to update /boot/cmdline.txt and add tracing in the format below:

trace_evace_event=i2c:*,smbus:*,spi:*,gpio:*
bash

Java Embedded Framework Dev Services

When you compile your application with quarkus:dev Quarkus will enable Dev Services for JEF Extension

Note

For the remote debugging from your development machine you need to run Quarkus via

mvn compile quarkus:dev -Dmaven.test.skip=true -DdebugHost=0.0.0.0
bash

In this case /q/dev and remote debugging will be available from remote machine

JEF DevServices widget will look like:

Dev Services widget

Some additional information about interfaces will be available if you click to the links.