Pi4J / pi4j-example-devices

Device support project for the TCA9548 (1x8 I2C switch)
10 stars 7 forks source link

Pi4J :: Java I/O Library for Raspberry Pi :: Devices

Collection of devices implemented for use with Pi4J V2.

Project by Tom Aarts.

Note: This repository has a tag identifying the code level that works with
2.4.0-SNAPSHOT.   Commits newer than this tag are migrations to the 
2.6.0-SNAPSHOT. These commits may contain  code using providers and/or Pi4J-V2
interfaces not available in prior SNAPSHOTs.. 

The following lists the currently supported devices within this project:

Notes:

(1): This package uses code within this repo and Pi4J \ (2): Requires 2.2.2-SNAPSHOT of Pi4j that supports i2c multibyte write/restart \ (3): SPI versions of the device uses Pigpio, cannot be used on Raspberry Pi5 \

GPIO monitor

This repository includes two Python scripts to monitor GPIO pin states in real-time on a Raspberry Pi. \ Note: These scripts use the pigpio library, which is currently incompatible with the Raspberry Pi 5.

Setting Up pigpio

To install pigpio, run:

pip install pigpio

Also, make sure the pigpiod daemon is running before executing either script:

sudo pigpiod
  1. monitor.py

This script provides a detailed, line-by-line log of GPIO state changes, including the time difference in microseconds between state changes for each pin.

python3 monitor.py              # Monitor all GPIO pins
python3 monitor.py 23 24 25     # Monitor only GPIO pins 23, 24, and 25
Monitoring GPIO pins... Press Ctrl+C to stop.
GPIO=23 Level=1 Time Diff=120 μs
GPIO=24 Level=0 Time Diff=95 μs
GPIO=25 Level=1 Time Diff=110 μs
  1. monitor_table_format.py

This script offers a compact, tabular format for monitoring GPIO states, displaying the current state of each pin in a single, updating line. This view is ideal for visualizing slow state changes without excessive log clutter.

Monitoring GPIO pins... Press Ctrl+C to stop.
GPIO   23 | 24 | 25
STATE   1 |  0 |  1