// because there is no access to these registers on the sx1280, we have
// to set all these parameters at once or not at all.
uint8_t buf[7];
-
// calculate exponent and mantissa values for modem
uint8_t e = 1;
uint8_t m = 1;
uint32_t preamblelen;
- for (e <= 15; e++;) {
- for (m <= 15; m++;) {
- preamblelen = m * (uint32_t(1) << e);
+ while (e <= 15) {
+ while (m <= 15) {
+ preamblelen = m * (pow(2,e));
if (preamblelen >= preamble) break;
+ m++;
}
if (preamblelen >= preamble) break;
+ m = 0;
+ e++;
}
buf[0] = (e << 4) | m;