Package-level declarations

Types

Link copied to clipboard
abstract class AbstractUSBSource(val name: String, detectors: List<USBDetector> = listOf(), val debug: Boolean = false) : MeterSourceBase
Link copied to clipboard
interface EventInjector

Certain meters (e.g. simulated) support event injection.

Link copied to clipboard
class MeterConstructor(val data: PowerMeter, val createHandler: (PowerMeter) -> MeterHandler)

An abstraction for constructing power meter handlers.

Link copied to clipboard
interface MeterControls

Controls for external meters.

Link copied to clipboard

Abstract handler for different power meters. The handler is constructed from a power meter description. Only one handler should be associated with the description.

Link copied to clipboard

An abstraction for discovering new meters.

Link copied to clipboard
abstract class MeterSourceBase(val name: String, detectors: List<MeterDetector>, val debug: Boolean) : SubsystemBase, MeterSource, AutoCloseable

Base functionality for meter sources.

Link copied to clipboard

Contains live meter data, maintained by the handler.

Link copied to clipboard
open class Observable<T>

Generic single-observable.

Link copied to clipboard
interface ReadingObserver

Generic reader for meter reading events.

Link copied to clipboard
class SimulatedMeterSource(logMeterEvents: Boolean, initialMeterCount: Int, val passive: Boolean = false, val registry: (EventInjector) -> Unit? = null) : MeterSource

A meter source for building simulated meters.

Link copied to clipboard
interface Subsystem

A common interface for different subsystems. Mainly useful for displaying its status in the UI.

Link copied to clipboard
abstract class SubsystemBase(val name: String, val debug: Boolean) : Subsystem

Base functionality for subsystems.

Link copied to clipboard
object TTY

Helper functions for detecting whether we have stdin or do we run in a headless mode (e.g. system service).

Link copied to clipboard
class USB(logMeterEvents: Boolean, detectors: List<USBDetector> = listOf(SmartPower3Detector(logMeterEvents), ElmorLabsPMD2Detector(logMeterEvents)), val debug: Boolean = false, val verbose: Boolean = false) : AbstractUSBSource

USB subsystem / meter source.

Link copied to clipboard
class USBHID(logMeterEvents: Boolean, detectors: List<USBHIDDetector> = listOf(SmartPowerDetector(logMeterEvents)), val debug: Boolean = false, val verbose: Boolean = false) : AbstractUSBSource

USB HID subsystem / meter source.