RumPi 1.0
A self-assembling C++ sensor & actuator library for the Raspberry Pi 5
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 NRumPiRumPi is the library's top-level facade
 CAlertEventA single alert event: a metric crossing (or recovering from) a threshold, with the reading that triggered it
 CAlertManagerA singleton that components hand readings to
 CBaseComponentAbstract base class for every component (sensor, actuator, etc.) the library manages
 CBMP180BMP180 barometric temperature and pressure sensor (I2C), also deriving altitude from the measured pressure
 CBMP280BMP280 barometric temperature and pressure sensor (I2C), also deriving altitude from the measured pressure
 CComponentCreationContextEverything a component creator needs, bundled so every creator can share one signature and live in the factory's lookup map
 CComponentFactoryBuilds the sensor components described by a JSON manifest and adds them to a ComponentManager
 CComponentManagerOwns and drives the set of sensor components
 CDHT11The DHT11 temperature and humidity sensor
 CDualLEDA bi-color LED driven by two PWM pins (one per color)
 CGasDataGas data (its response curve and danger level) used by the MQ gas sensors
 CGasSensorBase class for the MQ-series gas sensors (MQ2, MQ7, ...)
 CHCSR501An HC-SR501 PIR motion sensor
 CIAnalogDigitalConverterComponentInterface for analog-to-digital converter components (e.g
 CLCD1602Standard 16x2 character LCD screen (LCD1602) driven over I2C
 CLEDA very simple standard LED, driven by a single GPIO pin
 CLoggerA singleton that subscribes to the AlertManager and writes alert events to a per-session log file (and the console) from a background worker thread
 CMCP3008MCP3008 analog-to-digital converter chip (SPI), providing 8 channels to read analog sensors on the Raspberry Pi
 CMotorA DC motor driven through an H-bridge, with an optional enable pin and a wheel alignment used when steering
 CMQ135MQ-135 gas sensor, typically used for detecting Carbon Dioxide (CO2) PPM
 CMQ2MQ-2 gas sensor, typically used for detecting smoke
 CMQ3MQ-3 gas sensor, typically used for detecting alcohol vapor (breathalyzer)
 CMQ4MQ-4 gas sensor, typically used for detecting methane
 CMQ5MQ-5 gas sensor, typically used for detecting LPG and natural gas (propane)
 CMQ6MQ-6 gas sensor, typically used for detecting LPG and propane
 CMQ7MQ-7 gas sensor, typically used for detecting carbon monoxide
 CMQ8MQ-8 gas sensor, typically used for detecting hydrogen
 CMQ9MQ-9 gas sensor, typically used for detecting LPG, carbon monoxide, and methane
 CPCF8591PCF8591 analog-to-digital converter chip (I2C), used to read analog sensors on the Raspberry Pi
 CPhotoresistorPhotoresistor (LDR) - reads ambient light as an analog value through an ADC channel
 CPiCameraRaspberry Pi camera, recording video (raw .h264 converted to .mp4 on a background thread) and taking pictures
 CPMS5003PMS5003 particulate-matter (dust) sensor read over serial, reporting PM1.0/PM2.5/PM10 concentrations, particle counts by diameter, rolling averages, and an air-quality evaluation
 CPTQS1005PTQS1005 air-quality sensor read over serial, reporting PM2.5, TVOC, HCHO, CO2, internal temperature, and humidity, each with a rolling average
 CQSFS01QS-FS01 anemometer wind-speed sensor, read as an analog voltage through an ADC channel
 CRainSensorRain sensor - reads surface wetness as an analog value through an ADC channel
 CReceiverImplements TCP client/server socket communication, running its accept, send, and receive loops on their own threads and invoking a callback for each message received
 CRelayA relay driven by a single GPIO pin (output-only, like an LED)
 CRemoteCommandA command a remote client can send, paired with the handler that carries it out
 CRGBLEDAn RGB LED driven by three PWM pins (red, green, blue)
 CRollingAverageMaintains a rolling (moving) average over a fixed-length window of recent readings using a circular buffer
 CRotaryEncoderA standard rotary encoder
 CRumPiConfigHolds the library's runtime configuration, loaded from a JSON file
 CSelectedSensorReadingsA point-in-time copy of the SELECTED sensor readings the Home dashboard surfaces - a deliberately curated subset, not a generic per-sensor reading
 CSoundSensorFC-04 sound sensor - reads sound level as an analog value through a PCF8591 ADC channel
 CSystemHealthComponentReads Raspberry Pi system health (temperature, voltage, throttling, memory, storage, WiFi, and IP) by running vcgencmd and other OS commands, and reports threshold crossings to the AlertManager
 CSystemMemoryInformationData class that contains information about the system's memory and swap space, in Kilobytes
 CTSL2591TSL2591 high-dynamic-range digital light sensor (I2C), reading full-spectrum and IR channels to compute lux
 CVehicleA vehicle composed of several Motors, providing drive and steering by coordinating the motors it owns