- Updated byte representations in tests to use lowercase hex format for consistency.
- Reformatted code for better readability, including line breaks and indentation adjustments.
- Consolidated multiple lines into single lines where appropriate to enhance clarity.
- Ensured that all test cases maintain consistent formatting and style across the test suite.
- shtc3.py: SHTC3 temperature/humidity sensor (RAK1901 WisBlock module,
I2C 0x70). Uses smbus2 i2c_rdwr for raw I2C reads since SHTC3 requires
16-bit command words with no register-byte prefix. Returns temperature_c,
temperature_f, humidity_pct.
- waveshare_ups_d.py: Waveshare UPS HAT (D) battery monitor via INA219 at
I2C 0x43. Uses the HAT's actual shunt (0.01 Ω, CAL=26868) rather than the
generic INA219 defaults. Returns bus_voltage_v, shunt_voltage_mv,
current_ma, power_mw, battery_percent (piecewise-linear SoC for 21700
cell), and charge_state (charging/discharging/idle). Sign convention
matches Waveshare sample code: negative current = charging.
Both plug-ins tested on Raspberry Pi 3B+ (DietPi) with RAK1901 WisBlock
sensor and Waveshare UPS HAT (D).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>