Skip to content

Releases: BlueAndi/Pixelix

Pixelix v7.2.5

21 Oct 20:50
Compare
Choose a tag to compare

Bugfixes

General

  • Considers the renaming of the repository.
  • Bugfix in AsyncTcpSock, which causes a reset while accessing any web page:
Backtrace: 0x40083c3d:0x3ffea3e0 0x4008e879:0x3ffea400 0x40093ef9:0x3ffea420 0x4008f889:0x3ffea550 0x401a1813:0x3ffea590 0x401a0b22:0x3ffea5f0

  #0  0x40083c3d:0x3ffea3e0 in panic_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/panic.c:408
  #1  0x4008e879:0x3ffea400 in esp_system_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/esp_system.c:137
  #2  0x40093ef9:0x3ffea420 in __assert_func at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/assert.c:85
  #3  0x4008f889:0x3ffea550 in xQueueSemaphoreTake at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/queue.c:1549 (discriminator 1)
  #4  0x401a1813:0x3ffea590 in AsyncClient::_sockPoll() at .pio/libdeps/esp32doit-devkit-v1/AsyncTCPSock/src/AsyncTCP.cpp:920
  #5  0x401a0b22:0x3ffea5f0 in _asynctcpsock_task(void*) at .pio/libdeps/esp32doit-devkit-v1/AsyncTCPSock/src/AsyncTCP.cpp:221

Pixelix v7.2.4

18 Jul 21:18
2f08a41
Compare
Choose a tag to compare

Security Release

The polyfill.io domain was compromised, therefore the polyfill.js is now got from cdnjs.
Article: https://blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk

Pixelix uses the polyfill.js to get websocket support in older browsers.

Pixelix v7.2.3

16 May 21:47
69929fc
Compare
Choose a tag to compare

Bugfixes

General

  • Fixed esp32 RMT false positive report, which caused infinite logs on the console and slowed down the system.

Pixelix v7.2.2

04 Apr 21:56
3780ad6
Compare
Choose a tag to compare

Bugfixes

General

  • Arduino FFT library updated, because previous used branch was broken.
  • HomeAssistant blueprint fixed.

Pixelix v7.2.1

12 Jan 18:38
607f42a
Compare
Choose a tag to compare

Bugfixes

General

  • Sensor data was only updated partly depended on sensor type.
  • Some sensors which provides a float value, may provide NaN. This is handled now.

TempHumidPlugin

  • The humidity was shown with an additional dot on the display, although the value is without the fractional part. This dot is removed.

Notes

  • Please have a look to the REST API v1.4.0 for new functionality.
  • To get all Pixelix features you need a development board with at least 8 MB flash and a dual core ESP32 chip.
  • On a single core ESP32-S2 it may happen that artifacts in the display appear in case of requests to the webserver. Note the LwIP stack and the TCP layer has tasks with higher priority and may access intesively the filesystem.

Pixelix v7.2.0

23 Dec 13:06
532221a
Compare
Choose a tag to compare

Features

General

  • Set "homeassistant" as default discovery prefix.
  • MQTT support added to Ulanzi TC001.
  • RTC suppport added to Ulanzi TC001.
  • With \xHH a character code in hex can be specified inside text to get special characters like the °.
  • Brightness, temperature, humidity and battery sensor values can now be requested via REST API or subscribed to via MQTT.
  • Display can be switched on/off now.
  • The automatic display update is disabled by default. Use the button to enable it.
  • In the serial terminal the IP address can be retrieved by "get ip".

GithubPlugin

  • Replaced by GrabViaRestPlugin.

GrabViaRestPlugin

  • GrabViaRestPlugin implemented to grab data via REST API and show it on the display. See ./doc/grabConfigs/rest for examples.

GrabViaMqttPlugin

  • GrabViaMqttPlugin implemented to subscribe for MQTT topics and show them on the display. See ./doc/grabConfigs/mqtt for examples.

IconTextPlugin

  • The absolute path for the bitmap icon and the sprite sheet can be set directly.

IconTextLampPlugin

  • The absolute path for the bitmap icon and the sprite sheet can be set directly.

OpenWeatherPlugin

  • OpenWeatherPlugin supports the "Current weather" API v2.5, One-Call API v2.5 and One-Call API v3.0.
  • Configure the weather request period in OpenWeatherPlugin to your needs.

ShellyPlugSPlugin

  • Replaced by GrabViaRestPlugin.

ThreeIconPlugin

  • The absolute path for the bitmap icon and the sprite sheet can be set directly.

