May 2021 test
Dependencies: sx128x sx12xx_hal
Diff: main.cpp
- Revision:
- 5:5ac152096add
- Parent:
- 4:a645b6a6fa1f
--- a/main.cpp Mon Aug 19 01:30:26 2019 +0000 +++ b/main.cpp Thu Nov 07 11:08:22 2019 +0000 @@ -29,6 +29,7 @@ #endif #ifdef TARGET_DISCO_L072CZ_LRWAN1 + DigitalOut pinCommandExecute(PB_2); DigitalOut pin0(PB_5); DigitalOut pin1(PB_6); DigitalOut pin2(PB_8); @@ -45,9 +46,11 @@ #endif /* !TARGET_DISCO_L072CZ_LRWAN1 */ Timeout timeoutOutputDelay; +Timeout timeoutCommandExecuteSignal; static uint8_t command = 0; #define PIN_ASSERT_us 500000 +#define COMMAND_EXECUTE_SIGNAL_PERIOD 200000 /**********************************************************************/ @@ -57,7 +60,15 @@ } + static bool commandWrittenFlag = false; +static bool commandAssertedFlag = false; + +void onCommandExecuteSignalTimeout(void) +{ + pinCommandExecute = false; + commandAssertedFlag = true; +} void writeCommandToDigitalOuts(void) { @@ -69,7 +80,9 @@ pin5 = command & 0b00100000; pin6 = command & 0b01000000; pin7 = command & 0b10000000; + pinCommandExecute = true; commandWrittenFlag = true; + timeoutCommandExecuteSignal.attach_us(onCommandExecuteSignalTimeout, COMMAND_EXECUTE_SIGNAL_PERIOD); } static uint16_t crc_ccitt( uint8_t *buffer, uint16_t length ) @@ -176,5 +189,12 @@ commandWrittenFlag = false; CriticalSectionLock::disable(); } + if(commandAssertedFlag) + { + tr_debug("Command Asserted: %d", command); + CriticalSectionLock::enable(); + commandAssertedFlag = false; + CriticalSectionLock::disable(); + } } }