Skip to content

Commit

Permalink
0.84
Browse files Browse the repository at this point in the history
### Important Notice: Reflashing the Firmware
Before proceeding with the update, it is imperative to reflash the device firmware with erase (use the webflasher) to avail these new features. Please ensure that you've created a backup of your existing configuration to avoid any loss of your flash files.

### Features and Updates

#### Increase in Free Flash Space
- The new firmware uses a standard partition table, which increases the available flash space for icons from 256KB to 1.36MB. This provides more room for customization.

#### Enhanced Color Depth
- AWTRIX has rewritten its drawing functions to now support 24-bit color depth (16.7 million colors), as opposed to the previous 16-bit (65,536 colors). This will result in richer and more vibrant visuals. App updates relating to this feature are currently under review.

#### Improved WiFi Reconnectivity
- A custom-built WiFi reconnect function replaces the standard framework's reconnect method. AWTRIX will now attempt to reconnect every 30 seconds, and if it fails 10 times, the system will automatically reboot. This ensures a more aggressive and reliable WiFi connectivity.

#### Better GIF Handling
- The new GIF decoder is significantly better at handling compressed GIFs, ensuring smoother animations and graphics.

#### Customizable Calendar Appearance
- Users now have the ability to change the calendar body color using the new `CBCOL` setting. The header color can also be changed using `CHCOL`.

#### UI Improvements
- The system now better handles the background color, progress bars, and the free pixel space between icons and text, offering a cleaner UI.

#### Configuration File Renaming
- The `config.json` file has been renamed to `DoNotTouch.json` to emphasize its importance and discourage accidental modifications.

#### New Lifetime Mode
- Two modes have been added:
  - `(0)` will remove the app from the loop, functioning as before.
  - `(1)` will display a red border around the app to indicate that no updates have been received after a specified lifetime.

#### Native App Name Changes
- The internal names for the native Apps have been changed. This is particularly useful for those using the `/switch` API command.

#### Removal of AWTRIX ID Icon Downloader
- The AWTRIX ID Icon downloader has been removed from the web interface. Users should now use the mobile app for downloading community icons.

#### Display WiFi Network
- The web interface will now display the connected WiFi SSID instead of the IP address, providing more relevant information at a glance.
  • Loading branch information
