From 43ac61069c19bb9b7275b438a5890dfd8f28eac4 Mon Sep 17 00:00:00 2001 From: Rei Vilo Date: Tue, 20 Dec 2022 12:58:27 +0100 Subject: [PATCH] Release 6.0.4 --- .../Basic_Touch_Draw/Basic_Touch_Draw.ino | 2 +- examples/Basic_Touch_GUI/Basic_Touch_GUI.ino | 2 +- .../Basic_Touch_TicTacToe.ino | 2 +- library.properties | 2 +- src/PDLS_EXT3_Basic_Touch.h | 8 ++--- src/Screen_EPD_EXT3.cpp | 31 ++++++++++++------- src/Screen_EPD_EXT3.h | 17 +++++----- src/Terminal12x16e.h | 2 +- src/Terminal16x24e.h | 2 +- src/Terminal6x8e.h | 2 +- src/Terminal8x12e.h | 2 +- src/hV_Colours565.cpp | 2 +- src/hV_Colours565.h | 2 +- src/hV_Configuration.h | 8 ++--- src/hV_Constants.h | 10 +++--- src/hV_Documentation.h | 26 ++++++++++------ src/hV_Font.h | 2 +- src/hV_Font_Terminal.cpp | 2 +- src/hV_Font_Terminal.h | 2 +- src/hV_GUI.cpp | 2 +- src/hV_GUI.h | 2 +- src/hV_Screen_Buffer.cpp | 2 +- src/hV_Screen_Buffer.h | 2 +- src/hV_Utilities.cpp | 10 +++--- src/hV_Utilities.h | 2 +- 25 files changed, 82 insertions(+), 64 deletions(-) mode change 100644 => 100755 src/hV_Colours565.cpp diff --git a/examples/Basic_Touch_Draw/Basic_Touch_Draw.ino b/examples/Basic_Touch_Draw/Basic_Touch_Draw.ino index 39e60c5..59a71e5 100755 --- a/examples/Basic_Touch_Draw/Basic_Touch_Draw.ino +++ b/examples/Basic_Touch_Draw/Basic_Touch_Draw.ino @@ -8,7 +8,7 @@ /// @date 21 Nov 2022 /// @version 602 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright CC = BY SA NC /// /// @see ReadMe.txt for references diff --git a/examples/Basic_Touch_GUI/Basic_Touch_GUI.ino b/examples/Basic_Touch_GUI/Basic_Touch_GUI.ino index 095d41e..bacf7d4 100755 --- a/examples/Basic_Touch_GUI/Basic_Touch_GUI.ino +++ b/examples/Basic_Touch_GUI/Basic_Touch_GUI.ino @@ -8,7 +8,7 @@ /// @date 21 Nov 2022 /// @version 602 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright CC = BY SA NC /// /// @see ReadMe.txt for references diff --git a/examples/Basic_Touch_TicTacToe/Basic_Touch_TicTacToe.ino b/examples/Basic_Touch_TicTacToe/Basic_Touch_TicTacToe.ino index f0bd2c5..5319d0e 100755 --- a/examples/Basic_Touch_TicTacToe/Basic_Touch_TicTacToe.ino +++ b/examples/Basic_Touch_TicTacToe/Basic_Touch_TicTacToe.ino @@ -8,7 +8,7 @@ /// @date 21 Nov 2022 /// @version 602 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright CC = BY SA NC /// /// @see ReadMe.txt for references diff --git a/library.properties b/library.properties index 609e022..0e08ec7 100755 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=PDLS_EXT3_Basic_Touch -version=6.0.3 +version=6.0.4 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 diff --git a/src/PDLS_EXT3_Basic_Touch.h b/src/PDLS_EXT3_Basic_Touch.h index 82ecf43..3af4e51 100755 --- a/src/PDLS_EXT3_Basic_Touch.h +++ b/src/PDLS_EXT3_Basic_Touch.h @@ -6,10 +6,10 @@ /// @n Based on highView technology /// /// @author Rei Vilo -/// @date 01 Dec 2022 -/// @version 603 +/// @date 21 Dec 2022 +/// @version 604 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright All rights reserved /// /// * Basic edition: for hobbyists and for basic usage @@ -30,7 +30,7 @@ #endif // SDK #ifndef PDLS_EXT3_BASIC_FAST_RELEASE -#define PDLS_EXT3_BASIC_FAST_RELEASE 603 +#define PDLS_EXT3_BASIC_FAST_RELEASE 604 #include "Screen_EPD_EXT3.h" #endif // PDLS_EXT3_BASIC_FAST_RELEASE diff --git a/src/Screen_EPD_EXT3.cpp b/src/Screen_EPD_EXT3.cpp index eec3252..00b5d8a 100755 --- a/src/Screen_EPD_EXT3.cpp +++ b/src/Screen_EPD_EXT3.cpp @@ -8,7 +8,7 @@ // // Created by Rei Vilo, 28 Jun 2016 // -// Copyright © Rei Vilo, 2010-2022 +// Copyright (c) Rei Vilo, 2010-2023 // Licence Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) // // Release 509: Added eScreen_EPD_EXT3_271_Fast @@ -19,7 +19,8 @@ // Release 541: Improved support for ESP32 // Release 550: Tested Xiao ESP32-C3 with SPI exception // Release 601: Added support for screens with embedded fast update -// Release 602: Improve functions structure +// Release 602: Improved functions structure +// Release 604: Improved stability // // Library header @@ -54,7 +55,7 @@ SPISettings _settingScreen; #endif // -// === COG settings +// === COG section // /// @cond @@ -69,7 +70,8 @@ SPISettings _settingScreen; uint8_t indexE5_data[] = {0x19}; // temperature uint8_t indexE0_data[] = {0x02}; // activate temperature uint8_t index00_data[] = {0xff, 0x8f}; // PSR, constant -uint8_t index50_data[] = {0x07}; // All, constant +uint8_t index50a_data[] = {0x27}; // All, constant +uint8_t index50b_data[] = {0x07}; // All, constant void Screen_EPD_EXT3_Fast::COG_initial(uint8_t updateMode) { @@ -99,9 +101,9 @@ void Screen_EPD_EXT3_Fast::COG_initial(uint8_t updateMode) _sendIndexData(0xe0, indexE0_data, 1); // Activate Temperature _sendIndexData(0x00, index00_work, 2); // PSR - if ((_codeExtra & FEATURE_FAST) and (updateMode != UPDATE_GLOBAL)) // Specific settings for fast update + if ((_codeExtra & FEATURE_FAST) and (updateMode != UPDATE_GLOBAL) and _flag50) // Specific settings for fast update { - _sendIndexData(0x50, index50_data, 1); // Vcom and data interval setting + _sendIndexData(0x50, index50a_data, 1); // Vcom and data interval setting } } @@ -109,19 +111,21 @@ void Screen_EPD_EXT3_Fast::COG_getUserData() { uint16_t _codeSizeType = _eScreen_EPD_EXT3 & 0xffff; - // Size cSize cType Driver + // Size cSize cType Driver switch (_codeSizeType) { case 0x2709: // 2.70” = 2.71” = 0xcf, 0x8d index00_data[0] = 0xcf; index00_data[1] = 0x8d; + _flag50 = false; break; case 0x370C: // 3.70” = 0xcf, 0x0f index00_data[0] = 0xcf; index00_data[1] = 0x8f; + _flag50 = true; break; default: @@ -140,8 +144,13 @@ void Screen_EPD_EXT3_Fast::COG_sendImageDataFast() memcpy(previousBuffer, nextBuffer, _frameSize); // Copy displayed next to previous } -void Screen_EPD_EXT3_Fast::COG_update() +void Screen_EPD_EXT3_Fast::COG_update(uint8_t updateMode) { + if ((_codeExtra & FEATURE_FAST) and (updateMode != UPDATE_GLOBAL) and _flag50) // Specific settings for fast update + { + _sendIndexData(0x50, index50b_data, 1); // Vcom and data interval setting + } + _sendCommand8(0x04); // Power on _waitBusy(); @@ -158,7 +167,7 @@ void Screen_EPD_EXT3_Fast::COG_powerOff() } /// @endcond // -// === End of COG +// === End of COG section // // Utilities @@ -392,14 +401,14 @@ String Screen_EPD_EXT3_Fast::WhoAmI() void Screen_EPD_EXT3_Fast::flush() { - // Initialise + // Configure COG_initial(UPDATE_FAST); // Send image data COG_sendImageDataFast(); // Update - COG_update(); + COG_update(UPDATE_FAST); COG_powerOff(); } diff --git a/src/Screen_EPD_EXT3.h b/src/Screen_EPD_EXT3.h index ae10372..0484247 100755 --- a/src/Screen_EPD_EXT3.h +++ b/src/Screen_EPD_EXT3.h @@ -16,10 +16,10 @@ /// * 3.70"-Touch reference xTP370PGH0x /// /// @author Rei Vilo -/// @date 21 Nov 2022 -/// @version 602 +/// @date 21 Dec 2022 +/// @version 604 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) /// /// The highView Library Suite is shared under the Creative Commons licence Attribution-ShareAlike 4.0 International (CC BY-SA 4.0). @@ -50,7 +50,7 @@ /// /// @brief Library release number /// -#define SCREEN_EPD_EXT3_RELEASE 602 +#define SCREEN_EPD_EXT3_RELEASE 604 // Other libraries #include "SPI.h" @@ -78,7 +78,7 @@ /// @details Screen controllers /// * LCD: proprietary, SPI /// * touch: proprietary, I2C -/// * fonts: no external fonts +/// * fonts: no external Flash /// /// @note All commands work on the frame-buffer, /// to be displayed on screen with flush() @@ -232,9 +232,9 @@ class Screen_EPD_EXT3_Fast final : public hV_Screen_Buffer // * Other functions specific to the screen void COG_initial(uint8_t updateMode); void COG_getUserData(); - void COG_update(void); - void COG_powerOff(void); void COG_sendImageDataFast(); + void COG_update(uint8_t updateMode); + void COG_powerOff(); // Screen independent variables uint8_t * _newImage; @@ -249,6 +249,7 @@ class Screen_EPD_EXT3_Fast final : public hV_Screen_Buffer uint8_t _codeType; uint16_t _bufferSizeV, _bufferSizeH, _bufferDepth; uint32_t _pageColourSize, _frameSize; + bool _flag50; // === Touch #if (TOUCH_MODE != USE_TOUCH_NONE) @@ -265,6 +266,8 @@ class Screen_EPD_EXT3_Fast final : public hV_Screen_Buffer #endif // TOUCH_MODE + // === SD + // No SD /// @endcond }; diff --git a/src/Terminal12x16e.h b/src/Terminal12x16e.h index 615873a..aecc5be 100755 --- a/src/Terminal12x16e.h +++ b/src/Terminal12x16e.h @@ -9,7 +9,7 @@ /// @date 02 Aug 2021 /// @version 507 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright All rights reserved /// /// * Basic edition: for hobbyists and for basic usage diff --git a/src/Terminal16x24e.h b/src/Terminal16x24e.h index c292386..2172f7b 100755 --- a/src/Terminal16x24e.h +++ b/src/Terminal16x24e.h @@ -9,7 +9,7 @@ /// @date 02 Aug 2021 /// @version 507 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright All rights reserved /// /// * Basic edition: for hobbyists and for basic usage diff --git a/src/Terminal6x8e.h b/src/Terminal6x8e.h index a52711b..c920906 100755 --- a/src/Terminal6x8e.h +++ b/src/Terminal6x8e.h @@ -9,7 +9,7 @@ /// @date 02 Aug 2021 /// @version 507 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright All rights reserved /// /// * Basic edition: for hobbyists and for basic usage diff --git a/src/Terminal8x12e.h b/src/Terminal8x12e.h index 3501768..d7b03a1 100755 --- a/src/Terminal8x12e.h +++ b/src/Terminal8x12e.h @@ -9,7 +9,7 @@ /// @date 02 Aug 2021 /// @version 507 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright All rights reserved /// /// * Basic edition: for hobbyists and for basic usage diff --git a/src/hV_Colours565.cpp b/src/hV_Colours565.cpp old mode 100644 new mode 100755 index a647fa6..b754162 --- a/src/hV_Colours565.cpp +++ b/src/hV_Colours565.cpp @@ -8,7 +8,7 @@ // // Created by Rei Vilo, 31 Dec 2013 // -// Copyright © Rei Vilo, 2010-2022 +// Copyright (c) Rei Vilo, 2010-2023 // Licence Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) // // See hV_Colours565.h for references diff --git a/src/hV_Colours565.h b/src/hV_Colours565.h index 59fa197..ef2f46a 100755 --- a/src/hV_Colours565.h +++ b/src/hV_Colours565.h @@ -9,7 +9,7 @@ /// @date 11 Jan 2021 /// @version 507 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) /// diff --git a/src/hV_Configuration.h b/src/hV_Configuration.h index 3ea86a6..0815939 100755 --- a/src/hV_Configuration.h +++ b/src/hV_Configuration.h @@ -19,10 +19,10 @@ /// * 11. Set storage mode, not implemented /// /// @author Rei Vilo -/// @date 01 Dec 2022 -/// @version 603 +/// @date 21 Dec 2022 +/// @version 604 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright All rights reserved /// /// * Basic edition: for hobbyists and for basic usage @@ -56,7 +56,7 @@ /// /// @brief Release /// -#define hV_CONFIGURATION_RELEASE 603 +#define hV_CONFIGURATION_RELEASE 604 /// /// @name 1- List of supported Pervasive Displays screens diff --git a/src/hV_Constants.h b/src/hV_Constants.h index 009a051..9f3a44b 100644 --- a/src/hV_Constants.h +++ b/src/hV_Constants.h @@ -6,11 +6,11 @@ /// @n Based on highView technology /// /// @author Rei Vilo -/// @date 01 Dec 2022 -/// @version 603 +/// @date 21 Dec 2022 +/// @version 604 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright All rights reserved /// /// * Basic edition: for hobbyists and for basic usage @@ -31,7 +31,7 @@ /// /// @brief Release /// -#define hV_CONSTANTS_RELEASE 603 +#define hV_CONSTANTS_RELEASE 604 #endif // hV_CONSTANTS_RELEASE /// @@ -74,6 +74,6 @@ /// @{ #define PARTIAL_OFF 0x00 ///< non-activated #define PARTIAL_ON 0x01 ///< activated but not populated -#define PARTIAL_VALUES 0x02 ///< activated and populated +#define PARTIAL_READY 0x02 ///< activated and populated /// @} diff --git a/src/hV_Documentation.h b/src/hV_Documentation.h index 5014931..2eed2cb 100755 --- a/src/hV_Documentation.h +++ b/src/hV_Documentation.h @@ -35,10 +35,10 @@ /// 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 01 Dec 2022 -/// @version 603 +/// @date 21 Dec 2022 +/// @version 604 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright All rights reserved /// /// * Basic edition: for hobbyists and for basic usage @@ -61,24 +61,30 @@ /// /// Examples are under the examples folder. /// -/// * Common -/// * Common_Colours +/// * Common +/// * Common_Colours /// @image html T2_PALET.jpg /// @image latex T2_PALET.PDF width=10cm -/// * Common_Fonts +/// * Common_Fonts /// @image html T2_FONTS.jpg /// @image latex T2_FONTS.PDF width=10cm -/// * Common_Orientation +/// * Common_Orientation /// @image html T2_ORIEN.jpg /// @image latex T2_ORIEN.PDF width=10cm -/// * Common_Forms +/// * Common_Forms /// @image html T2_FORMS.jpg /// @image latex T2_FORMS.PDF width=10cm -/// * Common_Text +/// * Common_Text /// @image html T2_CHARA.jpg /// @image latex T2_CHARA.PDF width=10cm -/// * Common_WhoAmI +/// * Common_WhoAmI /// @image html T2_WHOAMI.jpg /// @image latex T2_WHOAMI.PDF width=10cm +/// * Example_Global_Speed +/// @image html Global.jpeg +/// @image latex Global.jpeg width=10cm +/// * Example_Fast_Speed +/// @image html Fast.jpeg +/// @image latex Fast.jpeg width=10cm /// diff --git a/src/hV_Font.h b/src/hV_Font.h index 4727117..1601551 100755 --- a/src/hV_Font.h +++ b/src/hV_Font.h @@ -9,7 +9,7 @@ /// @date 02 Aug 2021 /// @version 507 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright All rights reserved /// /// * Basic edition: for hobbyists and for basic usage diff --git a/src/hV_Font_Terminal.cpp b/src/hV_Font_Terminal.cpp index 183d535..31f49af 100755 --- a/src/hV_Font_Terminal.cpp +++ b/src/hV_Font_Terminal.cpp @@ -7,7 +7,7 @@ // // Created by Rei Vilo, 31 Dec 2013 // -// Copyright (c) Rei Vilo, 2010-2022 +// Copyright (c) Rei Vilo, 2010-2023 // Licence All rights reserved // // * Basic edition: for hobbyists and for basic usage diff --git a/src/hV_Font_Terminal.h b/src/hV_Font_Terminal.h index 645b3dc..2e7fbd3 100755 --- a/src/hV_Font_Terminal.h +++ b/src/hV_Font_Terminal.h @@ -9,7 +9,7 @@ /// @date 02 Aug 2021 /// @version 507 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright All rights reserved /// /// * Basic edition: for hobbyists and for basic usage diff --git a/src/hV_GUI.cpp b/src/hV_GUI.cpp index 461c583..cdfb45e 100755 --- a/src/hV_GUI.cpp +++ b/src/hV_GUI.cpp @@ -9,7 +9,7 @@ // Created by Rei Vilo, 14 Jun 2013 // Last updated by Rei Vilo, 25 Jan 2022 // -// Copyright © Rei Vilo, 2010-2022 +// Copyright (c) Rei Vilo, 2010-2023 // Licence All rights reserved // // See hV_GUI.h and ReadMe.txt for references diff --git a/src/hV_GUI.h b/src/hV_GUI.h index 48412e5..05ff5be 100755 --- a/src/hV_GUI.h +++ b/src/hV_GUI.h @@ -9,7 +9,7 @@ /// @date 28 Feb 2022 /// @version 531 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) /// /// The highView Library Suite is shared under the Creative Commons licence Attribution-ShareAlike 4.0 International (CC BY-SA 4.0). diff --git a/src/hV_Screen_Buffer.cpp b/src/hV_Screen_Buffer.cpp index a34eff4..d40cad3 100644 --- a/src/hV_Screen_Buffer.cpp +++ b/src/hV_Screen_Buffer.cpp @@ -8,7 +8,7 @@ // // Created by Rei Vilo, 28 Jun 2016 // -// Copyright © Rei Vilo, 2010-2022 +// Copyright (c) Rei Vilo, 2010-2023 // Licence Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) // // See hV_Screen_Buffer.h for references diff --git a/src/hV_Screen_Buffer.h b/src/hV_Screen_Buffer.h index 3211ca0..24760a8 100755 --- a/src/hV_Screen_Buffer.h +++ b/src/hV_Screen_Buffer.h @@ -9,7 +9,7 @@ /// @date 24 Nov 2021 /// @version 523 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) /// /// The highView Library Suite is shared under the Creative Commons licence Attribution-ShareAlike 4.0 International (CC BY-SA 4.0). diff --git a/src/hV_Utilities.cpp b/src/hV_Utilities.cpp index dcc0bc1..60f9a72 100644 --- a/src/hV_Utilities.cpp +++ b/src/hV_Utilities.cpp @@ -3,14 +3,14 @@ // Library C++ code // ---------------------------------- // -// Project highView Library Suite +// Project highView Library Suite // -// Created by Rei Vilo, 01 Jun 2013 +// Created by Rei Vilo, 01 Jun 2013 // -// Copyright © Rei Vilo, 2010-2022 -// Licence Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) +// Copyright (c) Rei Vilo, 2010-2023 +// Licence Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) // -// See hV_Utilities.h for references +// See hV_Utilities.h for references // // Library header diff --git a/src/hV_Utilities.h b/src/hV_Utilities.h index 70bbbd1..9c71d64 100755 --- a/src/hV_Utilities.h +++ b/src/hV_Utilities.h @@ -9,7 +9,7 @@ /// @date 02 Nov 2021 /// @version 521 /// -/// @copyright (c) Rei Vilo, 2010-2022 +/// @copyright (c) Rei Vilo, 2010-2023 /// @copyright Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) /// /// The highView Library Suite is shared under the Creative Commons licence Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).