Improvements

  • Websocket commands optimized in sense of memory consumption.
  • The size of the display in the Display web page will be automatically adapted.
  • File upload dialogs filter now for the appropriate file extensions.
  • Bitmap (.bmp) V5 header support added.
  • Virtual buttons controlled via websocket or REST API can execute all defined button actions.
  • The display page was extended to jump to previous/next slot.
  • The AsyncHttpClient's serialized to have only one outgoing http/https request at a time. This was necessary because a single https request needs about 47 kByte of heap memory and may cause a reset depended on the users configuration and timing.

Bugfixes

  • NTP address handling fixed, which could cause a broken time synchronization.
  • Several small bugfixes.

DDPPlugin

  • DDP protocol fixed to be used by e.g. xlights.

Notes

  • Please have a look to the REST API v1.4.0 for new functionality.
  • To get all Pixelix features you need a development board with at least 8 MB flash and a dual core ESP32 chip.
  • On a single core ESP32-S2 it may happen that artifacts in the display appear in case of requests to the webserver. Note the LwIP stack and the TCP layer has tasks with higher priority and may access intesively the filesystem.

Pixelix v7.1.1

18 Jun 16:22
2454575
Compare
Choose a tag to compare

Bugfixes

  • Because lack of flash space for 4 MB development boards, the
    • AudioService with the SoundReactivePlugin was removed and therefore
    • BTCQuotePlugin, ShellyPlugSPlugin, VolumioPlugin and WifiStatusPlugin were added.

Pixelix v7.1.0

18 Jun 15:00
0d8a629
Compare
Choose a tag to compare

Features

General

  • Support for the Ulanzi TC001 smart pixel clock added.
  • Different LDRs are now supported an be configured in the board.ini per development board.
  • If plugin has no alias, the plugin UID is used to generate a MQTT topic. If a alias is set, only the alias will be used to generate a MQTT topic.
  • If a topic is unregistered, the MQTT HA discovery info will be purged.
  • HomeAssistant entity icon support added.
  • MQTT birth and last will messages implemented.
  • Pixelix can now be switched off. It will go into a light standby mode and disables wifi.
  • Control Pixelix with 1, 2 or 3 buttons, depended on your Pixelix hardware.
  • LED matrix width, height and topology can be configured in the board.ini
  • Supply current can be configured in the board.ini
  • Min. brightness limited to 10%. Default brightness set to 20%.
  • Sensor default offsets can be pre-configured in the Sensors.cpp. This is useful in case of known devices, like the Ulanzi TC001.
  • The BTCQuotePlugin is removed from small configurations, because of less available space.
  • File browser supports now simple uploading of files.
  • Platform updated to v6.3.0.
  • ACE editor updated to v1.22.1.

Plugins

BatteryPlugin

  • New plugin implemented to show the state of charge in a graphical way. Currently only used by the Ulanzi TC001.

IconTextLampPlugin

  • A lamp which is off, is now black and therefore usually not shown.
  • A lamp which is on, is now red.

Bugfixes

General

  • Obsolete PIO keywords (check_patterns) replaced with reccomended ones.
  • SensorPlugin sensor and channel selection fixed.

Plugins

OpenWeatherPlugin

  • Sometimes a "?" with the standard icon was shown instead of the weather icon.

Pixelix v7.0.0

15 May 19:01
502f57d
Compare
Choose a tag to compare

Features

General

  • The slot configuration is now stored in the filesystem with the advantage to have up to 16 slots available now. The NVS partition size was too small, therefore it was necessary.
  • Better stability by using AsyncTCPSock library, instead of AsyncTCP.
  • The push URL supports now GET AND POST.
  • The quiet mode can be enabled in the settings. This suppresses system messages and the startup with a wifi connection is much faster.
  • Obsolete setting keys will be automatically removed to prevent slowly increasing the used size on the NVS partition.
  • The dialogs in the web interface are now all based on bootstrap dialogs.
  • The file browser has now a file tree for a better overview.
  • The file browser shows in the upper left corner of the editor the current loaded file.
  • Pixelix its base SW increased in functionaliy and size. Therefore it was not possible anymore to provide all of the available plugins for the development boards with only 4 MB flash. On the other hand more features were requested. The solution was to have different configurations:
  • MQTT service introduced.
  • Home Assistant support for MQTT discovery added for JustTextPlugin, IconTextPlugin and IconTextLampPlugin.
  • A scrollbar for the web interface menu's is automatically shown for small mobile displays.
  • Mini-terminal implemented, mainly for developing purposes in case Pixelix is connected via USB to the PC.
    • Commands:
      • ping - Response is just pong. Used for testing.
      • reset - Restarts Pixelix
      • write wifi ssid <YOUR-SSID> - Write wifi SSD.
      • write wifi passhprase <YOUR-PASSHPRASE> - Write wifi passphrase.
  • Board v2.1 schematic available. Not finished yet, anyway it already has some improvements to v2.0
  • WEMOS Lolin S2 Mini support added.
  • M5Stack Core support added.
  • Sensors can be calibrated with an offset.
  • All 3rd party libs updated.
  • And a lot of other minor things. :-)