Blueforcer authored Sep 6, 2023
2 parents 52b95a4 + 04eac50 commit 9d17f4e
Show file tree
Hide file tree
Showing 31 changed files with 3,614 additions and 3,267 deletions.
53 changes: 53 additions & 0 deletions boards/esp32-s3-devkitc-1-n16r8v.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"build": {
"arduino":{
"ldscript": "esp32s3_out.ld",
"partitions": "large_spiffs_16MB.csv",
"memory_type": "qio_opi"
},
"core": "esp32",
"extra_flags": [
"-DARDUINO_ESP32S3_DEV",
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_USB_CDC_ON_BOOT=1"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"psram_type": "opi",
"hwids": [
[
"0x303A",
"0x1001"
]
],
"mcu": "esp32s3",
"variant": "esp32s3"
},
"connectivity": [
"wifi",
"bluetooth"
],
"debug": {
"default_tool": "esp-builtin",
"onboard_tools": [
"esp-builtin"
],
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif ESP32-S3-DevKitC-1-N16R8V (16 MB QD, 8MB PSRAM)",
"upload": {
"flash_size": "16MB",
"maximum_ram_size": 327680,
"maximum_size": 16777216,
"require_upload_port": true,
"speed": 921600
},
"url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitc-1.html",
"vendor": "Espressif"
}
65 changes: 36 additions & 29 deletions docs/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Access various device statistics like battery, RAM, and more:

> **Note:** MQTT also broadcasts other data, such as button presses and the current app.
## Screen Mirroring
## LiveView

Retrieve the current matrix screen as an array of 565 colors:

Expand All @@ -39,19 +39,6 @@ Toggle the matrix on or off:
| ---------------- | ----------------------------- | ------------------------- | ----------- |
| `[PREFIX]/power` | `http://[IP]/api/power` | `{"power": true}` or `{"power": false}` | POST |

#### Reboot Awtrix
If you need to restart the Awtrix:

| MQTT Topic | HTTP URL | Payload/Body | HTTP Method |
|-----------------|-------------------------------|---------------|-------------|
| `[PREFIX]/reboot` | `http://[IP]/api/reboot` | - | POST |

#### Erase Awtrix
**WARNING**: This action will format the flash memory and EEPROM but will not modify the WiFi Settings. It essentially serves as a factory reset.

| MQTT Topic | HTTP URL | Payload/Body | HTTP Method |
|-----------------|-------------------------------|---------------|-------------|
| `N/A` | `http://[IP]/api/erase` | - | POST |

## Sound Playback

Expand Down Expand Up @@ -167,6 +154,7 @@ Below are the properties you can utilize in the JSON object. **All keys are opti
| `pos` | integer | Defines the position of your custom page in the loop, starting at 0 for the first position. This will only apply with your first push. This function is experimental. | N/A | X | |
| `draw` | array of objects | Array of drawing instructions. Each object represents a drawing command. See the drawing instructions below. | | X | X |
| `lifetime` | integer | Removes the custom app when there is no update after the given time in seconds. | 0 | X | |
| `lifetimeMode` | integer | 0 = deletes the app, 1 = marks it as staled with a red rectangle around the app | 0 | X | |
| `stack` | boolean | Defines if the **notification** will be stacked. `false` will immediately replace the current notification. | true | | X |
| `wakeup` | boolean | If the Matrix is off, the notification will wake it up for the time of the notification. | false | | X |
| `noScroll` | boolean | Disables the text scrolling. | false | X | X |
Expand Down Expand Up @@ -296,43 +284,43 @@ Directly transition to a desired app using its name.
| `[PREFIX]/switch` | `http://[IP]/api/switch` | `{"name":"time"}` | POST |

**Built-in App Names**:
- `time`
- `date`
- `temp`
- `hum`
- `bat`
- `Time`
- `Date`
- `Temperature`
- `Humidity`
- `Battery`

For custom apps, employ the name you designated in the topic or HTTP parameter. In MQTT, if `[PREFIX]/custom/test` is your topic, then `test` would be the app's name.




## Change Settings

Adjust various settings related to the app display.

| MQTT Topic | HTTP URL | Payload/Body | HTTP Method |
| MQTT Topic | HTTP URL | Payload/Body | HTTP Method |
| --------------------- | --------------------------------- | ------------- | ----------- |
| `[PREFIX]/settings` | `http://[IP]/api/settings` | JSON | POST |

### JSON Properties

You can adjust each property in the JSON object according to your preferences. Including a property is optional.

| Key | Type | Description | Value Range | Default |
| ------------- | ------------------------- | ---------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ------- |
| Key | Type | Description | Value Range | Default |
| ------------- | ------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ------- |
| `ATIME` | number | Duration an app is displayed in seconds. | Positive integer | 7 |
| `TEFF` | number | Choose between app transition effects. | 0-10 | 1 |
| `TSPEED` | number | Time taken for the transition to the next app in milliseconds. | Positive integer | 500 |
| `TEFF` | number | Choose between app transition effects. | 0-10 | 1 |
| `TSPEED` | number | Time taken for the transition to the next app in milliseconds. | Positive integer | 500 |
| `TCOL` | string/array of ints | Global text color. | RGB array or hex color | N/A |
| `TMODE` | integer | Changes the time app style. | 0-4 | 1 |
| `CCOL` | string/array of ints | Calendar color of the time app. | RGB array or hex color | N/A |
| `CTCOL` | string/array of ints | Calendar text color in the time app. | RGB array or hex color | N/A |
| `CHCOL` | string/array of ints | Calendar header color of the time app. | RGB array or hex color |`#FF0000`|
| `CBCOL` | string/array of ints | Calendar body color of the time app. | RGB array or hex color |`#FFFFFF`|
| `CTCOL` | string/array of ints | Calendar text color in the time app. | RGB array or hex color |`#000000` |
| `WD` | boolean | Enable or disable the weekday display. | `true`/`false` | true |
| `WDCA` | string/array of ints | Active weekday color. | RGB array or hex color | N/A |
| `WDCI` | string/array of ints | Inactive weekday color. | RGB array or hex color | N/A |
| `BRI` | number | Matrix brightness. | 0-255 | N/A |
| `ABRI` | boolean | Automatic brightness control. | `true`/`false` | N/A |
| `ATRANS` | boolean | Automatic switching to the next app. | `true`/`false` | N/A |
| `ATRANS` | boolean | Automatic switching to the next app. | `true`/`false` | N/A |
| `CCORRECTION` | array of ints | Color correction for the matrix. | RGB array | N/A |
| `CTEMP` | array of ints | Color temperature for the matrix. | RGB array | N/A |
| `TFORMAT` | string | Time format for the TimeApp. | Varies (see documentation) | N/A |
Expand Down Expand Up @@ -403,4 +391,23 @@ You can initiate the firmware update either through the update button in HA or u
|---------------------|-----------------------------------|---------------|--------------------|-------------|
| `[PREFIX]/doupdate` | `http://[IP]/api/doupdate` | JSON | empty payload/body | POST |

#### Reboot Awtrix
If you need to restart the Awtrix:

| MQTT Topic | HTTP URL | Payload/Body | HTTP Method |
|-----------------|-------------------------------|---------------|-------------|
| `[PREFIX]/reboot` | `http://[IP]/api/reboot` | - | POST |

#### Erase Awtrix
**WARNING**: This action will format the flash memory and EEPROM but will not modify the WiFi Settings. It essentially serves as a factory reset.

| MQTT Topic | HTTP URL | Payload/Body | HTTP Method |
|-----------------|-------------------------------|---------------|-------------|
| `N/A` | `http://[IP]/api/erase` | - | POST |

#### Clear Settings
**WARNING**: This action will clear all you settings from the settings API. This does not belong to flash files and WiFi Settings.

| MQTT Topic | HTTP URL | Payload/Body | HTTP Method |
|-----------------|-------------------------------|---------------|-------------|
| `N/A` | `http://[IP]/api/clearSettings` | - | POST |
Binary file modified docs/awtrix2_flasher/firmware/bootloader.bin
Binary file not shown.
Binary file modified docs/awtrix2_flasher/firmware/firmware.bin
Binary file not shown.
Binary file modified docs/awtrix2_flasher/firmware/partitions.bin
Binary file not shown.
Binary file modified docs/ulanzi_flasher/firmware/firmware.bin
Binary file not shown.
Binary file modified docs/ulanzi_flasher/firmware/partitions.bin
Binary file not shown.
Loading

0 comments on commit 9d17f4e

Please sign in to comment.