1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use serde::{de, Deserialize, Deserializer, Serialize, Serializer};
use std::fmt;
use std::str::FromStr;

/// Countdown tool action
#[derive(Debug, PartialOrd, PartialEq, Copy, Clone)]
pub enum DivoomToolCountdownAction {
    Stop,
    Start,
    Raw(i32),
}

impl_divoom_dto_enum_traits!(DivoomToolCountdownAction, Stop: "stop", Start: "start");

/// Noise tool action
#[derive(Debug, PartialOrd, PartialEq, Copy, Clone)]
pub enum DivoomToolNoiseAction {
    Stop,
    Start,
    Raw(i32),
}

impl_divoom_dto_enum_traits!(DivoomToolNoiseAction, Stop: "stop", Start: "start");

/// Stopwatch tool action
#[derive(Debug, PartialOrd, PartialEq, Copy, Clone)]
pub enum DivoomToolStopwatchAction {
    Stop,
    Start,
    Reset,
    Raw(i32),
}

impl_divoom_dto_enum_traits!(DivoomToolStopwatchAction, Stop: "stop", Start: "start", Reset: "reset");