Skip to content

Commit

Permalink
Release 8.0.5
Browse files Browse the repository at this point in the history
  • Loading branch information
rei-vilo committed Sep 5, 2024
1 parent d1e954a commit bc71304
Show file tree
Hide file tree
Showing 21 changed files with 314 additions and 121 deletions.
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,16 @@ The **PDLS_EXT3_Basic_Touch** provides a high-level interface to drive the e-pap
+ Fast update
+ Graphics routines
+ Text routines
+ Four extended fonts with double-sized variants
+ Touch management
+ GUI with button and text
+ Four extended fonts

## Documentation and support

+ Go to the [documentation](https://rei-vilo.github.io/PDLS_EXT3_Basic_Documentation/index.html)
+ [Wiki](https://docs.pervasivedisplays.com/)
+ [User guide](https://pdls.pervasivedisplays.com/userguide/index.html) with commented examples
+ [Reference manual](https://rei-vilo.github.io/PDLS_EXT3_Basic_Documentation/index.html)

+ For support, please refer to [PDLS_EXT3_Basic_Global](https://github.com/rei-vilo/PDLS_EXT3_Basic_Global/issues) for reporting issues and contributing pull requests.

## Installation
Expand All @@ -33,7 +36,7 @@ Software
+ [Installing Additional Arduino Libraries](https://www.arduino.cc/en/guide/libraries)

+ Using the Library Manager
+ Importing a .zip Library
+ Importing a `.zip` Library

Hardware

Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=PDLS_EXT3_Basic_Touch
version=8.0.4
version=8.0.5
author=Rei Vilo for Pervasive Displays
maintainer=Rei Vilo
sentence=Library for Pervasive Displays monochrome e-paper screens with touch and EXT3-1 + EXT3-Touch
Expand Down
5 changes: 3 additions & 2 deletions src/Screen_EPD_EXT3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
// Release 802: Refactored CoG functions
// Release 803: Added types for string and frame-buffer
// Release 804: Improved power management
// Release 805: Improved stability
//

// Library header
Expand Down Expand Up @@ -1012,7 +1013,7 @@ void Screen_EPD_EXT3_Fast::begin()

setTemperatureC(25); // 25 Celsius = 77 Fahrenheit
b_fsmPowerScreen = FSM_OFF;
setPowerProfile(MODE_MANUAL, SCOPE_GPIO_ONLY);
setPowerProfile(POWER_MODE_MANUAL, POWER_SCOPE_GPIO_ONLY);

// Turn SPI on, initialise GPIOs and set GPIO levels
// Reset panel and get tables
Expand Down Expand Up @@ -1192,7 +1193,7 @@ void Screen_EPD_EXT3_Fast::s_flush(uint8_t updateMode)
}

// Suspend
if (u_suspendMode == MODE_AUTO)
if (u_suspendMode == POWER_MODE_AUTO)
{
suspend(u_suspendScope);
}
Expand Down
16 changes: 8 additions & 8 deletions src/Screen_EPD_EXT3.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
/// * 3.70"-Touch reference xTP370PGH0x
///
/// @author Rei Vilo
/// @date 21 Jul 2024
/// @version 804
/// @date 21 Aug 2024
/// @version 805
///
/// @copyright (c) Rei Vilo, 2010-2024
/// @copyright All rights reserved
Expand Down Expand Up @@ -71,8 +71,8 @@
#error Required hV_CONFIGURATION_RELEASE 803
#endif // hV_CONFIGURATION_RELEASE

#if (hV_SCREEN_BUFFER_RELEASE < 801)
#error Required hV_SCREEN_BUFFER_RELEASE 801
#if (hV_SCREEN_BUFFER_RELEASE < 805)
#error Required hV_SCREEN_BUFFER_RELEASE 805
#endif // hV_SCREEN_BUFFER_RELEASE

#if (hV_BOARD_RELEASE < 801)
Expand All @@ -83,7 +83,7 @@
///
/// @brief Library release number
///
#define SCREEN_EPD_EXT3_RELEASE 804
#define SCREEN_EPD_EXT3_RELEASE 805

///
/// @brief Library variant
Expand Down Expand Up @@ -130,11 +130,11 @@ class Screen_EPD_EXT3_Fast final : public hV_Screen_Buffer, public hV_Utilities_

///
/// @brief Suspend
/// @param suspendScope default = SCOPE_GPIO_ONLY, otherwise SCOPE_NONE
/// @param suspendScope default = POWER_SCOPE_GPIO_ONLY, otherwise POWER_SCOPE_NONE
/// @details Power off and set all GPIOs low
/// @note If panelPower is NOT_CONNECTED, SCOPE_GPIO_ONLY defaults to SCOPE_NONE
/// @note If panelPower is NOT_CONNECTED, POWER_SCOPE_GPIO_ONLY defaults to POWER_SCOPE_NONE
///
void suspend(uint8_t suspendScope = SCOPE_GPIO_ONLY);
void suspend(uint8_t suspendScope = POWER_SCOPE_GPIO_ONLY);

///
/// @brief Resume after suspend()
Expand Down
8 changes: 4 additions & 4 deletions src/Terminal12x16e.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@
///
/// @copyright Font generated manually
///
//#if defined(ENERGIA)
// #if defined(ENERGIA)
// unsigned char replaced by uint8_t
static const uint8_t Terminal12x16e[224][24] =
//#elif defined(ARDUINO) || defined(MPIDE) || defined(WIRING)
//static prog_uchar Terminal12x16e[224][24] PROGMEM =
//#endif
// #elif defined(ARDUINO) || defined(MPIDE) || defined(WIRING)
// static prog_uchar Terminal12x16e[224][24] PROGMEM =
// #endif
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0xFF, 0x33, 0xFF, 0x33, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
Expand Down
8 changes: 4 additions & 4 deletions src/Terminal16x24e.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,12 @@
///
/// @copyright Font generated manually
///
//#if defined(ENERGIA)
// #if defined(ENERGIA)
// unsigned char replaced by uint8_t
static const uint8_t Terminal16x24e[224][48] =
//#elif defined(ARDUINO) || defined(MPIDE) || defined(WIRING)
//static prog_uchar Terminal16x24e[224][48] PROGMEM =
//#endif
// #elif defined(ARDUINO) || defined(MPIDE) || defined(WIRING)
// static prog_uchar Terminal16x24e[224][48] PROGMEM =
// #endif
{
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // Code for char
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x07, 0xFC, 0x3F, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // Code for char !
Expand Down
8 changes: 4 additions & 4 deletions src/Terminal6x8e.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@
///
/// @copyright Font generated manually
///
//#if defined(ENERGIA)
// #if defined(ENERGIA)
// unsigned char replaced by uint8_t
static const uint8_t Terminal6x8e[224][6] =
//#elif defined(ARDUINO) || defined(MPIDE) || defined(WIRING)
//static prog_uchar Terminal6x8e[224][6] PROGMEM =
//#endif
// #elif defined(ARDUINO) || defined(MPIDE) || defined(WIRING)
// static prog_uchar Terminal6x8e[224][6] PROGMEM =
// #endif
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x5F, 0x06, 0x00,
Expand Down
8 changes: 4 additions & 4 deletions src/Terminal8x12e.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@
///
/// @copyright Font generated manually
///
//#if defined(ENERGIA)
// #if defined(ENERGIA)
// unsigned char replaced by uint8_t
static const uint8_t Terminal8x12e[224][16] =
//#elif defined(ARDUINO) || defined(MPIDE) || defined(WIRING)
//static prog_uchar Terminal8x12e[224][16] PROGMEM =
//#endif
// #elif defined(ARDUINO) || defined(MPIDE) || defined(WIRING)
// static prog_uchar Terminal8x12e[224][16] PROGMEM =
// #endif
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x7E, 0x03, 0x7E, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00,
Expand Down
6 changes: 3 additions & 3 deletions src/hV_Board.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
/// * Edition: Advanced
///
/// @author Rei Vilo
/// @date 21 Jul 2024
/// @version 804
/// @date 21 Aug 2024
/// @version 805
///
/// @copyright (c) Rei Vilo, 2010-2024
/// @copyright All rights reserved
Expand Down Expand Up @@ -44,7 +44,7 @@
///
/// @brief Library release number
///
#define hV_BOARD_RELEASE 804
#define hV_BOARD_RELEASE 805

// Objects
//
Expand Down
8 changes: 4 additions & 4 deletions src/hV_Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
/// * 12. Set debug options
///
/// @author Rei Vilo
/// @date 21 May 2024
/// @version 803
/// @date 21 Aug 2024
/// @version 805
///
/// @copyright (c) Rei Vilo, 2010-2024
/// @copyright All rights reserved
Expand Down Expand Up @@ -82,7 +82,7 @@
///
/// @brief Release
///
#define hV_CONFIGURATION_RELEASE 803
#define hV_CONFIGURATION_RELEASE 805

///
/// @name 1- List of supported Pervasive Displays screens
Expand Down Expand Up @@ -110,7 +110,7 @@
///

///
/// @brief Type for framebuffer
/// @brief Type for frame-buffer
/// @details Based on SRAM_MODE selection
///
#define FRAMEBUFFER_TYPE uint8_t *
Expand Down
15 changes: 9 additions & 6 deletions src/hV_Documentation.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,14 @@
/// * **PDLS_EXT3_Basic_Touch** for [monochrome screens with capacitive touch](https://www.pervasivedisplays.com/product/2-71-e-ink-display-aurora-mb-v231/); and
/// * **PDLS_EXT3_Basic_BWRY** for [black-white-red-yellow screens](https://www.pervasivedisplays.com/product/).
///
/// The screens are connected to the [EPD Extension Kit Gen 3 (EXT3 or EXT3-1)](https://www.pervasivedisplays.com/product/epd-extension-kit-gen-3-EXT3/) and [Touch Expansion Board for EXT3 (EXT3-Touch)](https://www.pervasivedisplays.com/product/touch-expansion-board-ext3-touch/).
/// The screens are connected to the boards:
///
/// + [EPD Extension Kit Gen 3 (EXT3 or EXT3-1)](https://www.pervasivedisplays.com/product/epd-extension-kit-gen-3-EXT3/) and [Touch Expansion Board for EXT3 (EXT3-Touch)](https://www.pervasivedisplays.com/product/touch-expansion-board-ext3-touch/);
///
/// Two introductory kits are also available:
///
/// + The [EPD Pico Kit (EPDK)](https://www.pervasivedisplays.com/product/epd-pico-kit-epdk/) includes a Raspberry Pi Pico RP2040, an EXT3-1 extension board and a 2.66&quot; monochrome panel; and
/// + The [EPD Pico Kit Touch (EPDK-271-Touch)](https://www.pervasivedisplays.com/product/touch-expansion-board-ext3-touch/#tab-3) includes a Raspberry Pi Pico RP2040, an EXT3-1 and EXT3-Touch boards and a 2.71&quot;-Touch monochrome panel with embedded fast update.
/// + [EPD Pico Kit (EPDK-266)](https://www.pervasivedisplays.com/product/epd-pico-kit-epdk/), which includes a Raspberry Pi Pico RP2040, an EXT3-1 extension board and a 2.66&quot; monochrome panel; and
/// + [EPD Pico Kit Touch (EPDK-271-Touch)](https://www.pervasivedisplays.com/product/touch-expansion-board-ext3-touch/#tab-3), which includes a Raspberry Pi Pico RP2040, an EXT3-1 and EXT3-Touch boards and a 2.71&quot;-Touch monochrome panel with embedded fast update.
///
/// @b Documentation
///
Expand All @@ -41,16 +43,17 @@
/// Additionally, the **[Wiki](https://docs.pervasivedisplays.com/)** provides a gradual introduction to the e-paper technology and how to use it.
///
/// @author Rei Vilo
/// @date 21 Jul 2024
/// @version 804
/// @date 21 Aug 2024
/// @version 805
///
/// @copyright (c) Rei Vilo, 2010-2024
/// @copyright All rights reserved
/// @copyright For exclusive use with Pervasive Displays screens
/// @copyright Portions (c) Pervasive Displays, 2010-2024
///
/// * Basic edition: for hobbyists and for basic usage
/// @n Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
/// @see https://creativecommons.org/licenses/by-sa/4.0/
/// ([summary](https://creativecommons.org/licenses/by-sa/4.0/deed.en) and [legal code](https://creativecommons.org/licenses/by-sa/4.0/legalcode.en))
///
/// @n Consider the Evaluation or Commercial editions for professionals or organisations and for commercial usage
///
Expand Down
3 changes: 2 additions & 1 deletion src/hV_HAL_Peripherals.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
// Release 801: Added SPI configuration
// Release 803: Improved stability
// Release 804: Improved power management
// Release 805: Improved stability
//

// Library header
Expand Down Expand Up @@ -237,7 +238,7 @@ void hV_HAL_SPI3_begin()
#if defined(ARDUINO_XIAO_ESP32C3)

// Board Xiao ESP32-C3 crashes if pins are not specified.
hV_HAL_SPI3_define(8, 9) // SCK SDA
hV_HAL_SPI3_define(8, 9); // SCK SDA

#elif defined(ARDUINO_ESP32_PICO)

Expand Down
8 changes: 5 additions & 3 deletions src/hV_HAL_Peripherals.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
/// @n Based on highView technology
///
/// @author Rei Vilo
/// @date 21 Jul 2024
/// @version 804
/// @date 21 Aug 2024
/// @version 805
///
/// @copyright (c) Rei Vilo, 2010-2024
/// @copyright All rights reserved
Expand Down Expand Up @@ -36,7 +36,7 @@
///
/// @brief Release
///
#define hV_HAL_PERIPHERALS_RELEASE 804
#define hV_HAL_PERIPHERALS_RELEASE 805

///
/// @brief SDK library
Expand Down Expand Up @@ -116,6 +116,8 @@ void hV_HAL_SPI3_begin();
/// @param pinClock clock, default = SCK
/// @param pinData combined data, default = MOSI
/// @note For manual configuration only
/// @warning SCK and MOSI provided by Arduino SDK
/// * Some boards require manual configuration
///
void hV_HAL_SPI3_define(uint8_t pinClock = SCK, uint8_t pinData = MOSI);

Expand Down
39 changes: 13 additions & 26 deletions src/hV_List_Boards.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@
/// * 2.2 Other boards
/// * 2.3 Deprecated boards
///
///
/// @author Rei Vilo
/// @date 21 Mar 2024
/// @version 801
/// @date 21 Aug 2024
/// @version 805
///
/// @copyright (c) Rei Vilo, 2010-2024
/// @copyright All rights reserved
Expand Down Expand Up @@ -42,20 +41,26 @@
// SDK
#include "stdint.h"

// Options
#include "hV_List_Options.h"

#ifndef hV_LIST_BOARDS_RELEASE
///
/// @brief Release
///
#define hV_LIST_BOARDS_RELEASE 803
#define hV_LIST_BOARDS_RELEASE 805

///
/// @brief Not connected pin
///
#define NOT_CONNECTED (uint8_t)0xff

///
/// @brief Board configuration structure
///
/// @brief EXT3 board configuration structure
/// @note
/// * Pins 1 to 10 are common to all EXT boards
/// * Other pins are specific to each EXT board, optional or external
///
struct pins_t
{
// ///< EXT3 and EXT3-1 pin 1 Black -> +3.3V
Expand Down Expand Up @@ -83,26 +88,6 @@ struct pins_t
/// @name 2.1 Recommended boards
/// @{

///
/// @brief Arduino Nano Matter with Silicon Labs MGM240P, tested
/// @note Numbers refer to pins
/// @note Recommended board
///
const pins_t boardArduinoNanoMatter =
{
.panelBusy = 10, ///< EXT3 and EXT3-1 pin 3 Red -> D10
.panelDC = 9, ///< EXT3 and EXT3-1 pin 4 Orange -> D9
.panelReset = 8, ///< EXT3 and EXT3-1 pin 5 Yellow -> D8
.flashCS = 7, ///< EXT3 and EXT3-1 pin 8 Violet -> D7
.panelCS = 6, ///< EXT3 and EXT3-1 pin 9 Grey -> D6
.panelCSS = NOT_CONNECTED, ///< EXT3 and EXT3-1 pin 12 Grey2
.flashCSS = NOT_CONNECTED, ///< EXT3 pin 20 or EXT3-1 pin 11 Black2
.touchInt = NOT_CONNECTED, ///< EXT3-Touch pin 3 Red
.touchReset = NOT_CONNECTED, ///< EXT3-Touch pin 4 Orange
.panelPower = 2, ///< Optional power circuit -> D2
.cardCS = NOT_CONNECTED, ///< Separate SD-card board
.cardDetect = NOT_CONNECTED, ///< Separate SD-card board
};

///
/// @brief Raspberry Pi Pico and Pico W with default RP2040 configuration, tested
Expand Down Expand Up @@ -436,6 +421,7 @@ const pins_t boardLaunchPad =

///
/// @brief Texas Instruments LaunchPad MSP430FR5994 LaunchPad with SD-card configuration, tested
/// @deprecated Texas Instruments LaunchPad boards are deprecated (8.0.3)
///
const pins_t boardMSP430FR5994 =
{
Expand All @@ -455,6 +441,7 @@ const pins_t boardMSP430FR5994 =

///
/// @brief Texas Instruments LaunchPad CC1352 configuration, tested
/// @deprecated Texas Instruments LaunchPad boards are deprecated (8.0.3)
///
const pins_t boardCC1352 =
{
Expand Down
Loading

0 comments on commit bc71304

Please sign in to comment.