changed the way how to select which display is used. This is still in test and there is also some testcode include
This commit is contained in:
parent
019f8768cd
commit
493642aa90
8 changed files with 229 additions and 99 deletions
|
@ -17,8 +17,8 @@
|
|||
// mapping of Waveshare ESP32 Driver Board
|
||||
// BUSY -> 25, RST -> 26, DC -> 27, CS-> 15, CLK -> 13, DIN -> 14
|
||||
// uncomment next two lines for Waveshare ESP32 Driver Board
|
||||
#define USE_HSPI_FOR_EPD
|
||||
#define ENABLE_GxEPD2_GFX 0
|
||||
// #define USE_HSPI_FOR_EPD
|
||||
// #define ENABLE_GxEPD2_GFX 0
|
||||
// *** end Waveshare ESP32 Driver board *** //
|
||||
|
||||
// NOTE: you may need to adapt or select for your wiring in the processor specific conditional compile sections below
|
||||
|
@ -30,14 +30,14 @@
|
|||
|
||||
// select the display driver class (only one) for your panel
|
||||
|
||||
// #define GxEPD2_DRIVER_CLASS GxEPD2_150_BN // 1.54 inch Waveshare e-paper display
|
||||
// const String display_type = "GxEPD2_150_BN";
|
||||
#define GxEPD2_DRIVER_CLASS GxEPD2_150_BN // 1.54 inch Waveshare e-paper display
|
||||
const String display_type = "GxEPD2_150_BN";
|
||||
|
||||
// #define GxEPD2_DRIVER_CLASS GxEPD2_213_B74 // Waveshare 2.13 inch e-paper display - Version 3
|
||||
// const String display_type = "GxEPD2_213_B74";
|
||||
|
||||
#define GxEPD2_DRIVER_CLASS GxEPD2_213_flex // Waveshare 2.13 inch e-paper display - (D) flex (yellow)
|
||||
const String display_type = "GxEPD2_213_flex";
|
||||
// #define GxEPD2_DRIVER_CLASS GxEPD2_213_flex // Waveshare 2.13 inch e-paper display - (D) flex (yellow)
|
||||
// const String display_type = "GxEPD2_213_flex";
|
||||
|
||||
// #define GxEPD2_DRIVER_CLASS GxEPD2_270 // Waveshare 264x176, 2.7inch E-Ink display - Version 1
|
||||
// const String display_type = "GxEPD2_270";
|
||||
|
|
|
@ -1,39 +1,37 @@
|
|||
|
||||
This directory is intended for project header files.
|
||||
|
||||
A header file is a file containing C declarations and macro definitions
|
||||
to be shared between several project source files. You request the use of a
|
||||
header file in your project source file (C, C++, etc) located in `src` folder
|
||||
by including it, with the C preprocessing directive `#include'.
|
||||
|
||||
```src/main.c
|
||||
|
||||
#include "header.h"
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Including a header file produces the same results as copying the header file
|
||||
into each source file that needs it. Such copying would be time-consuming
|
||||
and error-prone. With a header file, the related declarations appear
|
||||
in only one place. If they need to be changed, they can be changed in one
|
||||
place, and programs that include the header file will automatically use the
|
||||
new version when next recompiled. The header file eliminates the labor of
|
||||
finding and changing all the copies as well as the risk that a failure to
|
||||
find one copy will result in inconsistencies within a program.
|
||||
|
||||
In C, the usual convention is to give header files names that end with `.h'.
|
||||
It is most portable to use only letters, digits, dashes, and underscores in
|
||||
header file names, and at most one dot.
|
||||
|
||||
Read more about using header files in official GCC documentation:
|
||||
|
||||
* Include Syntax
|
||||
* Include Operation
|
||||
* Once-Only Headers
|
||||
* Computed Includes
|
||||
|
||||
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html
|
||||
|
||||
This directory is intended for project header files.
|
||||
|
||||
A header file is a file containing C declarations and macro definitions
|
||||
to be shared between several project source files. You request the use of a
|
||||
header file in your project source file (C, C++, etc) located in `src` folder
|
||||
by including it, with the C preprocessing directive `#include'.
|
||||
|
||||
```src/main.c
|
||||
|
||||
#include "header.h"
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Including a header file produces the same results as copying the header file
|
||||
into each source file that needs it. Such copying would be time-consuming
|
||||
and error-prone. With a header file, the related declarations appear
|
||||
in only one place. If they need to be changed, they can be changed in one
|
||||
place, and programs that include the header file will automatically use the
|
||||
new version when next recompiled. The header file eliminates the labor of
|
||||
finding and changing all the copies as well as the risk that a failure to
|
||||
find one copy will result in inconsistencies within a program.
|
||||
|
||||
In C, the convention is to give header files names that end with `.h'.
|
||||
|
||||
Read more about using header files in official GCC documentation:
|
||||
|
||||
* Include Syntax
|
||||
* Include Operation
|
||||
* Once-Only Headers
|
||||
* Computed Includes
|
||||
|
||||
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html
|
||||
|
|
|
@ -9,30 +9,20 @@
|
|||
#include <stdlib.h>
|
||||
#include <Hash.h>
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
|
||||
// ########################################
|
||||
// ########### USER ACTION ###########
|
||||
// ########################################
|
||||
// Generate and copy in LNbits with the LNURLDevice extension the string for the ATM and paste it here:
|
||||
const String lnurlDeviceString = "https://legend.lnbits.com/lnurldevice/api/v1/lnurl/idexample,keyexample,EUR";
|
||||
const char* lnurlDeviceString = "https://legend.lnbits.com/lnurldevice/api/v1/lnurl/idexample,keyexample,EUR";
|
||||
// #################### EXAMPLE: https://legend.lnbits.com/lnurldevice/api/v1/lnurl/idexample,keyexample,EUR
|
||||
// ########################################
|
||||
// ########################################
|
||||
// ########################################
|
||||
|
||||
// select the display class and display driver class in the following file (new style):
|
||||
// 1.54 inch Waveshare e-paper display is "GxEPD2_DRIVER_CLASS GxEPD2_150_BN"
|
||||
// Waveshare 264x176, 2.7inch E-Ink display - Version 1 = "GxEPD2_DRIVER_CLASS GxEPD2_270"
|
||||
// Waveshare 264x176, 2.7inch E-Ink display - Version 2 = "GxEPD2_DRIVER_CLASS GxEPD2_270_GDEY027T91"
|
||||
// Waveshare 2.13 inch e-paper display version 3 is "GxEPD2_DRIVER_CLASS GxEPD2_213_B74"
|
||||
// Waveshare 2.13 inch e-paper display (D) flex (yellow) is "GxEPD2_DRIVER_CLASS GxEPD2_213_flex"
|
||||
// use search to find the correct line, and uncomment the other display drivers in this header file:
|
||||
#include "GxEPD2_display_selection_new_style.h"
|
||||
|
||||
// OTHER OPTIONS:
|
||||
|
||||
// Activate for debugging over Serial (1), deactivate in production use (0)
|
||||
#define DEBUG_MODE 0
|
||||
#define DEBUG_MODE 1
|
||||
|
||||
#define COIN_PIN 17
|
||||
#define PULSE_TIMEOUT 200
|
||||
|
@ -41,6 +31,27 @@ const String lnurlDeviceString = "https://legend.lnbits.com/lnurldevice/api/v1/l
|
|||
#define MOSFET_PIN 16 // old: 12 | new: 16
|
||||
#define QR_VERSION 6 // 20 is standard. 6 for simpler QR code, but does not always work.
|
||||
|
||||
#define DSPLY_PIN_CS 26
|
||||
#define DSPLY_PIN_DC 25
|
||||
#define DSPLY_PIN_RST 33
|
||||
#define DSPLY_PIN_BUSY 27
|
||||
#define DSPLY_PIN_CLK 18 // SCK pin SPI
|
||||
#define DSPLY_PIN_DIN 23 // MOSI pin SPI
|
||||
|
||||
// Folowing #defines are Taken from :
|
||||
//#include "GxEPD2_display_selection_new_style.h"
|
||||
const uint8_t nr_supported_display_types = 6;
|
||||
const char* supported_display_types[nr_supported_display_types] = {"GxEPD2_420", "GxEPD2_150_BN", "GxEPD2_270", "GxEPD2_270_GDEY027T91", "GxEPD2_213_B74", "GxEPD2_213_flex"};
|
||||
|
||||
#undef USE_HSPI_FOR_EPD
|
||||
#define GxEPD2_DISPLAY_CLASS GxEPD2_BW // Black and White e-Paper
|
||||
#define GxEPD2_DRIVER_CLASS GxEPD2_420 // 4.2 inch Waveshare e-paper display
|
||||
//#define GxEPD2_DRIVER_CLASS GxEPD2_150_BN // 1.54 inch Waveshare e-paper display
|
||||
const char* display_type = "GxEPD2_420";
|
||||
|
||||
// Treiber für das 4.2" Schwarz-Weiß E-Paper
|
||||
GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, GxEPD2_DRIVER_CLASS::HEIGHT> display(GxEPD2_DRIVER_CLASS(DSPLY_PIN_CS, DSPLY_PIN_DC, DSPLY_PIN_RST, DSPLY_PIN_BUSY)); // Waveshare ESP32 Driver Board
|
||||
|
||||
typedef struct s_qrdata
|
||||
{
|
||||
uint8_t current_y;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue