feat(domain): implement RelayState enum with serialization support
Add RelayState enum to domain layer with: - Display, Debug, Clone, Copy, PartialEq, Eq derives - serde Serialize/Deserialize traits for API JSON handling - Type-safe representation of relay on/off states TDD green phase: Tests from T019 now pass. Ref: T020 (specs/001-modbus-relay-control/tasks.md)
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
/// State of a relay (on or off).
|
||||
///
|
||||
/// Represents the binary state of a relay channel in the Modbus controller.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
|
||||
pub enum RelayState {
|
||||
/// Relay is energized (circuit closed).
|
||||
#[serde(rename = "on")]
|
||||
On,
|
||||
/// Relay is de-energized (circuit open).
|
||||
#[serde(rename = "off")]
|
||||
Off,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user