|
ESP_IOT v2.5
IOT ESP Coding
|
#include "../../Defines.h"#include "ATOMQRCodeModule.h"#include "ATOM_SM.h"#include "../ATOM_LED_Module/M5Display.h"#include "../SensorClass/SensorClassType.h"#include "../SensorClass/KeyUnitSensorClass.h"
Go to the source code of this file.
Macros | |
| #define | MAX_SM 500 |
| #define | DEFAULT_TO_FEED |
| #define | RX 22 |
| #define | TX 19 |
| #define | TRY_CONTINUOUS |
| #define | DEFAULT_TO_FEED |
| #define | LONG_PRESS_TOGGLE_SCANNING |
Functions | |
| void | ATOM_setSemanticMarkerInvocationState (boolean state) |
| void | M5AtomCallback (char *parameter, boolean flag) |
| void | setHostMode_ATOMQRCodeModule (boolean flag) |
| turn on/off the scanning .. actually go to Host mode .. More... | |
| void | messageSetVal_ATOMQRCodeModule (char *setName, char *valValue, boolean deviceNameSpecified) |
| void | loopCode_ATOMQRCodeModule () |
| forward reference .. since if button press called externally.. More... | |
| void | buttonA_ShortPress_ATOMQRCodeModule () |
| void | buttonA_LongPress_ATOMQRCodeModule () |
| long press on buttonA (top button) More... | |
| void | checkButtonB_ATOMQRCodeModule () |
| big button on front of M5StickC Plus More... | |
| void | initGlobals_ATOMQRCodeModule () |
| void | setup_ATOMQRCodeModule () |
| the setup() for this ATOM More... | |
| void | loop_ATOMQRCodeModule () |
| the loop More... | |
| char * | parsedSM_fromSemanticMarker (char *semanticMarker) |
| char * | currentStatusURL_ATOMQRCodeModule () |
| returns a string in in URL so: status&battery=84'&buzzon='off' } .. etc More... | |
| char * | currentStatusJSON_ATOMQRCodeModule () |
Variables | |
| boolean | _shortPress_ATOMQRCodeModule = false |
| semantic marker processing More... | |
| boolean | _longPress_ATOMQRCodeModule = false |
| boolean | _longLongPress_ATOMQRCodeModule = false |
| char | _lastSemanticMarker [MAX_SM] |
| needs to be initialized More... | |
| boolean | _ATOM_semanticMarkerInvocationState = true |
| temporary state of invoking the semantic marker (versus just sending as DOCFOLLOW) More... | |
| KeyUnitSensorClass * | _KeyUnitSensorClass_ATOMQRCodeModule |
| keyUnitSensorClass object for the BUTTON More... | |
| boolean | _scanningQRonMode = true |
| boolean | _isOn_ATOMQRCodeModule = true |
| ability to turn on/off the ATOMQRCodeModule's scanning More... | |
| uint8_t | wakeup_cmd = 0x00 |
| uint8_t | start_scan_cmd [] = {0x04, 0xE4, 0x04, 0x00, 0xFF, 0x14} |
| uint8_t | stop_scan_cmd [] = {0x04, 0xE5, 0x04, 0x00, 0xFF, 0x13} |
| uint8_t | host_mode_cmd [] = {0x07, 0xC6, 0x04, 0x08, 0x00, 0x8A, 0x08, 0xFE, 0x95} |
| uint8_t | buzzerVolumeHigh [] = {0x07, 0xC6, 0x04, 0x08, 0x00, 0xFE, 0x9B} |
| uint8_t | buzzerVolumeMiddle [] = {0x07, 0xC6, 0x04, 0x08, 0x01, 0xFE, 0x9A} |
| uint8_t | buzzerVolumeLow [] = {0x07, 0xC6, 0x04, 0x08, 0x02, 0xFE, 0x99} |
| uint8_t | bootSoundProhibit [] = {0x08, 0xC6, 0x04, 0x08, 0x00, 0xF2, 0x0D, 0x00, 0xFE, 0x27} |
| uint8_t | continuous_mode_cmd [] = {0x07, 0xC6, 0x04, 0x08, 0x00, 0x8A, 0x04, 0xFE, 0x99} |
| uint8_t | enable_scanning_config_mode_cmd [] = {0x07, 0xC6, 0x04, 0x08, 0x00, 0xEC, 0x01, 0xFE, 0x3A} |
| uint8_t | prohibit_scanning_config_mode_cmd [] = {0x07, 0xC6, 0x04, 0x08, 0x00, 0xEC, 0x00, 0xFE, 0x3B} |
| uint8_t | prohibit_prompt_sound_decode_mode_cmd [] = {0x07, 0xC6, 0x04, 0x08, 0x38, 0x00, 0xFE, 0xEF} |
| uint8_t | enable_prompt_sound_decode_mode_cmd [] = {0x07, 0xC6, 0x04, 0x08, 0x38, 0x01, 0xFE, 0xEF} |
| char | _statusBuffer_ATOMQRCodeModule [100] |
| 3.31.25 add buffer to store More... | |
| #define DEFAULT_TO_FEED |
| #define DEFAULT_TO_FEED |
| #define LONG_PRESS_TOGGLE_SCANNING |
| #define MAX_SM 500 |
Definition at line 37 of file ATOMQRCodeModule.cpp.
| #define RX 22 |
| #define TRY_CONTINUOUS |
| #define TX 19 |
| void ATOM_setSemanticMarkerInvocationState | ( | boolean | state | ) |
3.26.24 set a temporary state of invoking the semantic marker (versus just sending as DOCFOLLOW) invocationState - true then "invoke"
Definition at line 59 of file ATOMQRCodeModule.cpp.