Plugins

  • In general the REST API of the plugins were improved in sense of having a REST API and MQTT API.

DateTimePlugin

  • The date and time format can be set now different per instance. The configuration will be stored in the filesystem.
  • Every instance can be configured with its own timezone.
  • The color of date, time and day of the week can be configured.

DDPPlugin

  • Districuted Display Protocol (DDP) implemented (unbuffered), used by e.g. xlights.

OpenWeatherPlugin

  • Supports animated weather icons.
  • See icon page.

SignalDetectorPlugin

  • New plugin able to detect signals via digital microphone, triggering a URL and showing information on the display.

SoundReactivePlugin

  • Spectrum is reacting faster by using half of precision for FFT.

WormPlugin

  • New plugin with moving worms, eating some food and sometimes explode.

Bugfixes

ThreeIconPlugin

  • The repeat state was not updated after a power-up, therefore no animation was running.

Breaking Changes

  • Please have a look to the REST API v1.3.0. Unfortunately it was necessary to change some of the existing features.

Pixelix v6.0.0

17 Dec 14:14
Compare
Choose a tag to compare

Features/Improvements

General

  • Support for different font sizes added. Default is the TomThumb font with 6 pixel height. Additional the muFont is a large font with 8 pixel height. All plugins consider that font height in their layout.
  • The welcome message is shown if the plugin configuration is empty or the plugin in the 2nd slot is from type "IconTextPlugin" and contain "#welcome" as alias.
  • A backup for all plugin configurations can now be made in the webinterface before updating the filesystem. A backup can be restored as well in the webinterface. See update page.
  • Pixelix HW board 2.0 was born. :-)
  • Development board support added:
    • Lilygo® ESP32 T-Display S3
    • Adafruit ESP32 Feather V2
    • AZ-Delivery ESP-32 Dev Kit C V4
  • Homeassistant REST wrapper configuration for the JustTextPlugin added.
  • Max. number of slots decreased to 10. This was necessary because the plugin configuration is stored in the persistent flash section, which has some size limitations.
  • Less space usage in filesystem by using gzipped files and removed meta information (EXIF, etc.) in jpeg files.
  • File editor retrieves the file tree directory for directory. This is a little bit slower, but avoids triggering the task watchdog.
  • The introduced reset monitor shows periodically how many resets happended and the cause of the latest one in the log.
  • Added further spritesheet examples.
  • Pixelix will notify the online status only if there is no error during startup.
  • esp_log_write() messages no longer piped through own log system.
  • A slot can be activated now via REST, see REST v2.1
  • One slot can be set sticky which will activate the slot and stop the slot scheduling. It can be set/cleared via REST, see REST v2.1
  • Firmware and fileystem can be updated via webinterface at once (multi-select in the file browse dialog).
  • PSRam is shown in the debug info webpage.
  • The user button supports more actions:
    • On short pulse: Activates the next slot.
    • Two short pulses: Activates next fade effect.
    • Five short pulses: IP address is shown.
    • Long pressed: Increases the display brightness until maximum and then decreases until minimum. After that it will again increases it and so on.
  • Show WiFi MAC address in the captive portal web page. This is helpful in case the WiFi network blocks unknown devices and it must be configured first.
  • REST API updated: v1.2.1

Plugins

  • Plugins know now the current network connection status.
  • JustTextPlugin, IconTextPlugin and IconTextLampPlugin
    • If no text is set, the plugin will be skipped in the slot.
  • DateTimePlugin
    • A question mark is shown in case the clock information is not available. This will be shown at startup until the network connection to the time server is available.
    • The date/time format can now be configured more precisely in the settings how it shall look like.
    • DateTimePlugin date/time switching was not working properly in case its the only active plugin.

Others

  • 3rd party libraries updated.
  • I2S workaround added for selecting the channel. Problem caused with Arduino v2.0.4 (#93).
  • 16 MB flash partition workaround added to support the Lilygo® ESP32 T-Display S3. Problem caused by the esptool.py (espressif/esptool#795).

Breaking changes

  • Filesystem changed from SPIFFS to LittleFS. An update via USB will be necessary, don't use OTA update.