Skip to content

Commit

Permalink
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
Browse files Browse the repository at this point in the history
…feature/P044-led-and-events-without-client
  • Loading branch information
tonhuisman committed Aug 26, 2023
2 parents 9d0dd10 + 68e2f46 commit 16f7c9e
Show file tree
Hide file tree
Showing 68 changed files with 1,232 additions and 561 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ jobs:
mkdir ESPEasy_dist_ESP82xx
cd dist
find . -exec cp -r --parents {} ../ESPEasy_dist_ESP82xx/ \;
rm ../ESPEasy_dist_ESP82xx/bin/blank_8MB.bin
cd ../artifacts/Binaries
find . -not -name '*ESP32*' -exec mv {} ../../ESPEasy_dist_ESP82xx/bin/ \;
cd ../..
Expand All @@ -140,7 +141,7 @@ jobs:
cd dist
find . -exec cp -r --parents {} ../ESPEasy_dist_${cpu}/ \;
cd ../ESPEasy_dist_${cpu}
rm ESP.Easy.Flasher.exe bin/blank_1MB.bin bin/blank_2MB.bin bin/ESPEasy_2step_UploaderMega_1024.bin
rm bin/blank_1MB.bin bin/blank_2MB.bin bin/ESPEasy_2step_UploaderMega_1024.bin
cd ../artifacts/Binaries
find . -name "$spec" -exec mv {} ../../ESPEasy_dist_${cpu}/bin/ \;
cd ../..
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,9 @@ jobs:
cd ../..
mv artifacts/Distribution/ESPEasy_dist* .
cp ESPEasy_dist.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP82xx_binaries.zip
zip -d ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP82xx_binaries.zip "bin/blank_8MB.bin"
mv ESPEasy_dist.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip
zip -d ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip "ESP.Easy.Flasher.exe" "bin/blank_1MB.bin" "bin/blank_2MB.bin" "bin/ESPEasy_2step_UploaderMega_1024.bin"
zip -d ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip "bin/blank_1MB.bin" "bin/blank_2MB.bin" "bin/ESPEasy_2step_UploaderMega_1024.bin"
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP82xx_binaries.zip ESPEasy_ESP82xx.zip
# TODO if/when available: ESP32c2 ESP32c6 ESP32h2
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s2_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32s2.zip
Expand Down
Binary file removed dist/ESP.Easy.Flasher.exe
Binary file not shown.
186 changes: 186 additions & 0 deletions dist/Release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,189 @@
-------------------------------------------------
Changes in release mega-20230822 (since mega-20230623)
-------------------------------------------------

Release date: Tue Aug 22 09:40:44 PM CEST 2023

