21 const uint8_t peerEven[] = {
27 0x00,0x00,0x00,0x32,0x64,0x00,0xFF,0x00,0xFF,0x01,0x12,0x22,0x23,0x20,0x00,
28 0x14,0xC8,0x0A,0x05,0x05,0x00,0xC8,0x0A,0x0A,0x04,0x04,0x00,0x14,0x52,0x63,
29 0x00,0x00,0x00,0x32,0x64,0x00,0xFF,0x00,0xFF,0x24,0x12,0x22,0x23,0x20,0x00,
30 0x14,0xC8,0x0A,0x05,0x05,0x00,0xC8,0x0A,0x0A,0x04,0x04,0x20,0x14,0x52,0x63,
38 const uint8_t peerOdd[] = {
44 0x00,0x00,0x00,0x32,0x64,0x00,0xFF,0x00,0xFF,0x01,0x44,0x54,0x64,0x20,0x00,
45 0x14,0xC8,0x0A,0x05,0x05,0x00,0xC8,0x0A,0x0A,0x04,0x04,0x00,0x14,0x52,0x63,
46 0x00,0x00,0x00,0x32,0x64,0x00,0x0A,0x00,0xFF,0xA5,0x44,0x54,0x64,0x20,0x00,
47 0x14,0xC8,0x0A,0x05,0x05,0x00,0xC8,0x0A,0x0A,0x04,0x04,0x20,0x14,0x52,0x63,
54 const uint8_t peerSingle[] = {
60 0x00,0x00,0x00,0x32,0x64,0x00,0xff,0x00,0xff,0x01,0x14,0x52,0x63,0x20,0x00,
61 0x14,0xC8,0x0A,0x05,0x05,0x00,0xC8,0x0A,0x0A,0x04,0x04,0x00,0x14,0x52,0x63,
62 0x00,0x00,0x00,0x32,0x64,0x00,0xFF,0x00,0xFF,0x26,0x14,0x52,0x63,0x20,0x00,
63 0x14,0xC8,0x0A,0x05,0x05,0x00,0xC8,0x0A,0x0A,0x04,0x04,0x20,0x14,0x52,0x63,
75 uint8_t transmitTryMax :8;
76 uint8_t ovrTempLvl :8;
77 uint8_t redTempLvl :8;
79 uint8_t powerUpAction :1;
81 uint8_t statusInfoMinDly :5;
82 uint8_t statusInfoRandom :3;
83 uint8_t characteristic :1;
85 uint8_t logicCombination :5;
91 uint8_t shCtRampOn :4;
92 uint8_t shCtRampOff :4;
94 uint8_t shCtDlyOff :4;
102 uint8_t shOffTime :8;
103 uint8_t shActionTypeDim :4;
105 uint8_t shOffTimeMode :1;
106 uint8_t shOnTimeMode :1;
107 uint8_t shDimJtOn :4;
108 uint8_t shDimJtOff :4;
109 uint8_t shDimJtDlyOn :4;
110 uint8_t shDimJtDlyOff :4;
111 uint8_t shDimJtRampOn :4;
112 uint8_t shDimJtRampOff :4;
114 uint8_t shOffDlyBlink :1;
115 uint8_t shOnLvlPrio :1;
116 uint8_t shOnDlyMode :1;
117 uint8_t shOffLevel :8;
118 uint8_t shOnMinLevel :8;
119 uint8_t shOnLevel :8;
120 uint8_t shRampSstep :8;
121 uint8_t shRampOnTime :8;
122 uint8_t shRampOffTime :8;
123 uint8_t shDimMinLvl :8;
124 uint8_t shDimMaxLvl :8;
125 uint8_t shDimStep :8;
126 uint8_t shOffDlyStep :8;
127 uint8_t shOffDlyNewTime :8;
128 uint8_t shOffDlyOldTime :8;
129 uint8_t shDimElsActionType :4;
131 uint8_t shDimElsOffTimeMd :1;
132 uint8_t shDimElsOnTimeMd :1;
133 uint8_t shDimElsJtOn :4;
134 uint8_t shDimElsJtOff :4;
135 uint8_t shDimElsJtDlyOn :4;
136 uint8_t shDimElsJtDlyOff :4;
137 uint8_t shDimElsJtRampOn :4;
138 uint8_t shDimElsJtRampOff :4;
139 uint8_t lgCtRampOn :4;
140 uint8_t lgCtRampOff :4;
141 uint8_t lgCtDlyOn :4;
142 uint8_t lgCtDlyOff :4;
145 uint8_t lgCtValLo :8;
146 uint8_t lgCtValHi :8;
150 uint8_t lgOffTime :8;
151 uint8_t lgActionTypeDim :4;
153 uint8_t lgMultiExec :1;
154 uint8_t lgOffTimeMode :1;
155 uint8_t lgOnTimeMode :1;
156 uint8_t lgDimJtOn :4;
157 uint8_t lgDimJtOff :4;
158 uint8_t lgDimJtDlyOn :4;
159 uint8_t lgDimJtDlyOff :4;
160 uint8_t lgDimJtRampOn :4;
161 uint8_t lgDimJtRampOff :4;
163 uint8_t lgOffDlyBlink :1;
164 uint8_t lgOnLvlPrio :1;
165 uint8_t lgOnDlyMode :1;
166 uint8_t lgOffLevel :8;
167 uint8_t lgOnMinLevel :8;
168 uint8_t lgOnLevel :8;
169 uint8_t lgRampSstep :8;
170 uint8_t lgRampOnTime :8;
171 uint8_t lgRampOffTime :8;
172 uint8_t lgDimMinLvl :8;
173 uint8_t lgDimMaxLvl :8;
174 uint8_t lgDimStep :8;
175 uint8_t lgOffDlyStep :8;
176 uint8_t lgOffDlyNewTime :8;
177 uint8_t lgOffDlyOldTime :8;
178 uint8_t lgDimElsActionType :4;
180 uint8_t lgDimElsOffTimeMd :1;
181 uint8_t lgDimElsOnTimeMd :1;
182 uint8_t lgDimElsJtOn :4;
183 uint8_t lgDimElsJtOff :4;
184 uint8_t lgDimElsJtDlyOn :4;
185 uint8_t lgDimElsJtDlyOff :4;
186 uint8_t lgDimElsJtRampOn :4;
187 uint8_t lgDimElsJtRampOff :4;
194 uint8_t ctRampOff :4;
205 uint8_t actionType :4;
207 uint8_t lgMultiExec :1;
208 uint8_t offTimeMode :1;
209 uint8_t onTimeMode :1;
215 uint8_t jtRampOff :4;
217 uint8_t offDlyBlink :1;
218 uint8_t onLvlPrio :1;
219 uint8_t onDlyMode :1;
221 uint8_t onMinLevel :8;
223 uint8_t rampSstep :8;
224 uint8_t rampOnTime :8;
225 uint8_t rampOffTime :8;
226 uint8_t dimMinLvl :8;
227 uint8_t dimMaxLvl :8;
229 uint8_t offDlyStep :8;
230 uint8_t offDlyNewTime :8;
231 uint8_t offDlyOldTime :8;
232 uint8_t elsActionType :4;
234 uint8_t elsOffTimeMd :1;
235 uint8_t elsOnTimeMd :1;
238 uint8_t elsJtDlyOn :4;
239 uint8_t elsJtDlyOff :4;
240 uint8_t elsJtRampOn :4;
241 uint8_t elsJtRampOff :4;
245 void (*fSwitch)(uint8_t,uint8_t);
254 uint16_t rampTme, duraTme;
258 uint16_t characteristicStat;
262 uint8_t activeOffDlyBlink :1;
263 uint8_t statusOffDlyBlink :1;
264 uint8_t directionDim :1;
267 uint8_t curStat:4, nxtStat:4;
272 void config(
void Init(),
void Switch(uint8_t,uint8_t), uint8_t temperature);
274 void trigger11(uint8_t setValue, uint8_t *rampTime, uint8_t *duraTime);
275 void trigger40(uint8_t msgLng, uint8_t msgCnt);
276 void trigger41(uint8_t msgBLL, uint8_t msgCnt, uint8_t msgVal);
279 void toggleDim(
void);
284 void blinkOffDly(
void);
285 void sendStatus(
void);
289 void showStruct(
void);
300 void setToggle(
void);
301 void configCngEvent(
void);
302 void pairSetEvent(uint8_t *data, uint8_t len);
303 void pairStatusReq(
void);
304 void peerMsgEvent(uint8_t type, uint8_t *data, uint8_t len);
309 void regInHM(uint8_t cnl, uint8_t lst,
AS *instPtr);
310 void hmEventCol(uint8_t by3, uint8_t by10, uint8_t by11, uint8_t *data, uint8_t len);
311 void peerAddEvent(uint8_t *data, uint8_t len);
312 void firstStart(
void);
Main class for implementation of the AskSin protocol stack. Every device needs exactly one instance o...
Definition: AS.h:39
Timer class for non-blocking delays.
Definition: AS.h:200