| void buttonA_LongPress_ATOMQRCodeModule | ( | ) |
long press on buttonA (top button)
Definition at line 199 of file ATOMQRCodeModule.cpp.


| void buttonA_ShortPress_ATOMQRCodeModule | ( | ) |
BUTTON PROCESSING abstraction short press on buttonA (top button)
Definition at line 189 of file ATOMQRCodeModule.cpp.


| void checkButtonB_ATOMQRCodeModule | ( | ) |
big button on front of M5StickC Plus
NOTE: ths issue is the timer is interruped by the scanner.. so make long-long very long..
Definition at line 211 of file ATOMQRCodeModule.cpp.

| char * currentStatusJSON_ATOMQRCodeModule | ( | ) |
returns a string in in JSON so: status&battery=84'&buzzon='off' } .. etc starts with "&"*
3.29.25 Raiiiinier Beeer movie last night add returning a UUID.FLOWNUM if valid, or nil if nota
Definition at line 729 of file ATOMQRCodeModule.cpp.


| char * currentStatusURL_ATOMQRCodeModule | ( | ) |
returns a string in in URL so: status&battery=84'&buzzon='off' } .. etc
returns a string in in URL so: status&battery=84'&buzzon='off' } .. etc //!starts with "&"*
8.4.25 add QR
Definition at line 719 of file ATOMQRCodeModule.cpp.


| void initGlobals_ATOMQRCodeModule | ( | ) |
init any globals 1.5.24
8.20.24 for version with just the button, do a feed, if a QR Scanner.. this lastSemanticMarker will be sed..
3.29.25 init with empty
Definition at line 286 of file ATOMQRCodeModule.cpp.

| void loop_ATOMQRCodeModule | ( | ) |
the loop
called for the loop() of this plugin
do loop code
4.10.24 GPS sensor 4.14.24 finally creating instance
Definition at line 474 of file ATOMQRCodeModule.cpp.


| void loopCode_ATOMQRCodeModule | ( | ) |
forward reference .. since if button press called externally..
LOOP code.. refactored so it's also called when a buttonPress message arrives.
this might be a mode..
This read from the Serial2 – the QR Scanner device, and outputs to the serial debug BUT there seems to be strange charancters...
sometimes it's not valid scan..
if a valid scanned Semantic Marker .. process it
process the semantic marker. It will save to _lastSemanticMarker unless scannedDevice
save globally..
send this as a DOCFOLLOW message
save to SPIFF
todo: change long press to be TURN off scanning .. TOGGLE turning on/off scanning
toggle scan mode..
dispatches a call to the command specified. This is run on the next loop()
no
send this as a DOCFOLLOW message
feed always (done after the code below..)
Definition at line 499 of file ATOMQRCodeModule.cpp.


