May 2021 test
Dependencies: sx128x sx12xx_hal
Diff: main.cpp
- Revision:
- 1:6a3a48d657a9
- Parent:
- 0:b6ec8db2edbf
- Child:
- 2:bf201940a9db
diff -r b6ec8db2edbf -r 6a3a48d657a9 main.cpp --- a/main.cpp Tue Aug 22 10:16:06 2017 -0700 +++ b/main.cpp Thu Aug 31 23:14:55 2017 +0000 @@ -17,20 +17,28 @@ rfsw = 0; } /**********************************************************************/ -DigitalOut pc_3(PC_3); +DigitalOut pc3(PC_3); +DigitalOut pc2(PC_2); +DigitalOut pc6(PC_6); +DigitalOut pc8(PC_8); +DigitalOut* pin; Timeout to; -#define PIN_ASSERT_us 200000 -#define CMD_ALARM 0x01 +#define PIN_ASSERT_us 500000 + +#define CMD_PC2 0x02 +#define CMD_PC3 0x03 +#define CMD_PC6 0x06 +#define CMD_PC8 0x08 void alarm_pin_clr() { - pc_3 = 0; + pin->write(0); } void alarm_pin_set() { - pc_3 = 1; + pin->write(1); to.attach_us(&alarm_pin_clr, PIN_ASSERT_us); } @@ -66,7 +74,9 @@ rx_crc += radio.rx_buf[6]; //printf("%u) crc rx:%04x, calc:%04x\r\n", lora.RegRxNbBytes, rx_crc, crc); if (crc == rx_crc) { - if (radio.rx_buf[0] == CMD_ALARM) { + uint8_t c = radio.rx_buf[0]; + //if (radio.rx_buf[0] == CMD_ALARM) + if (c == CMD_PC2 || c == CMD_PC3 || c == CMD_PC6 || c == CMD_PC8) { unsigned delay; delay = radio.rx_buf[1]; delay <<= 8; @@ -75,6 +85,12 @@ delay += radio.rx_buf[3]; delay <<= 8; delay += radio.rx_buf[4]; + switch (c) { + case CMD_PC2: pin = &pc2; break; + case CMD_PC3: pin = &pc3; break; + case CMD_PC6: pin = &pc6; break; + case CMD_PC8: pin = &pc8; break; + } to.attach_us(&alarm_pin_set, delay); printf("delay:%u\r\n", delay); } else