C5
This commit is contained in:
4
.github/workflows/beta.yml
vendored
4
.github/workflows/beta.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
board: [esp32, esp32-s3, esp32-s3-oct, esp32-c3, esp32-c6, esp32-h2, esp32-solo1, esp32-gl-s10, esp32-p4]
|
board: [esp32, esp32-s3, esp32-s3-oct, esp32-c3, esp32-c5, esp32-c6, esp32-h2, esp32-solo1, esp32-gl-s10, esp32-p4]
|
||||||
build: [release]
|
build: [release]
|
||||||
env:
|
env:
|
||||||
BOARD: ${{ matrix.board }}
|
BOARD: ${{ matrix.board }}
|
||||||
@@ -36,7 +36,7 @@ jobs:
|
|||||||
key: ${{ runner.os }}-pio-${{ matrix.board }}
|
key: ${{ runner.os }}-pio-${{ matrix.board }}
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.11'
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: make deps
|
run: make deps
|
||||||
- name: Add version info
|
- name: Add version info
|
||||||
|
|||||||
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
board: [esp32, esp32-s3, esp32-s3-oct, esp32-c3, esp32-c6, esp32-h2, esp32-solo1, esp32-gl-s10, esp32-p4]
|
board: [esp32, esp32-s3, esp32-s3-oct, esp32-c3, esp32-c5, esp32-c6, esp32-h2, esp32-solo1, esp32-gl-s10, esp32-p4]
|
||||||
build: [release]
|
build: [release]
|
||||||
env:
|
env:
|
||||||
BOARD: ${{ matrix.board }}
|
BOARD: ${{ matrix.board }}
|
||||||
@@ -42,7 +42,7 @@ jobs:
|
|||||||
key: ${{ runner.os }}-pio-${{ matrix.board }}
|
key: ${{ runner.os }}-pio-${{ matrix.board }}
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.11'
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: make deps
|
run: make deps
|
||||||
- name: Add version info
|
- name: Add version info
|
||||||
|
|||||||
4
.github/workflows/nightly.yml
vendored
4
.github/workflows/nightly.yml
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
board: [esp32, esp32-s3, esp32-s3-oct, esp32-c3, esp32-c6, esp32-h2, esp32-solo1, esp32-gl-s10, esp32-p4]
|
board: [esp32, esp32-s3, esp32-s3-oct, esp32-c3, esp32-c5, esp32-c6, esp32-h2, esp32-solo1, esp32-gl-s10, esp32-p4]
|
||||||
build: [release]
|
build: [release]
|
||||||
env:
|
env:
|
||||||
BOARD: ${{ matrix.board }}
|
BOARD: ${{ matrix.board }}
|
||||||
@@ -58,7 +58,7 @@ jobs:
|
|||||||
key: ${{ runner.os }}-pio-${{ matrix.board }}
|
key: ${{ runner.os }}-pio-${{ matrix.board }}
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.11'
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: make deps
|
run: make deps
|
||||||
- name: Add version info
|
- name: Add version info
|
||||||
|
|||||||
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
board: [esp32, esp32-s3, esp32-s3-oct, esp32-c3, esp32-c6, esp32-h2, esp32-solo1, esp32-gl-s10, esp32-p4]
|
board: [esp32, esp32-s3, esp32-s3-oct, esp32-c3, esp32-c5, esp32-c6, esp32-h2, esp32-solo1, esp32-gl-s10, esp32-p4]
|
||||||
build: [release]
|
build: [release]
|
||||||
env:
|
env:
|
||||||
BOARD: ${{ matrix.board }}
|
BOARD: ${{ matrix.board }}
|
||||||
@@ -36,7 +36,7 @@ jobs:
|
|||||||
key: ${{ runner.os }}-pio-${{ matrix.board }}
|
key: ${{ runner.os }}-pio-${{ matrix.board }}
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.11'
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: make deps
|
run: make deps
|
||||||
- name: Add version info
|
- name: Add version info
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
You can build this project using Docker. Just run the following commands in the console:
|
You can build this project using Docker. Just run the following commands in the console:
|
||||||
|
|
||||||
## Build with PlatformIO (will build for the ESP32, ESP32-S3, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-P4 and ESP32-Solo1)
|
## Build with PlatformIO (will build for the ESP32, ESP32-S3, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2, ESP32-P4 and ESP32-Solo1)
|
||||||
```console
|
```console
|
||||||
git clone https://github.com/technyon/nuki_hub --recursive
|
git clone https://github.com/technyon/nuki_hub --recursive
|
||||||
cd nuki_hub/Docker
|
cd nuki_hub/Docker
|
||||||
|
|||||||
23
README.md
23
README.md
@@ -16,7 +16,7 @@ Feel free to join us on Discord: https://discord.gg/9nPq85bP4p
|
|||||||
|
|
||||||
<b>Supported ESP32 devices:</b>
|
<b>Supported ESP32 devices:</b>
|
||||||
- Nuki Hub is compiled against all ESP32 models with Wi-Fi and Bluetooh Low Energy (BLE) which are supported by ESP-IDF 5.4.1 and Arduino Core 3.2.0.
|
- Nuki Hub is compiled against all ESP32 models with Wi-Fi and Bluetooh Low Energy (BLE) which are supported by ESP-IDF 5.4.1 and Arduino Core 3.2.0.
|
||||||
- Tested stable builds are provided for the ESP32, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2.
|
- Tested stable builds are provided for the ESP32, ESP32-S3, ESP32-C3, ESP32-C5, ESP32-C6 and ESP32-H2.
|
||||||
- Untested builds are provided for the ESP32-P4 (with the ESP32-C6-MINI-1 module for BLE and WiFi) and ESP32-Solo1 (as the developers don't own one).
|
- Untested builds are provided for the ESP32-P4 (with the ESP32-C6-MINI-1 module for BLE and WiFi) and ESP32-Solo1 (as the developers don't own one).
|
||||||
|
|
||||||
<b>Not supported ESP32 devices:</b>
|
<b>Not supported ESP32 devices:</b>
|
||||||
@@ -55,25 +55,26 @@ See the "[Connecting via Ethernet](#connecting-via-ethernet-optional)" section f
|
|||||||
|
|
||||||
## Recommended ESP32 devices
|
## Recommended ESP32 devices
|
||||||
|
|
||||||
We don't recommend using single-core ESP32 devices (ESP32-C3, ESP32-C6, ESP32-H2, ESP32-Solo1).<br>
|
We don't recommend using the original ESP32 or ESP32-Solo1 devices because these devices experience unexpected crashes related to the (closed-source) BLE controller.<br>
|
||||||
Although Nuki Hub supports single-core devices, Nuki Hub uses both CPU cores (if available) to process tasks (e.g. HTTP server/MQTT client/BLE scanner/BLE client) and thus runs much better on dual-core devices.<br>
|
In newer models (e.g. ESP32-S3, ESP32-P4, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2) these unexpected crashed are seen a lot less.
|
||||||
|
|
||||||
We also don't recommend using the original ESP32 or ESP32-Solo1 devices because these devices experience unexpected crashes related to the (closed-source) BLE controller.<br>
|
When buying a new device in 2025 we generally recommend the ESP32-S3 with PSRAM (look for an ESP32-S3 with the designation N>=4 and R>=2 such as an ESP32-S3 N16R8).<br>
|
||||||
In all newer models (e.g. ESP32-S3, ESP32-P4, ESP32-C3, ESP32-C6, ESP32-H2) these unexpected crashed haven't been seen.
|
|
||||||
|
|
||||||
When buying a new device in 2025 we can only recommend the ESP32-S3 with PSRAM (look for an ESP32-S3 with the designation N>=4 and R>=2 such as an ESP32-S3 N16R8).<br>
|
|
||||||
The ESP32-S3 is a dual-core CPU with many GPIO's, ability to enlarge RAM using PSRAM, ability to connect Ethernet modules over SPI and optionally power the device with a PoE splitter.<br>
|
The ESP32-S3 is a dual-core CPU with many GPIO's, ability to enlarge RAM using PSRAM, ability to connect Ethernet modules over SPI and optionally power the device with a PoE splitter.<br>
|
||||||
The only functions missing from the ESP32-S3 as compared to other ESP devices is the ability to use some Ethernet modules only supported by the original ESP32 (and ESP32-P4) and the ability to connect over WIFI6 (C6 or ESP32-P4 with C6 module)
|
The only functions missing from the ESP32-S3 as compared to other ESP devices is the ability to use some Ethernet modules only supported by the original ESP32 (and ESP32-P4) and the ability to connect over WIFI6 (C5, C6 or ESP32-P4 with C6 module)
|
||||||
|
|
||||||
|
The ESP32-C5 with PSRAM is a good option providing higher clockspeeds than the C6 and adding PSRAM and WIFI 6 on the 5 Ghz band support.
|
||||||
|
Nuki Hub uses both CPU cores (if available) to process tasks (e.g. HTTP server/MQTT client/BLE scanner/BLE client) and thus runs better on dual-core devices.<br>
|
||||||
|
|
||||||
We provide a build for the ESP32-P4 with ESP32-C6-MINI-1 module for BLE/WiFi but this device is untested as of now.
|
We provide a build for the ESP32-P4 with ESP32-C6-MINI-1 module for BLE/WiFi but this device is untested as of now.
|
||||||
|
|
||||||
Other considerations:
|
Other considerations:
|
||||||
- If Ethernet/PoE is required: An ESP32-S3 with PSRAM in combination with a SPI Ethernet module ([W5500](https://www.aliexpress.com/w/wholesale-w5500.html)) and [PoE to Ethernet and USB type B/C splitter](https://aliexpress.com/w/wholesale-poe-splitter-usb-c.html) or the LilyGO-T-ETH ELite, LilyGO-T-ETH-Lite-ESP32S3 or M5stack Atom S3R with the M5stack AtomPoe W5500 module
|
- If Ethernet/PoE is required: An ESP32-S3 with PSRAM in combination with a SPI Ethernet module ([W5500](https://www.aliexpress.com/w/wholesale-w5500.html)) and [PoE to Ethernet and USB type B/C splitter](https://aliexpress.com/w/wholesale-poe-splitter-usb-c.html) or the LilyGO-T-ETH ELite, LilyGO-T-ETH-Lite-ESP32S3 or M5stack Atom S3R with the M5stack AtomPoe W5500 module
|
||||||
- If WIFI6 is absolutely required (it probably isn't): ESP32-C6 or ESP32-P4 with ESP32-C6-MINI-1 module (UNTESTED)
|
- If WIFI6 is required: ESP32-C5, ESP32-C6 or ESP32-P4 with ESP32-C6-MINI-1 module (UNTESTED)
|
||||||
|
|
||||||
Devices ranked best-to-worst:
|
Devices ranked best-to-worst:
|
||||||
- ESP32-P4 with ESP32-C6-MINI-1 module (UNTESTED)
|
- ESP32-P4 with ESP32-C6-MINI-1 module (UNTESTED)
|
||||||
- ESP32-S3 with PSRAM
|
- ESP32-S3 with PSRAM
|
||||||
|
- ESP32-C5 with PSRAM
|
||||||
- ...... <br>
|
- ...... <br>
|
||||||
(Devices below will not support some Nuki Hub functions, be slower and/or are more likely to experience unexpected crashes)
|
(Devices below will not support some Nuki Hub functions, be slower and/or are more likely to experience unexpected crashes)
|
||||||
- ESP32-S3 without PSRAM
|
- ESP32-S3 without PSRAM
|
||||||
@@ -83,6 +84,7 @@ Devices ranked best-to-worst:
|
|||||||
- ESP32 without PSRAM
|
- ESP32 without PSRAM
|
||||||
- ...... <br>
|
- ...... <br>
|
||||||
(Devices below will not support more Nuki Hub functions, be slower and/or are more likely to experience unexpected crashes)
|
(Devices below will not support more Nuki Hub functions, be slower and/or are more likely to experience unexpected crashes)
|
||||||
|
- ESP32-C5
|
||||||
- ESP32-C6
|
- ESP32-C6
|
||||||
- ESP32-solo1
|
- ESP32-solo1
|
||||||
- ESP32-C3
|
- ESP32-C3
|
||||||
@@ -189,6 +191,7 @@ On version >=9.10 of Nuki Hub with only a Nuki Lock connected the expected free
|
|||||||
- ESP32: 70.000 bytes
|
- ESP32: 70.000 bytes
|
||||||
- ESP32 with PSRAM: 110.000 bytes + PSRAM
|
- ESP32 with PSRAM: 110.000 bytes + PSRAM
|
||||||
- ESP32-C3: 90.000 bytes
|
- ESP32-C3: 90.000 bytes
|
||||||
|
- ESP32-C5: TBD bytes
|
||||||
- ESP32-C6: 200.000 bytes
|
- ESP32-C6: 200.000 bytes
|
||||||
- ESP32-S3 130.000 bytes
|
- ESP32-S3 130.000 bytes
|
||||||
- ESP32-S3 with PSRAM: 180.000 bytes + PSRAM
|
- ESP32-S3 with PSRAM: 180.000 bytes + PSRAM
|
||||||
@@ -943,7 +946,7 @@ Now connect via Wi-Fi and change the network hardware to "Generic W5500".<br>
|
|||||||
|
|
||||||
If Ethernet hardware isn't detected or initialised properly after changing the network device, Wi-Fi will be used as a fallback.<br>
|
If Ethernet hardware isn't detected or initialised properly after changing the network device, Wi-Fi will be used as a fallback.<br>
|
||||||
<br>
|
<br>
|
||||||
Note: LAN8720 modules are only supported on the ESP32, ESP32-P4 and ESP32-Solo1, not on the ESP32-S3, ESP32-C3 or ESP-C6<br>
|
Note: LAN8720 modules are only supported on the ESP32, ESP32-P4 and ESP32-Solo1, not on the ESP32-S3, ESP32-C3, ESP32-C5 or ESP-C6<br>
|
||||||
|
|
||||||
## FAQ / Troubleshooting
|
## FAQ / Troubleshooting
|
||||||
|
|
||||||
|
|||||||
31
boards/nuki-esp32-c5.json
Normal file
31
boards/nuki-esp32-c5.json
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"build": {
|
||||||
|
"core": "esp32",
|
||||||
|
"f_cpu": "240000000L",
|
||||||
|
"f_flash": "80000000L",
|
||||||
|
"flash_mode": "qio",
|
||||||
|
"mcu": "esp32c5",
|
||||||
|
"variant": "esp32c5"
|
||||||
|
},
|
||||||
|
"connectivity": [
|
||||||
|
"bluetooth",
|
||||||
|
"wifi"
|
||||||
|
],
|
||||||
|
"debug": {
|
||||||
|
"openocd_target": "esp32c5.cfg"
|
||||||
|
},
|
||||||
|
"frameworks": [
|
||||||
|
"arduino",
|
||||||
|
"espidf"
|
||||||
|
],
|
||||||
|
"name": "ESP32-C5 (>=4MB QD, QUAD OR NO PSRAM)",
|
||||||
|
"upload": {
|
||||||
|
"flash_size": "4MB",
|
||||||
|
"maximum_ram_size": 327680,
|
||||||
|
"maximum_size": 4194304,
|
||||||
|
"require_upload_port": true,
|
||||||
|
"speed": 460800
|
||||||
|
},
|
||||||
|
"url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/user_guide.html",
|
||||||
|
"vendor": "Espressif"
|
||||||
|
}
|
||||||
@@ -70,20 +70,20 @@
|
|||||||
<div id="URL_based_input" class="collapsible">
|
<div id="URL_based_input" class="collapsible">
|
||||||
<select id="pick-variant-selector">
|
<select id="pick-variant-selector">
|
||||||
<optgroup label="Release version">
|
<optgroup label="Release version">
|
||||||
<option label="NukiHub Default (ESP32, ESP32-C3, ESP32-C6, ESP32-S3, ESP32-P4)" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest.json"></option>
|
<option label="NukiHub Default (ESP32, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-S3, ESP32-P4)" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest.json"></option>
|
||||||
<option label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest_s3octal.json"></option>
|
<option label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest_s3octal.json"></option>
|
||||||
<option label="NukiHub ESP32-SOLO1" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest_solo1.json"></option>
|
<option label="NukiHub ESP32-SOLO1" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest_solo1.json"></option>
|
||||||
<option label="NukiHub GL-S10" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest_gls10.json"></option>
|
<option label="NukiHub GL-S10" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest_gls10.json"></option>
|
||||||
</optgroup>
|
</optgroup>
|
||||||
<optgroup label="Beta version">
|
<optgroup label="Beta version">
|
||||||
<option class="beta" label="NukiHub Default (ESP32, ESP32-C3, ESP32-C6, ESP32-S3, ESP32-P4)" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest.json"></option>
|
<option class="beta" label="NukiHub Default (ESP32, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-S3, ESP32-P4)" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest.json"></option>
|
||||||
<option class="beta" label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest_s3octal.json"></option>
|
<option class="beta" label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest_s3octal.json"></option>
|
||||||
<option class="beta" label="NukiHub GL-S10" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest_gls10.json"></option>
|
<option class="beta" label="NukiHub GL-S10" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest_gls10.json"></option>
|
||||||
<option class="beta" label="NukiHub ESP32-SOLO1" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest_solo1.json"></option>
|
<option class="beta" label="NukiHub ESP32-SOLO1" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest_solo1.json"></option>
|
||||||
<option class="beta" label="No Beta available" disabled value=""></option>
|
<option class="beta" label="No Beta available" disabled value=""></option>
|
||||||
</optgroup>
|
</optgroup>
|
||||||
<optgroup label="Development version">
|
<optgroup label="Development version">
|
||||||
<option label="NukiHub Default (ESP32, ESP32-C3, ESP32-C6, ESP32-S3, ESP32-P4)" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest.json"></option>
|
<option label="NukiHub Default (ESP32, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-S3, ESP32-P4)" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest.json"></option>
|
||||||
<option label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest_s3octal.json"></option>
|
<option label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest_s3octal.json"></option>
|
||||||
<option label="NukiHub ESP32-SOLO1" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest_solo1.json"></option>
|
<option label="NukiHub ESP32-SOLO1" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest_solo1.json"></option>
|
||||||
<option label="NukiHub GL-S10" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest_gls10.json"></option>
|
<option label="NukiHub GL-S10" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest_gls10.json"></option>
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
#include <Arduino.h>
|
|
||||||
|
|
||||||
void setup() {
|
|
||||||
// put your setup code here, to run once:
|
|
||||||
}
|
|
||||||
|
|
||||||
void loop() {
|
|
||||||
// put your main code here, to run repeatedly:
|
|
||||||
}
|
|
||||||
@@ -141,7 +141,7 @@ void start_async_req_workers(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Calculate the maximum size needed for the scratch buffer */
|
/* Calculate the maximum size needed for the scratch buffer */
|
||||||
#define HTTPD_SCRATCH_BUF MAX(HTTPD_MAX_REQ_HDR_LEN, HTTPD_MAX_URI_LEN)
|
#define HTTPD_SCRATCH_BUF MAX(CONFIG_HTTPD_MAX_REQ_HDR_LEN, CONFIG_HTTPD_MAX_URI_LEN)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Auxiliary data structure for use during reception and processing
|
* @brief Auxiliary data structure for use during reception and processing
|
||||||
@@ -169,55 +169,4 @@ struct httpd_req_aux
|
|||||||
bool ws_final; /*!< WebSocket FIN bit (final frame or not) */
|
bool ws_final; /*!< WebSocket FIN bit (final frame or not) */
|
||||||
uint8_t mask_key[4]; /*!< WebSocket mask key for this payload */
|
uint8_t mask_key[4]; /*!< WebSocket mask key for this payload */
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
esp_err_t httpd_req_async_handler_begin(httpd_req_t* r, httpd_req_t** out)
|
|
||||||
{
|
|
||||||
if (r == NULL || out == NULL)
|
|
||||||
{
|
|
||||||
return ESP_ERR_INVALID_ARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
// alloc async req
|
|
||||||
httpd_req_t* async = (httpd_req_t*)malloc(sizeof(httpd_req_t));
|
|
||||||
if (async == NULL)
|
|
||||||
{
|
|
||||||
return ESP_ERR_NO_MEM;
|
|
||||||
}
|
|
||||||
memcpy((void*)async, (void*)r, sizeof(httpd_req_t));
|
|
||||||
|
|
||||||
// alloc async aux
|
|
||||||
async->aux = (httpd_req_aux*)malloc(sizeof(struct httpd_req_aux));
|
|
||||||
if (async->aux == NULL)
|
|
||||||
{
|
|
||||||
free(async);
|
|
||||||
return ESP_ERR_NO_MEM;
|
|
||||||
}
|
|
||||||
memcpy(async->aux, r->aux, sizeof(struct httpd_req_aux));
|
|
||||||
|
|
||||||
// not available in 4.4.x
|
|
||||||
// mark socket as "in use"
|
|
||||||
// struct httpd_req_aux *ra = r->aux;
|
|
||||||
// ra->sd->for_async_req = true;
|
|
||||||
|
|
||||||
*out = async;
|
|
||||||
|
|
||||||
return ESP_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
esp_err_t httpd_req_async_handler_complete(httpd_req_t* r)
|
|
||||||
{
|
|
||||||
if (r == NULL)
|
|
||||||
{
|
|
||||||
return ESP_ERR_INVALID_ARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
// not available in 4.4.x
|
|
||||||
// struct httpd_req_aux *ra = (httpd_req_aux *)r->aux;
|
|
||||||
// ra->sd->for_async_req = false;
|
|
||||||
|
|
||||||
free(r->aux);
|
|
||||||
free(r);
|
|
||||||
|
|
||||||
return ESP_OK;
|
|
||||||
}
|
|
||||||
Submodule lib/nuki_ble updated: cf762e7dbd...893b6bb7f0
1
partitions_c5.csv
Normal file
1
partitions_c5.csv
Normal file
@@ -0,0 +1 @@
|
|||||||
|
# Espressif ESP32 Partition Table
|
||||||
|
@@ -38,34 +38,6 @@ def copy_files(source, target, env):
|
|||||||
else:
|
else:
|
||||||
shutil.copy(file, f"{target_dir}/{file.name}")
|
shutil.copy(file, f"{target_dir}/{file.name}")
|
||||||
|
|
||||||
def merge_bin(source, target, env):
|
|
||||||
#if not env.get('BUILD_TYPE') in ['release']:
|
|
||||||
# return
|
|
||||||
|
|
||||||
board = get_board_name(env)
|
|
||||||
chip = env.get('BOARD_MCU')
|
|
||||||
target_dir = create_target_dir(env)
|
|
||||||
target_file = f"{target_dir}/webflash_nuki_hub_{board}.bin"
|
|
||||||
|
|
||||||
app_position = "0x10000"
|
|
||||||
app_path = target[0].get_abspath()
|
|
||||||
|
|
||||||
flash_args = list()
|
|
||||||
flash_args.append(app_position)
|
|
||||||
flash_args.append(app_path)
|
|
||||||
|
|
||||||
for position, bin_file in env.get('FLASH_EXTRA_IMAGES'):
|
|
||||||
if "boot_app0.bin" in bin_file:
|
|
||||||
bin_file = "resources/boot_app0.bin"
|
|
||||||
flash_args.append(position)
|
|
||||||
flash_args.append(bin_file)
|
|
||||||
|
|
||||||
flash_args.append("0x270000")
|
|
||||||
flash_args.append(f"{target_dir}/nuki_hub_updater_{board}.bin")
|
|
||||||
|
|
||||||
cmd = f"esptool.py --chip {chip} merge_bin -o {target_file} --flash_mode dio --flash_freq keep --flash_size keep " + " ".join(flash_args)
|
|
||||||
env.Execute(cmd)
|
|
||||||
|
|
||||||
def package_last_files(source, target, env):
|
def package_last_files(source, target, env):
|
||||||
files = ["resources/boot_app0.bin", "resources/how-to-flash.txt"]
|
files = ["resources/boot_app0.bin", "resources/how-to-flash.txt"]
|
||||||
|
|
||||||
@@ -79,6 +51,4 @@ env.AddPostAction("$PROJECT_DIR/updater/release/" + get_board_name(env) + "/upda
|
|||||||
env.AddPostAction("$BUILD_DIR/firmware.bin", package_last_files)
|
env.AddPostAction("$BUILD_DIR/firmware.bin", package_last_files)
|
||||||
env.AddPostAction("$BUILD_DIR/partitions.bin", copy_files)
|
env.AddPostAction("$BUILD_DIR/partitions.bin", copy_files)
|
||||||
env.AddPostAction("$BUILD_DIR/bootloader.bin", copy_files)
|
env.AddPostAction("$BUILD_DIR/bootloader.bin", copy_files)
|
||||||
env.AddPostAction("$BUILD_DIR/firmware.elf", copy_files)
|
env.AddPostAction("$BUILD_DIR/firmware.elf", copy_files)
|
||||||
|
|
||||||
#env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", merge_bin)
|
|
||||||
@@ -13,7 +13,7 @@ default_envs = esp32
|
|||||||
boards_dir = boards
|
boards_dir = boards
|
||||||
|
|
||||||
[env]
|
[env]
|
||||||
platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.20/platform-espressif32.zip
|
platform = https://github.com/pioarduino/platform-espressif32/archive/refs/heads/develop_33.zip
|
||||||
platform_packages =
|
platform_packages =
|
||||||
framework = arduino, espidf
|
framework = arduino, espidf
|
||||||
board_build.embed_txtfiles =
|
board_build.embed_txtfiles =
|
||||||
@@ -104,6 +104,14 @@ extends = env:esp32
|
|||||||
board = nuki-esp32-s3-oct
|
board = nuki-esp32-s3-oct
|
||||||
board_build.cmake_extra_args =
|
board_build.cmake_extra_args =
|
||||||
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.release.defaults;sdkconfig.defaults.esp32-s3-oct"
|
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.release.defaults;sdkconfig.defaults.esp32-s3-oct"
|
||||||
|
|
||||||
|
[env:esp32-c5]
|
||||||
|
extends = env:esp32
|
||||||
|
board_build.embed_txtfiles =
|
||||||
|
board_build.partitions = partitions_c5.csv
|
||||||
|
board = nuki-esp32-c5
|
||||||
|
board_build.cmake_extra_args =
|
||||||
|
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.release.defaults;sdkconfig.defaults.esp32-c5;sdkconfig.singlecore.defaults"
|
||||||
|
|
||||||
[env:esp32-c6]
|
[env:esp32-c6]
|
||||||
extends = env:esp32
|
extends = env:esp32
|
||||||
@@ -183,6 +191,18 @@ build_flags =
|
|||||||
-DCONFIG_BT_NIMBLE_LOG_LEVEL=0
|
-DCONFIG_BT_NIMBLE_LOG_LEVEL=0
|
||||||
-DDEBUG_NUKIHUB
|
-DDEBUG_NUKIHUB
|
||||||
|
|
||||||
|
[env:esp32-c5_dbg]
|
||||||
|
extends = env:esp32-c5
|
||||||
|
custom_build = debug
|
||||||
|
board_build.cmake_extra_args =
|
||||||
|
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.debug.defaults;sdkconfig.defaults.esp32-c5;sdkconfig.singlecore.defaults"
|
||||||
|
build_flags =
|
||||||
|
${env.build_flags}
|
||||||
|
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
|
||||||
|
-DCONFIG_NIMBLE_CPP_LOG_LEVEL=0
|
||||||
|
-DCONFIG_BT_NIMBLE_LOG_LEVEL=0
|
||||||
|
-DDEBUG_NUKIHUB
|
||||||
|
|
||||||
[env:esp32-c6_dbg]
|
[env:esp32-c6_dbg]
|
||||||
extends = env:esp32-c6
|
extends = env:esp32-c6
|
||||||
custom_build = debug
|
custom_build = debug
|
||||||
|
|||||||
@@ -57,6 +57,13 @@ e000 boot_app0.bin
|
|||||||
10000 nuki_hub_esp32c3.bin
|
10000 nuki_hub_esp32c3.bin
|
||||||
270000 nuki_hub_updater_esp32c3.bin
|
270000 nuki_hub_updater_esp32c3.bin
|
||||||
|
|
||||||
|
ESP32-C5
|
||||||
|
e000 boot_app0.bin
|
||||||
|
2000 nuki_hub_bootloader_esp32c5.bin
|
||||||
|
8000 nuki_hub_partitions_esp32c5.bin
|
||||||
|
10000 nuki_hub_esp32c5.bin
|
||||||
|
260000 nuki_hub_updater_esp32c5.bin
|
||||||
|
|
||||||
ESP32-C6
|
ESP32-C6
|
||||||
e000 boot_app0.bin
|
e000 boot_app0.bin
|
||||||
0 nuki_hub_bootloader_esp32c6.bin
|
0 nuki_hub_bootloader_esp32c6.bin
|
||||||
@@ -117,6 +124,10 @@ esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default_res
|
|||||||
|
|
||||||
esptool.py --chip esp32c3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32c3.bin 0x10000 nuki_hub_esp32c3.bin 0x270000 nuki_hub_updater_esp32c3.bin 0x8000 nuki_hub_partitions_esp32c3.bin
|
esptool.py --chip esp32c3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32c3.bin 0x10000 nuki_hub_esp32c3.bin 0x270000 nuki_hub_updater_esp32c3.bin 0x8000 nuki_hub_partitions_esp32c3.bin
|
||||||
|
|
||||||
|
## ESP32-C5
|
||||||
|
|
||||||
|
esptool.py --chip esp32c5 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x2000 nuki_hub_bootloader_esp32c5.bin 0x10000 nuki_hub_esp32c5.bin 0x260000 nuki_hub_updater_esp32c5.bin 0x8000 nuki_hub_partitions_esp32c5.bin
|
||||||
|
|
||||||
## ESP32-C6
|
## ESP32-C6
|
||||||
|
|
||||||
esptool.py --chip esp32c6 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32c6.bin 0x10000 nuki_hub_esp32c6.bin 0x270000 nuki_hub_updater_esp32c6.bin 0x8000 nuki_hub_partitions_esp32c6.bin
|
esptool.py --chip esp32c6 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32c6.bin 0x10000 nuki_hub_esp32c6.bin 0x270000 nuki_hub_updater_esp32c6.bin 0x8000 nuki_hub_partitions_esp32c6.bin
|
||||||
|
|||||||
6
sdkconfig.defaults.esp32-c5
Normal file
6
sdkconfig.defaults.esp32-c5
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
CONFIG_SPIRAM=y
|
||||||
|
CONFIG_SPIRAM_IGNORE_NOTFOUND=y
|
||||||
|
CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
|
||||||
|
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT=y
|
||||||
|
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
|
||||||
|
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=50768
|
||||||
17
src/Config.h
17
src/Config.h
@@ -5,7 +5,7 @@
|
|||||||
#define NUKI_HUB_VERSION "9.11"
|
#define NUKI_HUB_VERSION "9.11"
|
||||||
#define NUKI_HUB_VERSION_INT (uint32_t)911
|
#define NUKI_HUB_VERSION_INT (uint32_t)911
|
||||||
#define NUKI_HUB_BUILD "unknownbuildnr"
|
#define NUKI_HUB_BUILD "unknownbuildnr"
|
||||||
#define NUKI_HUB_DATE "2025-04-19"
|
#define NUKI_HUB_DATE "2025-05-17"
|
||||||
|
|
||||||
#define GITHUB_LATEST_RELEASE_URL (char*)"https://github.com/technyon/nuki_hub/releases/latest"
|
#define GITHUB_LATEST_RELEASE_URL (char*)"https://github.com/technyon/nuki_hub/releases/latest"
|
||||||
#define GITHUB_OTA_MANIFEST_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/manifest.json"
|
#define GITHUB_OTA_MANIFEST_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/manifest.json"
|
||||||
@@ -61,6 +61,21 @@
|
|||||||
#define NUKI_HUB_HW (char*)"ESP32-S3"
|
#define NUKI_HUB_HW (char*)"ESP32-S3"
|
||||||
#define BOOT_BUTTON_GPIO (gpio_num_t)0
|
#define BOOT_BUTTON_GPIO (gpio_num_t)0
|
||||||
#endif
|
#endif
|
||||||
|
#elif defined(CONFIG_IDF_TARGET_ESP32C5)
|
||||||
|
#define GITHUB_LATEST_RELEASE_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32c5.bin"
|
||||||
|
#define GITHUB_LATEST_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_updater_esp32c5.bin"
|
||||||
|
#define GITHUB_BETA_RELEASE_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32c5.bin"
|
||||||
|
#define GITHUB_BETA_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_updater_esp32c5.bin"
|
||||||
|
#define GITHUB_MASTER_RELEASE_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32c5.bin"
|
||||||
|
#define GITHUB_MASTER_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_updater_esp32c5.bin"
|
||||||
|
#define GITHUB_LATEST_RELEASE_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/nuki_hub_esp32c5.bin"
|
||||||
|
#define GITHUB_LATEST_UPDATER_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/nuki_hub_updater_esp32c5.bin"
|
||||||
|
#define GITHUB_BETA_RELEASE_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/beta/nuki_hub_esp32c5.bin"
|
||||||
|
#define GITHUB_BETA_UPDATER_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/beta/nuki_hub_updater_esp32c5.bin"
|
||||||
|
#define GITHUB_MASTER_RELEASE_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/master/nuki_hub_esp32c5.bin"
|
||||||
|
#define GITHUB_MASTER_UPDATER_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/master/nuki_hub_updater_esp32c5.bin"
|
||||||
|
#define NUKI_HUB_HW (char*)"ESP32-C5"
|
||||||
|
#define BOOT_BUTTON_GPIO (gpio_num_t)28
|
||||||
#elif defined(CONFIG_IDF_TARGET_ESP32C6)
|
#elif defined(CONFIG_IDF_TARGET_ESP32C6)
|
||||||
#define GITHUB_LATEST_RELEASE_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32c6.bin"
|
#define GITHUB_LATEST_RELEASE_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32c6.bin"
|
||||||
#define GITHUB_LATEST_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_updater_esp32c6.bin"
|
#define GITHUB_LATEST_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_updater_esp32c6.bin"
|
||||||
|
|||||||
14
src/Gpio.h
14
src/Gpio.h
@@ -85,16 +85,22 @@ private:
|
|||||||
static void IRAM_ATTR isrOnTimer();
|
static void IRAM_ATTR isrOnTimer();
|
||||||
|
|
||||||
#if defined(CONFIG_IDF_TARGET_ESP32C3)
|
#if defined(CONFIG_IDF_TARGET_ESP32C3)
|
||||||
//Based on https://docs.espressif.com/projects/esp-idf/en/stable/esp32c3/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf
|
//Based on https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf
|
||||||
const std::vector<uint8_t> _availablePins = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 18, 19, 20, 21 };
|
const std::vector<uint8_t> _availablePins = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 18, 19, 20, 21 };
|
||||||
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
|
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
|
||||||
//Based on https://github.com/atomic14/esp32-s3-pinouts?tab=readme-ov-file and https://docs.espressif.com/projects/esp-idf/en/v5.3/esp32s3/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf
|
//Based on https://github.com/atomic14/esp32-s3-pinouts?tab=readme-ov-file and https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf
|
||||||
const std::vector<uint8_t> _availablePins = { 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 38, 39, 40, 41, 42 };
|
const std::vector<uint8_t> _availablePins = { 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 38, 39, 40, 41, 42 };
|
||||||
|
#elif defined(CONFIG_IDF_TARGET_ESP32C5)
|
||||||
|
//Based on https://docs.espressif.com/projects/esp-idf/en/latest/esp32c5/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-c5_datasheet_en.pdf
|
||||||
|
const std::vector<uint8_t> _availablePins = { 0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 23, 24, 26 };
|
||||||
#elif defined(CONFIG_IDF_TARGET_ESP32C6)
|
#elif defined(CONFIG_IDF_TARGET_ESP32C6)
|
||||||
//Based on https://docs.espressif.com/projects/esp-idf/en/v5.3/esp32c6/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf
|
//Based on https://docs.espressif.com/projects/esp-idf/en/latest/esp32c6/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf
|
||||||
const std::vector<uint8_t> _availablePins = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23 };
|
const std::vector<uint8_t> _availablePins = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23 };
|
||||||
|
#elif defined(CONFIG_IDF_TARGET_ESP32P4)
|
||||||
|
//Based on https://docs.espressif.com/projects/esp-idf/en/latest/esp32p4/api-reference/peripherals/gpio.html
|
||||||
|
const std::vector<uint8_t> _availablePins = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 };
|
||||||
#elif defined(CONFIG_IDF_TARGET_ESP32H2)
|
#elif defined(CONFIG_IDF_TARGET_ESP32H2)
|
||||||
//Based on https://docs.espressif.com/projects/esp-idf/en/v5.3/esp32h2/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf
|
//Based on https://docs.espressif.com/projects/esp-idf/en/latest/esp32h2/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf
|
||||||
const std::vector<uint8_t> _availablePins = { 0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 22, 23, 24, 25, 26, 27 };
|
const std::vector<uint8_t> _availablePins = { 0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 22, 23, 24, 25, 26, 27 };
|
||||||
#else
|
#else
|
||||||
//Based on https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
|
//Based on https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ dependencies:
|
|||||||
|
|
||||||
esp-nimble-cpp:
|
esp-nimble-cpp:
|
||||||
git: https://github.com/h2zero/esp-nimble-cpp.git
|
git: https://github.com/h2zero/esp-nimble-cpp.git
|
||||||
version: 0172cb4b394949e89ebe1d79b4a9787b481d890c
|
version: da9450dbdb60b56bca15f431e137c912b11114bb
|
||||||
|
|
||||||
espressif/libsodium: "^1.0.20~2"
|
espressif/libsodium: "^1.0.20~2"
|
||||||
|
|
||||||
|
|||||||
@@ -91,6 +91,7 @@
|
|||||||
<optgroup label="Release version">
|
<optgroup label="Release version">
|
||||||
<option label="NukiHub ESP32" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32.elf"></option>
|
<option label="NukiHub ESP32" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32.elf"></option>
|
||||||
<option label="NukiHub ESP32-C3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32c3.elf"></option>
|
<option label="NukiHub ESP32-C3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32c3.elf"></option>
|
||||||
|
<option label="NukiHub ESP32-C5" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32c5.elf"></option>
|
||||||
<option label="NukiHub ESP32-C6" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32c6.elf"></option>
|
<option label="NukiHub ESP32-C6" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32c6.elf"></option>
|
||||||
<option label="NukiHub ESP32-S3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32s3.elf"></option>
|
<option label="NukiHub ESP32-S3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32s3.elf"></option>
|
||||||
<option label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32s3oct.elf"></option>
|
<option label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32s3oct.elf"></option>
|
||||||
@@ -101,6 +102,7 @@
|
|||||||
<optgroup label="Beta version">
|
<optgroup label="Beta version">
|
||||||
<option class="beta" label="NukiHub ESP32" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32.elf"></option>
|
<option class="beta" label="NukiHub ESP32" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32.elf"></option>
|
||||||
<option class="beta" label="NukiHub ESP32-C3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32c3.elf"></option>
|
<option class="beta" label="NukiHub ESP32-C3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32c3.elf"></option>
|
||||||
|
<option class="beta" label="NukiHub ESP32-C5" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32c5.elf"></option>
|
||||||
<option class="beta" label="NukiHub ESP32-C6" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32c6.elf"></option>
|
<option class="beta" label="NukiHub ESP32-C6" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32c6.elf"></option>
|
||||||
<option class="beta" label="NukiHub ESP32-S3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32s3.elf"></option>
|
<option class="beta" label="NukiHub ESP32-S3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32s3.elf"></option>
|
||||||
<option class="beta" label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32s3oct.elf"></option>
|
<option class="beta" label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32s3oct.elf"></option>
|
||||||
@@ -112,6 +114,7 @@
|
|||||||
<optgroup label="Development version">
|
<optgroup label="Development version">
|
||||||
<option label="NukiHub ESP32" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32.elf"></option>
|
<option label="NukiHub ESP32" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32.elf"></option>
|
||||||
<option label="NukiHub ESP32-C3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32c3.elf"></option>
|
<option label="NukiHub ESP32-C3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32c3.elf"></option>
|
||||||
|
<option label="NukiHub ESP32-C5" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32c5.elf"></option>
|
||||||
<option label="NukiHub ESP32-C6" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32c6.elf"></option>
|
<option label="NukiHub ESP32-C6" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32c6.elf"></option>
|
||||||
<option label="NukiHub ESP32-S3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32s3.elf"></option>
|
<option label="NukiHub ESP32-S3" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32s3.elf"></option>
|
||||||
<option label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32s3oct.elf"></option>
|
<option label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32s3oct.elf"></option>
|
||||||
|
|||||||
1
updater/partitions_c5.csv
Normal file
1
updater/partitions_c5.csv
Normal file
@@ -0,0 +1 @@
|
|||||||
|
# Espressif ESP32 Partition Table
|
||||||
|
@@ -13,7 +13,7 @@ default_envs = updater_esp32
|
|||||||
boards_dir = ../boards
|
boards_dir = ../boards
|
||||||
|
|
||||||
[env]
|
[env]
|
||||||
platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.20/platform-espressif32.zip
|
platform = https://github.com/pioarduino/platform-espressif32/archive/refs/heads/develop_33.zip
|
||||||
platform_packages =
|
platform_packages =
|
||||||
framework = arduino, espidf
|
framework = arduino, espidf
|
||||||
board_build.embed_txtfiles =
|
board_build.embed_txtfiles =
|
||||||
@@ -96,6 +96,14 @@ board_build.cmake_extra_args =
|
|||||||
extends = env:updater_esp32
|
extends = env:updater_esp32
|
||||||
board = esp32-c6-devkitm-1
|
board = esp32-c6-devkitm-1
|
||||||
|
|
||||||
|
[env:updater_esp32-c5]
|
||||||
|
board_build.embed_txtfiles =
|
||||||
|
board_build.partitions = partitions_c5.csv
|
||||||
|
extends = env:updater_esp32
|
||||||
|
board = nuki-esp32-c5
|
||||||
|
board_build.cmake_extra_args =
|
||||||
|
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.defaults.esp32-c5"
|
||||||
|
|
||||||
[env:updater_esp32-p4]
|
[env:updater_esp32-p4]
|
||||||
extends = env:updater_esp32
|
extends = env:updater_esp32
|
||||||
board_build.embed_txtfiles =
|
board_build.embed_txtfiles =
|
||||||
|
|||||||
6
updater/sdkconfig.defaults.esp32-c5
Normal file
6
updater/sdkconfig.defaults.esp32-c5
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
CONFIG_SPIRAM=y
|
||||||
|
CONFIG_SPIRAM_IGNORE_NOTFOUND=y
|
||||||
|
CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
|
||||||
|
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT=y
|
||||||
|
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
|
||||||
|
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=50768
|
||||||
Reference in New Issue
Block a user