state machine (part 3)
This commit is contained in:
parent
eefac59030
commit
cbca740792
@ -44,7 +44,8 @@ typedef struct {
|
||||
|
||||
extern configData_t cfg;
|
||||
extern uint8_t mydata[];
|
||||
extern uint64_t currentMillis ;
|
||||
extern uint64_t uptimecounter;
|
||||
extern uint32_t currentMillis ;
|
||||
extern osjob_t sendjob;
|
||||
extern char display_lora[], display_lmic[];
|
||||
extern int countermode, screensaver, adrmode, lorasf, txpower, rlim;
|
||||
|
@ -44,9 +44,9 @@ configData_t cfg; // struct holds current device configuration
|
||||
osjob_t sendjob, initjob; // LMIC
|
||||
|
||||
// Initialize global variables
|
||||
#define DISPLAYREFRESH_MS (1 / DISPLAYFPS * (1000/portTICK_PERIOD_MS)) // calculate ms from fps
|
||||
char display_lora[16], display_lmic[16]; // display buffers
|
||||
uint64_t currentMillis = 0, previousLEDmillis = 0, previousDisplaymillis = 0;
|
||||
uint64_t uptimecounter = 0;
|
||||
uint32_t currentMillis = 0, previousLEDmillis = 0, previousDisplaymillis = 0;
|
||||
uint8_t DisplayState, LEDState;
|
||||
uint16_t LEDBlinkduration = 500, LEDInterval = 1000, color = COLOR_NONE;
|
||||
uint8_t channel = 0; // wifi channel counter
|
||||
@ -579,9 +579,11 @@ do_send(&sendjob);
|
||||
// https://techtutorialsx.com/2017/05/09/esp32-get-task-execution-core/
|
||||
void loop() {
|
||||
|
||||
uptimecounter = uptime() / 1000; // counts uptime in seconds (64bit)
|
||||
|
||||
// state machine for central control of all timimg based features
|
||||
|
||||
currentMillis = uptime() / 1000; // count uptime seconds
|
||||
currentMillis = millis(); // timebase for state machine in milliseconds (32bit)
|
||||
|
||||
#ifdef HAS_BUTTON
|
||||
readButton();
|
||||
|
@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
// program version - note: increment version after modifications to configData_t struct!!
|
||||
#define PROGVERSION "1.3.01" // use max 10 chars here!
|
||||
#define PROGVERSION "1.3.1" // use max 10 chars here!
|
||||
#define PROGNAME "PAXCNT"
|
||||
|
||||
// Verbose enables serial output
|
||||
@ -47,7 +47,7 @@
|
||||
#define RGBLUMINOSITY 30 // 30%
|
||||
|
||||
// OLED Display refresh cycle (in Milliseconds)
|
||||
#define DISPLAYFPS 5 // [fps] -> 5 Frames per second ps = 200ms refreseh cycle
|
||||
#define DISPLAYREFRESH_MS 40 // e.g. 40ms -> 1000/40 = 25 frames per second
|
||||
|
||||
// LMIC settings
|
||||
// define hardware independent LMIC settings here, settings of standard library in /lmic/config.h will be ignored
|
||||
|
@ -210,9 +210,9 @@ void get_config (int val) {
|
||||
|
||||
void get_uptime (int val) {
|
||||
ESP_LOGI(TAG, "Remote command: get uptime");
|
||||
int size = sizeof(currentMillis );
|
||||
int size = sizeof(uptimecounter);
|
||||
unsigned char *sendData = new unsigned char[size];
|
||||
memcpy(sendData, (unsigned char*)¤tMillis , size);
|
||||
memcpy(sendData, (unsigned char*)&uptimecounter , size);
|
||||
LMIC_setTxData2(RCMDPORT, sendData, size-1, 0); // send data unconfirmed on RCMD Port
|
||||
delete sendData; // free memory
|
||||
ESP_LOGI(TAG, "%i bytes queued in send queue", size-1);
|
||||
|
Loading…
Reference in New Issue
Block a user