wled_json_api_library/structures/cfg/
cfg_light.rs1use serde;
2use serde::{Serialize, Deserialize};
3use serde_repr::{Deserialize_repr, Serialize_repr};
4use crate::structures::none_function;
5
6
7
8
9
10#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
11#[serde(rename_all = "camelCase")]
12pub struct Light {
13 #[serde(skip_serializing_if = "Option::is_none")]
15 #[serde(default = "none_function")]
16 #[serde(rename = "scale-bri")]
17 pub scale_bri: Option<u8>,
18
19 #[serde(skip_serializing_if = "Option::is_none")]
21 #[serde(default = "none_function")]
22 #[serde(rename = "pal-mode")]
23 pub pal_mode: Option<u8>,
24
25 #[serde(skip_serializing_if = "Option::is_none")]
29 #[serde(default = "none_function")]
30 pub aseg: Option<bool>,
31
32 #[serde(skip_serializing_if = "Option::is_none")]
33 #[serde(default = "none_function")]
34 pub gc: Option<Gc>,
35
36 #[serde(skip_serializing_if = "Option::is_none")]
37 #[serde(default = "none_function")]
38 pub tr: Option<Tr>,
39
40 #[serde(skip_serializing_if = "Option::is_none")]
41 #[serde(default = "none_function")]
42 pub nl: Option<Nl>,
43}
44
45#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
47#[serde(rename_all = "camelCase")]
48pub struct Gc {
49 #[serde(skip_serializing_if = "Option::is_none")]
51 #[serde(default = "none_function")]
52 pub bri: Option<f64>,
53
54 #[serde(skip_serializing_if = "Option::is_none")]
56 #[serde(default = "none_function")]
57 pub col: Option<f64>,
58
59 #[serde(skip_serializing_if = "Option::is_none")]
61 #[serde(default = "none_function")]
62 pub val: Option<f64>,
63}
64
65#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
67#[serde(rename_all = "camelCase")]
68pub struct Tr {
69 #[serde(skip_serializing_if = "Option::is_none")]
71 #[serde(default = "none_function")]
72 pub mode: Option<bool>,
73
74 #[serde(skip_serializing_if = "Option::is_none")]
76 #[serde(default = "none_function")]
77 pub dur: Option<u16>,
78
79 #[serde(skip_serializing_if = "Option::is_none")]
81 #[serde(default = "none_function")]
82 pub pal: Option<u8>,
83
84 #[serde(skip_serializing_if = "Option::is_none")]
86 #[serde(default = "none_function")]
87 pub rpc: Option<u8>,
88}
89
90#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
92#[serde(rename_all = "camelCase")]
93pub struct Nl {
94
95 #[serde(skip_serializing_if = "Option::is_none")]
97 #[serde(default = "none_function")]
98 pub mode: Option<NightLightMode>,
99
100 #[serde(skip_serializing_if = "Option::is_none")]
102 #[serde(default = "none_function")]
103 pub dur: Option<u8>,
104
105 #[serde(skip_serializing_if = "Option::is_none")]
107 #[serde(default = "none_function")]
108 pub tbri: Option<u8>,
109
110 #[serde(skip_serializing_if = "Option::is_none")]
112 #[serde(default = "none_function")]
113 #[serde(rename = "macro")]
114 pub macro_field: Option<u8>,
115}
116
117
118
119
120#[allow(non_camel_case_types)]
122#[derive(Serialize_repr, Deserialize_repr, PartialEq, Debug, Clone)]
123#[repr(u8)]
124pub enum NightLightMode {
125 NL_MODE_SET,
127 NL_MODE_FADE,
129 NL_MODE_COLORFADE,
131 NL_MODE_SUN,
133 RSVD1,
135 RSVD2,
137 RSVD3,
139 RSVD4,
141 RSVD5,
143 RSVD6,
145
146}