| void M5AtomCallback | ( | char * | parameter, |
| boolean | flag | ||
| ) |
send this as a DOCFOLLOW message
process the semantic marker AGAIN used _lastSemanticMarker NOTE: this might be a TierII semantic marker (thus no UUID and FLOW) https://iDogWatch.com/bot/cmddevice/scott@konacurrents.com/PASS/M5AtomSocket/togglesocket
send this as a DOCFOLLOW message
save to spiff
Definition at line 84 of file ATOMQRCodeModule.cpp.


| void messageSetVal_ATOMQRCodeModule | ( | char * | setName, |
| char * | valValue, | ||
| boolean | deviceNameSpecified | ||
| ) |
8.28.23 Adding a way for others to get informed on messages that arrive for the set,val 1.10.24 if deviceNameSpecified then this matches this device, otherwise for all. It's up to the receiver to decide if it has to be specified
process specific commands ...
3.22.25 - Nice day. Stormy week. add the ScannedSemanticMarker that will set the _lastSemanticMarker
3.29.25 add UUID/FLOW if set
Definition at line 149 of file ATOMQRCodeModule.cpp.


| char * parsedSM_fromSemanticMarker | ( | char * | semanticMarker | ) |
3.29.25 Raiiiinier Beeer movie last night add returning a UUID.FLOWNUM if valid, or nil if nota
check for togleSocket (just for now)
Definition at line 701 of file ATOMQRCodeModule.cpp.


| void setHostMode_ATOMQRCodeModule | ( | boolean | flag | ) |
turn on/off the scanning .. actually go to Host mode ..
4.10.24 GPS sensor 4.14.24 finally creating instance
Definition at line 464 of file ATOMQRCodeModule.cpp.
| void setup_ATOMQRCodeModule | ( | ) |
the setup() for this ATOM
THIS IS the setup() and loop() but using the "component" name, eg AudioModule() This will perform preference initializtion as well called from the setup() Pass in the method to call on a loud (over a threshhold. The parameter for value will be sent
Getting error:
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) flash read err, 1000 ets_main.c 371 ets Jun 8 2016 00:22:57
https://esp32.com/viewtopic.php?t=19176
5.3.25 register our PIN use
NOTE: this could probably be done by ESP_IOT.ino .. but for now keep here (and in the other ATOM code..)
specify the callback
call the setup
4.10.24 GPS sensor 4.14.24 finally creating instance
NOTE: it seems that a startup of a new ATOM with QRReader, requires the HOST most first, then the continuous will work ... 12.25.23
first wakeup the device
then send the command (host .. or maybe continuous)
4.25.24 in LA (ready for Star Wars/SDI at Regan Library)
8.20.24 for version with just the button, do a feed, if a QR Scanner.. this lastSemanticMarker will be sed..
Definition at line 303 of file ATOMQRCodeModule.cpp.


