v1.7.61 (LED matrix support)
This commit is contained in:
parent
c0a767e833
commit
19849c4eea
@ -1,15 +1,15 @@
|
||||
#ifndef _IRQHANDLER_H
|
||||
#define _IRQHANDLER_H
|
||||
|
||||
#define DISPLAY_IRQ 0x01
|
||||
#define BUTTON_IRQ 0x02
|
||||
#define MATRIX_DISPLAY_IRQ 0x03
|
||||
#define SENDCYCLE_IRQ 0x04
|
||||
#define CYCLIC_IRQ 0x08
|
||||
#define TIMESYNC_IRQ 0x10
|
||||
#define MASK_IRQ 0x20
|
||||
#define UNMASK_IRQ 0x40
|
||||
#define GPS_IRQ 0x80
|
||||
#define DISPLAY_IRQ 0x001
|
||||
#define BUTTON_IRQ 0x002
|
||||
#define SENDCYCLE_IRQ 0x004
|
||||
#define CYCLIC_IRQ 0x008
|
||||
#define TIMESYNC_IRQ 0x010
|
||||
#define MASK_IRQ 0x020
|
||||
#define UNMASK_IRQ 0x040
|
||||
#define GPS_IRQ 0x080
|
||||
#define MATRIX_DISPLAY_IRQ 0x100
|
||||
|
||||
#include "globals.h"
|
||||
#include "cyclic.h"
|
||||
|
@ -4,8 +4,6 @@
|
||||
#include "LEDMatrix.h"
|
||||
#include "ledmatrixfonts.h"
|
||||
|
||||
extern uint8_t MatrixDisplayIsOn;
|
||||
|
||||
extern LEDMatrix matrix;
|
||||
|
||||
void init_matrix_display(const char *Productname, const char *Version);
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
; ---> SELECT TARGET PLATFORM HERE! <---
|
||||
[platformio]
|
||||
env_default = generic
|
||||
;env_default = generic
|
||||
;env_default = ebox
|
||||
;env_default = eboxtube
|
||||
;env_default = ecopower
|
||||
@ -24,7 +24,7 @@ env_default = generic
|
||||
;env_default = lolin32litelora
|
||||
;env_default = lolin32lora
|
||||
;env_default = lolin32lite
|
||||
;env_default = wemos32oled
|
||||
env_default = wemos32oled
|
||||
;env_default = octopus32
|
||||
;env_default = ecopower, eboxtube, heltec, ttgobeam, lopy4, lopy, ttgov21old, ttgov21new, ttgofox
|
||||
;
|
||||
@ -32,7 +32,7 @@ description = Paxcounter is a proof-of-concept ESP32 device for metering passeng
|
||||
|
||||
[common]
|
||||
; for release_version use max. 10 chars total, use any decimal format like "a.b.c"
|
||||
release_version = 1.7.6
|
||||
release_version = 1.7.61
|
||||
; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running!
|
||||
; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose
|
||||
debug_level = 3
|
||||
@ -70,7 +70,6 @@ lib_deps_all =
|
||||
${common.lib_deps_display}
|
||||
${common.lib_deps_rgbled}
|
||||
${common.lib_deps_gps}
|
||||
${common.lib_deps_matrix_display}
|
||||
build_flags_basic =
|
||||
-include "src/hal/${PIOENV}.h"
|
||||
-include "src/paxcounter.conf"
|
||||
@ -371,6 +370,7 @@ upload_speed = 921600
|
||||
lib_deps =
|
||||
${common.lib_deps_basic}
|
||||
${common.lib_deps_display}
|
||||
${common.lib_deps_matrix_display}
|
||||
build_flags =
|
||||
${common.build_flags_all}
|
||||
upload_protocol = ${common.upload_protocol}
|
||||
|
@ -8,7 +8,7 @@
|
||||
static const char TAG[] = __FILE__;
|
||||
|
||||
uint8_t MatrixDisplayIsOn = 0;
|
||||
unsigned long ulLastNumMacs = 0;
|
||||
static unsigned long ulLastNumMacs = 0;
|
||||
|
||||
LEDMatrix matrix(LED_MATRIX_LA_74138, LED_MATRIX_LB_74138, LED_MATRIX_LC_74138,
|
||||
LED_MATRIX_LD_74138, LED_MATRIX_EN_74138, LED_MATRIX_DATA_R1,
|
||||
@ -31,6 +31,15 @@ void init_matrix_display(const char *Productname, const char *Version) {
|
||||
|
||||
void refreshTheMatrixDisplay() {
|
||||
|
||||
// if Matrixdisplay is switched off we don't refresh it to relax cpu
|
||||
if (!MatrixDisplayIsOn && (MatrixDisplayIsOn == cfg.screenon))
|
||||
return;
|
||||
|
||||
// set display on/off according to current device configuration
|
||||
if (MatrixDisplayIsOn != cfg.screenon) {
|
||||
MatrixDisplayIsOn = cfg.screenon;
|
||||
}
|
||||
|
||||
if (ulLastNumMacs != macs.size()) {
|
||||
ulLastNumMacs = macs.size();
|
||||
matrix.clear();
|
||||
|
@ -52,7 +52,7 @@ So don't do it if you do not own a digital oscilloscope.
|
||||
0 displayIRQ -> display refresh -> 40ms (DISPLAYREFRESH_MS)
|
||||
1 ppsIRQ -> pps clock irq -> 1sec
|
||||
2 gpsIRQ -> gps store data -> 300ms
|
||||
3 unused
|
||||
3 MatrixDisplayIRQ -> matrix mux cycle -> 0,5ms (MATRIX_DISPLAY_SCAN_US)
|
||||
|
||||
|
||||
// Interrupt routines
|
||||
|
Loading…
Reference in New Issue
Block a user