51 void begin(uint8_t channel)
noexcept
72 return -(256 - rawRssi);
86 lastReceiveMs = millis();
90 if (millis() - lastReceiveMs > 500)
100 uint32_t lastReceiveMs = 0;
103 bool received =
false;
104 uint8_t buffer[
Size];
130 void darkAttachInterrupt(uint8_t pin)
140 InstanceList()[pin] =
this;
145 case 0: attachInterrupt(digitalPinToInterrupt( 0), [](){ InstanceList()[ 0]->onRisingEdge(); }, RISING);
break;
146 case 1: attachInterrupt(digitalPinToInterrupt( 1), [](){ InstanceList()[ 1]->onRisingEdge(); }, RISING);
break;
147 case 2: attachInterrupt(digitalPinToInterrupt( 2), [](){ InstanceList()[ 2]->onRisingEdge(); }, RISING);
break;
148 case 3: attachInterrupt(digitalPinToInterrupt( 3), [](){ InstanceList()[ 3]->onRisingEdge(); }, RISING);
break;
149 case 4: attachInterrupt(digitalPinToInterrupt( 4), [](){ InstanceList()[ 4]->onRisingEdge(); }, RISING);
break;
150 case 5: attachInterrupt(digitalPinToInterrupt( 5), [](){ InstanceList()[ 5]->onRisingEdge(); }, RISING);
break;
151 case 6: attachInterrupt(digitalPinToInterrupt( 6), [](){ InstanceList()[ 6]->onRisingEdge(); }, RISING);
break;
152 case 7: attachInterrupt(digitalPinToInterrupt( 7), [](){ InstanceList()[ 7]->onRisingEdge(); }, RISING);
break;
153 case 8: attachInterrupt(digitalPinToInterrupt( 8), [](){ InstanceList()[ 8]->onRisingEdge(); }, RISING);
break;
154 case 9: attachInterrupt(digitalPinToInterrupt( 9), [](){ InstanceList()[ 9]->onRisingEdge(); }, RISING);
break;
155 case 10: attachInterrupt(digitalPinToInterrupt(10), [](){ InstanceList()[10]->onRisingEdge(); }, RISING);
break;
156 case 11: attachInterrupt(digitalPinToInterrupt(11), [](){ InstanceList()[11]->onRisingEdge(); }, RISING);
break;
157 case 12: attachInterrupt(digitalPinToInterrupt(12), [](){ InstanceList()[12]->onRisingEdge(); }, RISING);
break;
158 case 13: attachInterrupt(digitalPinToInterrupt(13), [](){ InstanceList()[13]->onRisingEdge(); }, RISING);
break;
159 case 14: attachInterrupt(digitalPinToInterrupt(14), [](){ InstanceList()[14]->onRisingEdge(); }, RISING);
break;
160 case 15: attachInterrupt(digitalPinToInterrupt(15), [](){ InstanceList()[15]->onRisingEdge(); }, RISING);
break;
161 case 16: attachInterrupt(digitalPinToInterrupt(16), [](){ InstanceList()[16]->onRisingEdge(); }, RISING);
break;
162 case 17: attachInterrupt(digitalPinToInterrupt(17), [](){ InstanceList()[17]->onRisingEdge(); }, RISING);
break;
163 case 18: attachInterrupt(digitalPinToInterrupt(18), [](){ InstanceList()[18]->onRisingEdge(); }, RISING);
break;
164 case 19: attachInterrupt(digitalPinToInterrupt(19), [](){ InstanceList()[19]->onRisingEdge(); }, RISING);
break;
165 case 20: attachInterrupt(digitalPinToInterrupt(20), [](){ InstanceList()[20]->onRisingEdge(); }, RISING);
break;
166 case 21: attachInterrupt(digitalPinToInterrupt(21), [](){ InstanceList()[21]->onRisingEdge(); }, RISING);
break;
167 case 22: attachInterrupt(digitalPinToInterrupt(22), [](){ InstanceList()[22]->onRisingEdge(); }, RISING);
break;
168 case 23: attachInterrupt(digitalPinToInterrupt(23), [](){ InstanceList()[23]->onRisingEdge(); }, RISING);
break;
169 case 24: attachInterrupt(digitalPinToInterrupt(24), [](){ InstanceList()[24]->onRisingEdge(); }, RISING);
break;
170 case 25: attachInterrupt(digitalPinToInterrupt(25), [](){ InstanceList()[25]->onRisingEdge(); }, RISING);
break;
171 case 26: attachInterrupt(digitalPinToInterrupt(26), [](){ InstanceList()[26]->onRisingEdge(); }, RISING);
break;
172 case 27: attachInterrupt(digitalPinToInterrupt(27), [](){ InstanceList()[27]->onRisingEdge(); }, RISING);
break;
173 case 28: attachInterrupt(digitalPinToInterrupt(28), [](){ InstanceList()[28]->onRisingEdge(); }, RISING);
break;
174 case 29: attachInterrupt(digitalPinToInterrupt(29), [](){ InstanceList()[29]->onRisingEdge(); }, RISING);
break;
175 case 30: attachInterrupt(digitalPinToInterrupt(30), [](){ InstanceList()[30]->onRisingEdge(); }, RISING);
break;
176 case 31: attachInterrupt(digitalPinToInterrupt(31), [](){ InstanceList()[31]->onRisingEdge(); }, RISING);
break;
177 case 32: attachInterrupt(digitalPinToInterrupt(32), [](){ InstanceList()[32]->onRisingEdge(); }, RISING);
break;
178 case 33: attachInterrupt(digitalPinToInterrupt(33), [](){ InstanceList()[33]->onRisingEdge(); }, RISING);
break;
179 case 34: attachInterrupt(digitalPinToInterrupt(34), [](){ InstanceList()[34]->onRisingEdge(); }, RISING);
break;
180 case 35: attachInterrupt(digitalPinToInterrupt(35), [](){ InstanceList()[35]->onRisingEdge(); }, RISING);
break;
181 case 36: attachInterrupt(digitalPinToInterrupt(36), [](){ InstanceList()[36]->onRisingEdge(); }, RISING);
break;
182 case 37: attachInterrupt(digitalPinToInterrupt(37), [](){ InstanceList()[37]->onRisingEdge(); }, RISING);
break;
183 case 38: attachInterrupt(digitalPinToInterrupt(38), [](){ InstanceList()[38]->onRisingEdge(); }, RISING);
break;
184 case 39: attachInterrupt(digitalPinToInterrupt(39), [](){ InstanceList()[39]->onRisingEdge(); }, RISING);
break;
185 case 40: attachInterrupt(digitalPinToInterrupt(40), [](){ InstanceList()[40]->onRisingEdge(); }, RISING);
break;
186 case 41: attachInterrupt(digitalPinToInterrupt(41), [](){ InstanceList()[41]->onRisingEdge(); }, RISING);
break;
187 case 42: attachInterrupt(digitalPinToInterrupt(42), [](){ InstanceList()[42]->onRisingEdge(); }, RISING);
break;
188 case 43: attachInterrupt(digitalPinToInterrupt(43), [](){ InstanceList()[43]->onRisingEdge(); }, RISING);
break;
189 case 44: attachInterrupt(digitalPinToInterrupt(44), [](){ InstanceList()[44]->onRisingEdge(); }, RISING);
break;
190 case 45: attachInterrupt(digitalPinToInterrupt(45), [](){ InstanceList()[45]->onRisingEdge(); }, RISING);
break;
191 case 46: attachInterrupt(digitalPinToInterrupt(46), [](){ InstanceList()[46]->onRisingEdge(); }, RISING);
break;
192 case 47: attachInterrupt(digitalPinToInterrupt(47), [](){ InstanceList()[47]->onRisingEdge(); }, RISING);
break;
193 case 48: attachInterrupt(digitalPinToInterrupt(48), [](){ InstanceList()[48]->onRisingEdge(); }, RISING);
break;
194 case 49: attachInterrupt(digitalPinToInterrupt(49), [](){ InstanceList()[49]->onRisingEdge(); }, RISING);
break;
195 case 50: attachInterrupt(digitalPinToInterrupt(50), [](){ InstanceList()[50]->onRisingEdge(); }, RISING);
break;
196 case 51: attachInterrupt(digitalPinToInterrupt(51), [](){ InstanceList()[51]->onRisingEdge(); }, RISING);
break;
197 case 52: attachInterrupt(digitalPinToInterrupt(52), [](){ InstanceList()[52]->onRisingEdge(); }, RISING);
break;
198 case 53: attachInterrupt(digitalPinToInterrupt(53), [](){ InstanceList()[53]->onRisingEdge(); }, RISING);
break;
199 case 54: attachInterrupt(digitalPinToInterrupt(54), [](){ InstanceList()[54]->onRisingEdge(); }, RISING);
break;
200 case 55: attachInterrupt(digitalPinToInterrupt(55), [](){ InstanceList()[55]->onRisingEdge(); }, RISING);
break;
201 case 56: attachInterrupt(digitalPinToInterrupt(56), [](){ InstanceList()[56]->onRisingEdge(); }, RISING);
break;
202 case 57: attachInterrupt(digitalPinToInterrupt(57), [](){ InstanceList()[57]->onRisingEdge(); }, RISING);
break;
203 case 58: attachInterrupt(digitalPinToInterrupt(58), [](){ InstanceList()[58]->onRisingEdge(); }, RISING);
break;
204 case 59: attachInterrupt(digitalPinToInterrupt(59), [](){ InstanceList()[59]->onRisingEdge(); }, RISING);
break;