| boolean _ATOM_semanticMarkerInvocationState = true |
temporary state of invoking the semantic marker (versus just sending as DOCFOLLOW)
3.29.25 Dead 3.29.90 great add UUID and FLOWnum not working .. 2.5.24 (birthday) the https call breaks (side effect some how) sendSecureRESTCall(getCommand);
Definition at line 54 of file ATOMQRCodeModule.cpp.
| boolean _isOn_ATOMQRCodeModule = true |
ability to turn on/off the ATOMQRCodeModule's scanning
Definition at line 143 of file ATOMQRCodeModule.cpp.
| KeyUnitSensorClass* _KeyUnitSensorClass_ATOMQRCodeModule |
keyUnitSensorClass object for the BUTTON
TODO.. have only 1 of these included in build, but change the callback That requires that ATOM be a class, OR there is a single Sensor but different callback..
Definition at line 80 of file ATOMQRCodeModule.cpp.
| char _lastSemanticMarker[MAX_SM] |
needs to be initialized
Definition at line 39 of file ATOMQRCodeModule.cpp.
| boolean _longLongPress_ATOMQRCodeModule = false |
Definition at line 36 of file ATOMQRCodeModule.cpp.
| boolean _longPress_ATOMQRCodeModule = false |
Definition at line 35 of file ATOMQRCodeModule.cpp.
| boolean _scanningQRonMode = true |
4.28.24 LA (after Greg Browning walk-of-fame introduction) support toggling the scanning
Definition at line 141 of file ATOMQRCodeModule.cpp.
| boolean _shortPress_ATOMQRCodeModule = false |
semantic marker processing
Definition at line 34 of file ATOMQRCodeModule.cpp.
| char _statusBuffer_ATOMQRCodeModule[100] |
3.31.25 add buffer to store
Definition at line 699 of file ATOMQRCodeModule.cpp.
| uint8_t bootSoundProhibit[] = {0x08, 0xC6, 0x04, 0x08, 0x00, 0xF2, 0x0D, 0x00, 0xFE, 0x27} |
Definition at line 269 of file ATOMQRCodeModule.cpp.
| uint8_t buzzerVolumeHigh[] = {0x07, 0xC6, 0x04, 0x08, 0x00, 0xFE, 0x9B} |
Definition at line 265 of file ATOMQRCodeModule.cpp.
| uint8_t buzzerVolumeLow[] = {0x07, 0xC6, 0x04, 0x08, 0x02, 0xFE, 0x99} |
Definition at line 267 of file ATOMQRCodeModule.cpp.
| uint8_t buzzerVolumeMiddle[] = {0x07, 0xC6, 0x04, 0x08, 0x01, 0xFE, 0x9A} |
Definition at line 266 of file ATOMQRCodeModule.cpp.
| uint8_t continuous_mode_cmd[] = {0x07, 0xC6, 0x04, 0x08, 0x00, 0x8A, 0x04, 0xFE, 0x99} |
Definition at line 272 of file ATOMQRCodeModule.cpp.
| uint8_t enable_prompt_sound_decode_mode_cmd[] = {0x07, 0xC6, 0x04, 0x08, 0x38, 0x01, 0xFE, 0xEF} |
Definition at line 281 of file ATOMQRCodeModule.cpp.
| uint8_t enable_scanning_config_mode_cmd[] = {0x07, 0xC6, 0x04, 0x08, 0x00, 0xEC, 0x01, 0xFE, 0x3A} |
Definition at line 275 of file ATOMQRCodeModule.cpp.
| uint8_t host_mode_cmd[] = {0x07, 0xC6, 0x04, 0x08, 0x00, 0x8A, 0x08, 0xFE, 0x95} |
Definition at line 262 of file ATOMQRCodeModule.cpp.
| uint8_t prohibit_prompt_sound_decode_mode_cmd[] = {0x07, 0xC6, 0x04, 0x08, 0x38, 0x00, 0xFE, 0xEF} |
sound settting prompt sound when decoding is successful
Definition at line 280 of file ATOMQRCodeModule.cpp.
| uint8_t prohibit_scanning_config_mode_cmd[] = {0x07, 0xC6, 0x04, 0x08, 0x00, 0xEC, 0x00, 0xFE, 0x3B} |
Definition at line 276 of file ATOMQRCodeModule.cpp.
| uint8_t start_scan_cmd[] = {0x04, 0xE4, 0x04, 0x00, 0xFF, 0x14} |
Definition at line 260 of file ATOMQRCodeModule.cpp.
| uint8_t stop_scan_cmd[] = {0x04, 0xE5, 0x04, 0x00, 0xFF, 0x13} |
Definition at line 261 of file ATOMQRCodeModule.cpp.
| uint8_t wakeup_cmd = 0x00 |
Definition at line 259 of file ATOMQRCodeModule.cpp.