TD-er (102):
[Eastron] Fix merge issues
[Eastron] Uncrustify + remove 500 bytes of duplicate strings
[Eastron] Fix merge issues
[Cleanup] Reduce bin size by stripping unused code
[Cleanup] Reduce bin size by deduplicate factory reset code
[Factory Reset] Fix keeping settings (#4263)
[RFcal] Fix typo in command "clearwifirfcal"
[SendToHTTP] Only include "Authorization" header when credentials set
[ESP32 2.0.5.x] Fix crashes calling noInterrupt() in ISR callback
[Adafruit NeoPixel] Update lib to fix noInterrupts
[Quad Enc] Fix ESP32 noInterrupts()
[Build] Fix merge issues, missing #endif
[ESP32-solo1] Add support for single-core ESP32
[Web flasher] Split "4M collections builds" in a separate group
[release build] Copy ESP32solo1 binaries during release
[Crash Analysis] Show controller/plugin name on crash at system event
[Build] Fix merge issue with duplicate PlatformIO envs
[Build] Fix missing #ifdef check
[Devices] Fix showing all included plugins in devices pull-down list
[Cleanup] Move plugin function pointer array to PROGMEM
[Cleanup] Simplify weblog buffer
[Cleanup] Fix build error due to missing defines
[Cleanup] Improve web serve speed + value formatting speed
[Cleanup] Reduce resouces used on Dallas, Sysinfo and Dummy tasks
[Build] Fix missing #ifdef check
[Cleanup] Reduce CPU usage only calculate valuecount once
[ESPEasy p2p] Remove delay() calls from p2p messaging
[Cleanup] Remove unused PLUGIN_EVENT_OUT
[Cleanup] Get timing stats for controller function calls
[cleanup] Simplify parse controller variables
[P2P] unit with latest build not receiving values of shared plugins (#4718)
[P2P] Check for unset DeviceNumber in matchesSensorType
[Cleanup] Speedup frequent calls + reduce build size
[Cleanup] Reduce calls to saveToRTC()
[Cleanup] Simplify mustConsiderAsJSONString()
[Cleanup] Remove long webserver debug log
[Cleanup] Reduce backgroundtasks() frequency
[Cleanup] Reduce mem allocs for ADC logs
[HLW8012] Improve stability and accuracy
[Cleanup] Allow a task to set initial PLUGIN_READ on init
[Cleanup] Reduce memory usage when timingstats is disabled (or read)
[PlatformIO] Force PIO to 6.1.7
[HLW8012] Fix instability due to IRAM
[Build] Move "hard_" builds to ESP8266 SDK 3.1.2
[Cleanup] Reduce items being logged in TimingStats
[Build] Revert switching 'hard_' builds to ESP8266 SDK 2.7.x
[HLW8012] Remove IIR filter from interrupt callback function
[PlatformIO] Test build with PIO 6.1.9rc1
[PlatformIO] Test build PIO 6.1.9rc1 (2nd attempt)
[PIO] Set minimal PIO version to 6.1.9
[Cleanup] Simplify allocation of ControllerSettings allocation, memleak?
[PVS Studio] Fix issues found by PVS Studio
[PVS Studio] Fix build error & unsafe macro
[PVS Studio] Fix some issues found by PVS Studio
[Cleanup] Attempt to fix memory leak in PluginTaskData
[ArduinoJSON] Update to ArduinoJson 6.21.2
[Cleanup] Simplify PluginStats::getSample
[PVS Studio] Fix some issues reported by PVS Studio
[MDNS] Disable MDNS for ESP8266 due to memory leak
[CSE7766] Improve reliability + fix issue with console port selection
[CSE7766] Fix parsing packets with lost bytes
[CSE7766] Add output selection of units of measure
[WiFi] Fix ESP8266 instability compiler optimization flag -O2
[mDNS] Call MDNS.announce() every second on ESP8266 (mem leak?)
[Cleanup] Add strformat function to simplify log line creation
[Build] Fix build errors incorrect use of strformat()
[Cleanup] Move duplicate oversampling code to helper class
[ESP32 Serial] Fix serial tasks not working after save or restart task
[ESP32 Serial] Do not cache baud rate between end() and begin()
[Cleanup] Replace oversampling code duplication P145
[Cleanup] Replace oversampling code duplication P060
[Cleanup] Replace oversampling code duplication P067
[CSE7766] Update task value with intermediate oversampling value
[Oversampling] Add reset + weighted keep last
[ESP32 Serial] Fix serial tasks not working after save or restart task
[Eastron] Update SDM library to v2.2.2
[Eastron] Re-apply ESPEasy specific changes to SDM library
[Eastron] Generate all SDM register strings
[Eastron] Cleanup showing default taskvalue names + SDM72_V2add
[Eastron] Cleanup code duplicates & uncrustify
[Eastron] Fix compiler warnings
[Eastron] Add support for SDM320C
[Eastron] Split 'readVal' function to allow async reads
[Eastron] Add "demand" in register description
[Eastron] Implement complete async read of Eastron registers
[Eastron] Add hardware RTS support for ESP32 (for ~RE/DE pin on RS485)
[Eastron] Fix ESP32 hardware RTS flow control
[Eastron] improve speed & add commands to set modbusID & baudrate
[Eastron] Start documentation
[Eastron] Document RS485 specific wiring
[Eastron] Complete documentation on Eastron plugin
[Eastron] Add support for RS485 collision detection on ESP32
[Serial Console] Fix HW Serial0 unusable on ESP8266 limited builds
[Eastron] Add delay on first PLUGIN_READ to allow reading registers
[Build] Set ESP8266 Energy build to LIMIT_BUILD_SIZE
[Build] Change LIMIT_BUILD_SIZE on ESP8266 Energy to BUILD_NO_DEBUG
[Eastron] Improve read stability on ESP8266
[CSE7766] Fix crash when not all stats are enabled
[Settings] Fix setting task var names & load default names
[Settings] Fix task value names not being updated on ESP32 (cache)
[Settings] Fix setting custom task value name on Eastron task
[ADS1115] Retry on error reads within timeout

Ton Huisman (68):
[Release][Bugfix] Script should deploy an archive per CPU Architecture
[Docs] Describe `Wrk` and `Wkd` indicators for `Clock#Time` event
[P153] Remove unused #include
[Build] Add support for ESP32-S3 8MB units
[Build] Rearrange 8M2M to 8M1M configuration
[P118] Fix compilation when suppressing only DEBUG logging
[Build] Check all ESP32 builds correctly for factory.bin filesize
[Docs] Fix typo on Plugin page
[Build] Add `boards` definitions for ESP32-S3 8MB and ESP32-S3 16MB
[ETH] Allow Ethernet Power GPIO pin unset (#4724)
[P014] Set default output values to Temp/Hum
[P118] Fix compilation when included in Custom builds
[Build] Update board_name for custom_ESP32_4M2M_NO_OTA_LittleFS
[Build] Add missing #undef FEATURE_TIMING_STATS
[Rules] Add minHexDigits to toHex function
[Docs] Improvements and various fixes
[Build] Add some missing defines to MAX build to make them explicitly available
[P128] Revert changes after library update (not working with ESP8266)
[UI] Add option for disabling Rules auto-completion
[P035] Add Inverted output option, as supported by the IRsend library
[P035] Code improvements
[P035] Add documentation
[P009] Small documentation typo
[P014] Fix invalid cast
[Build] Move ESP32_4M2M settings to own board file
[Build] Remove unused board definition files
[P118] Allow enable/disable of ORCON feature via Custom.h
[P141] Allow enable/disable of Cursor X/Y values feature via Custom.h
[Console] Add newline after console command to avoid mixing in with logging
[P046] Fix documentation, address some code issues, WiP
[P046] Fix compilation issue and include in MAX build
[Build] Include IR plugins in MAX builds
[P035] Small size reductions, remove some unused commented code
[Build] Enable I2C device scan for ESP32 builds
[P098] Add documentation
[EasyColorCode] Fix typo `7ddt` (was 7dtt)
[EasyColorCode] Add some missing commands
[P013] Move to category Distance (from position), add missing [P134] to Distance too
[Controllers] Fix `validCPluginID` check (initialization and actual check)
[P098] Add precaution to documentation for PWM usage
[Build] Reduce ENERGY build size by removing DEBUG logging
[Build] Fix compiler warnings
[EasyColorCode] Fix some auto-complete issues and typos
[EasyColorCode] Add few missing commands for P036
[Lib] Update NeoPixelBus to current latest
[P128] Use customized NeoPixelBus library, upgrading to latest features won't properly work
[P113] Fix for shifted I2C address in library, code improvements
[P113] Apply the fix at the original crime-scene ;-)
[Libs] Update VL53L1X library to current latest v1.2.12 (with fix)
[P113] Disable I2C address selection as that seems to mess up the sensor
[P113] Update documentation
[P122] Uncrustify and move initialization from constructor to .h file
[P153] Remove unused variable
[P020] Sourcecode formatting for clarification
[Docs] Correct some layout issues, causing parts of documentation to disappear
[P113] Add a few extra nullptr checks
[Core] Fix some string/message inconsistencies
[P113] Add a few extra nullptr checks
[Converters] Add toStringNoZero() function
[Generic] Improvements and fixes part 2, Aug 2023
[P113] Fix typo in log statement
[AdaGFX] Additional error information for unsupported bmp files, improve docs
[UI] Widen `textarea` fields for easier input of larger/wider text
[Docs] P002 / P047 Add YT link for selecting a proper (analog) Soil-moisture sensor
[Converters] Use the correct conversion
[Tools] Remove ESP Easy Flasher, update Espressif Download tool
[Tools] Revert esptool to last version
[Tools] Add `blank_8MB.bin` for erasing 8MB units, exclude from ESP8266 archive

tomcatxx (3):
Update SDM.h
Update _P078_Eastron.ino
Update SDM.h


-------------------------------------------------
Changes in release mega-20230623 (since mega-20230508)
-------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions dist/bin/blank_8MB.bin

Large diffs are not rendered by default.

Binary file removed dist/flash_download_tool_3.9.3/bin/WiFiScan.ino.bin
Binary file not shown.
Binary file not shown.
Binary file removed dist/flash_download_tool_3.9.3/bin/boot_app0.bin
Binary file not shown.
Binary file removed dist/flash_download_tool_3.9.3/bin/bootloader.bin
Binary file not shown.
4 changes: 0 additions & 4 deletions dist/flash_download_tool_3.9.3/bin/╡╪╓╖.txt

This file was deleted.

Binary file not shown.
Binary file not shown.
18 changes: 18 additions & 0 deletions dist/flash_download_tool_3.9.5/doc/release_note.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
3.9.5:
* support esp32-h2
* support erase button disable
* fix some bugs

3.9.4:
* support esp32-c6
* support esp32-c3/esp32-s3 flash encrytion
* add xmc flash fix
* support dut count in factory mode

3.9.3:
* support esp32-c2
* update finish UI show

3.9.2:
* fix configure file error
* update autostart process
Binary file not shown.
4 changes: 2 additions & 2 deletions docs/source/Plugin/AdaGFX_commands.repl
Original file line number Diff line number Diff line change
Expand Up @@ -243,13 +243,13 @@
"
``<trigger>,bmp,<x>,<y>,<filename.bmp>``
","
Display a bmp file (24 bit colors) with left/top at position x,y, with the current Rotation setting accounted for.
Display a bmp file (with 24 or 1 bit colors, uncompressed data) with left/top at position x,y, with the current Rotation setting accounted for.

x and/or y can be negative to apply an offset for display. Width or height can **not** be adjusted, the full width & height of the bitmap are used.

The bitmap overwrites anything that was already displayed in the now overwritten area. After a bitmap is displayed, text/graphics can be placed on top of it using the available text and drawing commands, as listed above. By using the same background color as the foreground color (transparent), the image 'behind' the added text/graphics will stay intact.

The file can be read from SD-card, when available, and the bmp file is not found on the internal file storage.
The file will be read from SD-card, when available, and the bmp file is not found on the internal file storage.
"
"
``<trigger>,btn,<state>,<mode>,<x>,<y>,<w>,<h>,<id>,<type>,<ONcolor=blue>,<OFFcolor=red>, <CaptionColor=white>,<fontsize>,<ONcaption>,<OFFcaption>,<BorderColor=white>, <DisabledColor=0x9410>,<DisabledCaptionColor=0x5A69>,<TaskIndex>,<Group>, <SelectGroup>,<objectname>``
Expand Down
2 changes: 2 additions & 0 deletions docs/source/Plugin/P002.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ See below for the limitations on sampling analog values with WiFi active.

See the `ESP32 API reference <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/adc.html>`_ for more detailed information on the features and limitations of these pins.

When using an analog input for connecting an Analog Soil-moisture sensor, `this Youtube video <https://www.youtube.com/watch?v=IGP38bz-K48>`_ has very usable tips on finding a reliable sensor.

Range and Calibration
---------------------

Expand Down
65 changes: 55 additions & 10 deletions docs/source/Plugin/P023.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. include:: ../Plugin/_plugin_substitutions_p02x.repl
.. include:: ../Plugin/_plugin_substitutions_p02x.repl
.. _P023_page:

|P023_typename|
Expand All @@ -21,20 +21,65 @@ Maintainer: |P023_maintainer|

Used libraries: |P023_usedlibraries|

Supported hardware
------------------
Description
-----------

|P023_usedby|
This plugin features a basic display of a text template, including device values, on black and white OLed displays, using the SSD1306 and SH1106 controllers.

.. Commands available
.. ^^^^^^^^^^^^^^^^^^
Configuration
-------------

.. .. include:: P023_commands.repl
.. image:: P023_DeviceConfiguration.png

.. Events
.. ~~~~~~
* **Name**: A unique name should be entered here.

* **Enabled**: The device can be disabled or enabled. When not enabled the device should not use any resources.

I2C Options
^^^^^^^^^^^^

The available settings here depend on the build used. At least the **Force Slow I2C speed** option is available, but selections for the I2C Multiplexer can also be shown. For details see the :ref:`Hardware_page`

Device Settings
^^^^^^^^^^^^^^^

.. image:: P023_ControllerOptions.png

* **Controller**: Select the controller chip that is used for the display. There are 2 options available, ``SSD1306`` and ``SH1106``.

.. image:: P023_RotationOptions.png

* **Rotation**: Select if the display is mounted normally or upside-down (rotated 180 degrees).

.. image:: P023_DisplaySizeOptions.png

* **Display Size**: Select the pixel resolution of the display.

.. image:: P023_FontWidthOptions.png

* **Font Width**: The ``Normal`` option uses a mono-spaced font to display the text, where ``Optimized`` is similar to a proportionally spaced font, where each character uses only the pixels it needs.

* **Line 1** .. **Line 8**: All user defined texts may contain references to system variables or task values which will be interpreted when displayed on screen.

For example: ``[bme#Temp#D2.1] {D}C [bme#Hum]%``


* **GPIO <- Display button(optional)**: Setting up a ``Display Button``, allows to configure a Display Timeout and wake the display on demand, either by a button, or by using some presence detection.

* **Display Timeout**: The numbers of seconds after which the display is turned off. When set to 0 no timeout is active.

* **Interval** By default, Interval will be set to 0. If set to a non-zero value, the pre-configured content will be updated automatically using that interval (seconds).



General
-------

Commands available
^^^^^^^^^^^^^^^^^^

.. include:: P023_commands.repl

.. .. include:: P023_events.repl

Change log
----------
Expand Down
Binary file added docs/source/Plugin/P023_ControllerOptions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/Plugin/P023_DeviceConfiguration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/Plugin/P023_DisplaySizeOptions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/Plugin/P023_FontWidthOptions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/Plugin/P023_RotationOptions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions docs/source/Plugin/P023_commands.repl
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.. csv-table::
:header: "Command", "Extra information"
:widths: 20, 30

"
``oledcmd,off``
","
Turn the display off.
"
"
``oledcmd,on``
","
Turn the display on.
"
"
``oledcmd,clear``
","
Remove all content from the screen.
"
"
``oled,<line>,<column>,<content>``

``<line>``: The line to place the content on, range: 1..8.

``<column>``: The column to start writing the content. The number of characters that can be displayed can vary, depending on the ``Font Width`` setting.

``<content>``: The text content to place on the display. Can include system variables, taskvalue references, etc.
","
Write a line of text on the display, at the given position.
"
Loading

0 comments on commit 16f7c9e

Please sign in to comment.