How maru006/contrib works
This repository is a collection of Raspberry Pi hardware contributions rather than one integrated product: GPIO sensor readers and two servo-control programs. The principal workflows are sensor signal acquisition and interpretation, or user input translated into servo movement. The sampled code supports the GPIO and wired-servo flows; the BLE utility excerpt shows controller discovery and event handling, though its complete implementation was not sampled.
Main entry points: dht11/main.c DHT11 Reader · lasersensor/main.c Laser Counter · utils.c Bluetooth / Servo Helpers · servo_c/main.c Keyboard Servo
Components 18
GPIO Sensors
- DHT11 Reader
dht11/main.c - GPIO Helpers
dht11/utils.c - Humidity / Temperature
dht11/main.c - Laser Counter
lasersensor/main.c - GPIO Helpers
lasersensor/utils.c - Hit Count
lasersensor/main.c
Servo Control
- Keyboard Servo
servo/servo_c/main.c - Servo / I2C Helpers
servo/servo_c/utils.c - BLE Servo
servo/servo_ble/main.c - Bluetooth / Servo Helpers
servo/servo_ble/utils.c
Hardware Interfaces
- DHT11 Sensor
- Laser Sensor
- 8BitDo Controller
- BlueZ / D-Bus
- Linux Input Device
- I²C Servo Hardware
- GPIO Hardware
Other components
- Operator
Connections 23
- Operator → DHT11 Reader: starts read
- DHT11 Reader → GPIO Helpers: requests lines
- DHT11 Reader → GPIO Hardware: drives / reads
- GPIO Helpers → GPIO Hardware: configures lines
- DHT11 Sensor → GPIO Hardware: signals
- DHT11 Reader → Humidity / Temperature: decodes pulses
- Operator → Laser Counter: starts counting
- Laser Counter → GPIO Helpers: requests / snapshots
- Laser Counter → GPIO Hardware: powers / reads
- GPIO Helpers → GPIO Hardware: configures lines
- Laser Sensor → GPIO Hardware: signals hits
- Laser Counter → Hit Count: counts detections
- Operator → Keyboard Servo: presses keys
- Keyboard Servo → Servo / I2C Helpers: sets / moves angles
- Keyboard Servo → Servo / I2C Helpers: selects mux channel
- Servo / I2C Helpers → I²C Servo Hardware: writes PWM / mux
- Operator → BLE Servo: starts control
- BLE Servo → Bluetooth / Servo Helpers: discovers / reads events
- BLE Servo → BlueZ / D-Bus: pairs / connects
- Bluetooth / Servo Helpers → BlueZ / D-Bus: queries / disconnects
- 8BitDo Controller → BlueZ / D-Bus: advertises
- Bluetooth / Servo Helpers → Linux Input Device: finds / reads events
- Bluetooth / Servo Helpers → I²C Servo Hardware: writes PWM / mux