Skip to content
This repository was archived by the owner on Dec 14, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build_release_bins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- id: set-matrix
run: echo "matrix={\"target_name\":[\"esp32AIThinker\",\"esp32M5Stack\",\"esp32Cam\",\"esp_eye\",\"wrover\",\"wrooms3QIO\",\"wrooms3QIOUSB\",\"wrooms3\",\"wrooms3USB\",\"xiaosenses3\",\"xiaosenses3_USB\"],\"target_build_type\":[\"\", \"_release\"]}" >> $GITHUB_OUTPUT
run: echo "matrix={\"target_name\":[\"esp32AIThinker\",\"esp32M5Stack\",\"esp32M5Stack-Camera-F\",\"esp32Cam\",\"esp_eye\",\"wrover\",\"wrooms3QIO\",\"wrooms3QIOUSB\",\"wrooms3\",\"wrooms3USB\",\"xiaosenses3\",\"xiaosenses3_USB\",\"Babble-wrooms-s3\",\"Babble_USB-wrooms-s3\"],\"target_build_type\":[\"\", \"_release\"]}" >> $GITHUB_OUTPUT

build:
needs: setup
Expand Down
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,34 @@
[![semantic versioning](https://img.shields.io/badge/semantic%20versioning-2.0.0-green.svg)](https://semver.org)
> All notable changes to this project will be documented in this file

## [2.9.1](https://github.com/EyeTrackVR/OpenIris/compare/v2.9.0...v2.9.1) (2025-01-30)


### 🐛 Bug Fixes

* Add babble firmware to CI matrix ([#86](https://github.com/EyeTrackVR/OpenIris/issues/86)) ([28a053d](https://github.com/EyeTrackVR/OpenIris/commit/28a053d65323a4f48ad8de4992fe496ab3e63225))

## [2.9.0](https://github.com/EyeTrackVR/OpenIris/compare/v2.8.0...v2.9.0) (2025-01-28)


### 🍕 Features

* Fix AsyncWebServer dependency ([#85](https://github.com/EyeTrackVR/OpenIris/issues/85)) ([42c3311](https://github.com/EyeTrackVR/OpenIris/commit/42c33112972414cb5121b1052184fd0443de3164))

## [2.8.0](https://github.com/EyeTrackVR/OpenIris/compare/v2.7.0...v2.8.0) (2025-01-15)


### 🍕 Features

* Fix typo in SerialManager ([#84](https://github.com/EyeTrackVR/OpenIris/issues/84)) ([f460867](https://github.com/EyeTrackVR/OpenIris/commit/f4608674978edf5728e495824ed615d9d45f85fd))

## [2.7.0](https://github.com/EyeTrackVR/OpenIris/compare/v2.6.0...v2.7.0) (2025-01-12)


### 🍕 Features

* Release 2.7.0 ([#83](https://github.com/EyeTrackVR/OpenIris/issues/83)) ([c7aef84](https://github.com/EyeTrackVR/OpenIris/commit/c7aef8457eb68fef6713daaf81c6eb23491d9ec7))

## [2.7.0-beta.2](https://github.com/EyeTrackVR/OpenIris/compare/v2.7.0-beta.1...v2.7.0-beta.2) (2025-01-12)


Expand Down
24 changes: 22 additions & 2 deletions ESP/ini/boards.ini
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,22 @@ build_flags = ${env.build_flags}
; CAMERA PINOUT DEFINITIONS
${pinoutsAIThinker.build_flags}

[env:esp32M5Stack-Camera-F]
board = m5stack-timer-cam
build_type = debug
build_flags = ${env.build_flags}
-DDEBUG_MODE=1
-DCORE_DEBUG_LEVEL=4
${pinoutsM5Stack_Camera_F.build_flags}

[env:esp32M5Stack-Camera-F_release]
board = m5stack-timer-cam
build_type = release
build_flags = ${env.build_flags}
-DDEBUG_MODE=0
-DCORE_DEBUG_LEVEL=1
${pinoutsM5Stack_Camera_F.build_flags}

[env:esp32M5Stack]
board = esp32cam
build_type = debug
Expand Down Expand Up @@ -103,6 +119,7 @@ build_type = debug
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=4
-DDEBUG_MODE=1
-DARDUINO_USB_CDC_ON_BOOT=1
-DSERIAL_MANAGER_USE_HIGHER_FREQUENCY
${pinoutsESPS3WROVER.build_flags}
upload_flags = --no-stub
Expand All @@ -114,6 +131,7 @@ build_type = release
build_flags = ${env.build_flags}
-DDEBUG_MODE=0
-DCORE_DEBUG_LEVEL=1
-DARDUINO_USB_CDC_ON_BOOT=1
-DSERIAL_MANAGER_USE_HIGHER_FREQUENCY
${pinoutsESPS3WROVER.build_flags}
upload_flags = --no-stub
Expand Down Expand Up @@ -150,6 +168,7 @@ build_type = debug
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=4
-DDEBUG_MODE=1
-DARDUINO_USB_CDC_ON_BOOT=1
-DSERIAL_MANAGER_USE_HIGHER_FREQUENCY
${pinoutsESPS3WROOM.build_flags}

Expand All @@ -159,6 +178,7 @@ build_type = release
build_flags = ${env.build_flags}
-DDEBUG_MODE=0
-DCORE_DEBUG_LEVEL=1
-DARDUINO_USB_CDC_ON_BOOT=1
-DSERIAL_MANAGER_USE_HIGHER_FREQUENCY
${pinoutsESPS3WROOM.build_flags}

Expand Down Expand Up @@ -199,6 +219,7 @@ build_type = debug
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=4
-DDEBUG_MODE=1
-DARDUINO_USB_CDC_ON_BOOT=1
-DSERIAL_MANAGER_USE_HIGHER_FREQUENCY
${pinoutSWROOMBABBLES3.build_flags}
upload_flags = --no-stub
Expand All @@ -214,6 +235,7 @@ build_type = debug
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=1
-DDEBUG_MODE=0
-DARDUINO_USB_CDC_ON_BOOT=1
-DSERIAL_MANAGER_USE_HIGHER_FREQUENCY
${pinoutSWROOMBABBLES3.build_flags}
upload_flags = --no-stub
Expand Down Expand Up @@ -261,8 +283,6 @@ build_type = debug
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=4
-DDEBUG_MODE=1
#-DARDUINO_USB_MODE=1
#-DARDUINO_USB_CDC_ON_BOOT=1
-DSERIAL_MANAGER_USE_HIGHER_FREQUENCY
${pinoutsESPS3XIAOSENSE.build_flags}

Expand Down
6 changes: 3 additions & 3 deletions ESP/ini/dev_config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
platform = https://github.com/platformio/platform-espressif32.git
framework = arduino
monitor_speed = 115200
custom_firmware_version = 2.7.0
custom_firmware_version = 2.9.1
monitor_rts = 0
monitor_dtr = 0
monitor_filters =
Expand All @@ -18,14 +18,14 @@ monitor_filters =
esp32_exception_decoder
board_build.partitions = min_spiffs.csv
;build_unflags = -Os ; disable optimization for size
lib_compat_mode = strict
lib_ldf_mode = deep+
;115200 is used for compatability - if you are on windows and want the code to flash faster use 921600
upload_speed = 921600
lib_deps =
# https://github.com/espressif/esp32-camera
esp32-camera
https://github.com/me-no-dev/ESPAsyncWebServer.git
https://github.com/me-no-dev/AsyncTCP.git
ESP32Async/ESPAsyncWebServer @ 3.6.0
https://github.com/bblanchon/ArduinoJson.git
extra_scripts =
pre:tools/customname.py
Expand Down
37 changes: 37 additions & 0 deletions ESP/ini/pinouts.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,43 @@
#!! DO NOT CHANGE ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING
# IF YOU ARE A USER DO NOT TOUCH THIS FILE

[pinoutsM5Stack_Camera_F]
pwdn_gpio_num = -1
reset_gpio_num = 15
xclk_gpio_num = 27
siod_gpio_num = 25
sioc_gpio_num = 23
y9_gpio_num = 19
y8_gpio_num = 36
y7_gpio_num = 18
y6_gpio_num = 39
y5_gpio_num = 5
y4_gpio_num = 34
y3_gpio_num = 35
y2_gpio_num = 32
vsync_gpio_num = 22
href_gpio_num = 26
pclk_gpio_num = 21
build_flags =
'-DCAMERA_MODULE_NAME="M5STACK_CAMERA_F"'
-DCONFIG_CAMERA_MODULE_M5STACK_CAMERA_F=1
-DPWDN_GPIO_NUM=${pinoutsM5Stack_Camera_F.PWDN_GPIO_NUM}
-DRESET_GPIO_NUM=${pinoutsM5Stack_Camera_F.RESET_GPIO_NUM}
-DXCLK_GPIO_NUM=${pinoutsM5Stack_Camera_F.XCLK_GPIO_NUM}
-DSIOD_GPIO_NUM=${pinoutsM5Stack_Camera_F.SIOD_GPIO_NUM}
-DSIOC_GPIO_NUM=${pinoutsM5Stack_Camera_F.SIOC_GPIO_NUM}
-DY9_GPIO_NUM=${pinoutsM5Stack_Camera_F.Y9_GPIO_NUM}
-DY8_GPIO_NUM=${pinoutsM5Stack_Camera_F.Y8_GPIO_NUM}
-DY7_GPIO_NUM=${pinoutsM5Stack_Camera_F.Y7_GPIO_NUM}
-DY6_GPIO_NUM=${pinoutsM5Stack_Camera_F.Y6_GPIO_NUM}
-DY5_GPIO_NUM=${pinoutsM5Stack_Camera_F.Y5_GPIO_NUM}
-DY4_GPIO_NUM=${pinoutsM5Stack_Camera_F.Y4_GPIO_NUM}
-DY3_GPIO_NUM=${pinoutsM5Stack_Camera_F.Y3_GPIO_NUM}
-DY2_GPIO_NUM=${pinoutsM5Stack_Camera_F.Y2_GPIO_NUM}
-DVSYNC_GPIO_NUM=${pinoutsM5Stack_Camera_F.VSYNC_GPIO_NUM}
-DHREF_GPIO_NUM=${pinoutsM5Stack_Camera_F.HREF_GPIO_NUM}
-DPCLK_GPIO_NUM=${pinoutsM5Stack_Camera_F.PCLK_GPIO_NUM}

[pinoutsESPCAM_M5STACK]
pwdn_gpio_num = -1
reset_gpio_num = 15
Expand Down
2 changes: 1 addition & 1 deletion ESP/lib/library.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"include": "/lib/src"
},
"dependencies": {},
"version": "2.7.0",
"version": "2.9.1",
"frameworks": "arduino",
"platforms": "espressif32"
}
2 changes: 1 addition & 1 deletion ESP/lib/src/io/Serial/SerialManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ void SerialManager::send_frame() {
#endif

void SerialManager::init() {
#ifndef SERIAL_MANAGER_USE_HIGHER_FREQUENCY
#ifdef SERIAL_MANAGER_USE_HIGHER_FREQUENCY
Serial.begin(3000000);
#endif
if (SERIAL_FLUSH_ENABLED) {
Expand Down
31 changes: 6 additions & 25 deletions ESP/lib/src/network/api/baseAPI/baseAPI.cpp
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
#include "baseAPI.hpp"

//! These have to be called before the constructor of the class because they are
//! static C++ 11 does not have inline variables, sadly. So we have to do this.
// const char *BaseAPI::MIMETYPE_HTML{"text/html"};
// const char *BaseAPI::MIMETYPE_CSS{"text/css"};
// const char *BaseAPI::MIMETYPE_JS{"application/javascript"};
// const char *BaseAPI::MIMETYPE_PNG{"image/png"};
// const char *BaseAPI::MIMETYPE_JPG{"image/jpeg"};
// const char *BaseAPI::MIMETYPE_ICO{"image/x-icon"};
const char* BaseAPI::MIMETYPE_JSON{"application/json"};

BaseAPI::BaseAPI(ProjectConfig& projectConfig,
Expand Down Expand Up @@ -79,7 +71,7 @@ void BaseAPI::setWiFi(AsyncWebServerRequest* request) {

log_d("Number of Params: %d", params);
for (int i = 0; i < params; i++) {
AsyncWebParameter* param = request->getParam(i);
const AsyncWebParameter* param = request->getParam(i);
if (param->name() == "networkName") {
networkName.assign(param->value().c_str());
} else if (param->name() == "ssid") {
Expand All @@ -102,17 +94,6 @@ void BaseAPI::setWiFi(AsyncWebServerRequest* request) {
projectConfig.setWifiConfig(networkName, ssid, password, channel, power,
adhoc, true);

/* if (WiFiStateManager->getCurrentState() ==
WiFiState_e::WiFiState_ADHOC)
{
projectConfig.setAPWifiConfig(ssid, password, &channel, adhoc,
true);
}
else
{

} */

request->send(200, MIMETYPE_JSON,
"{\"msg\":\"Done. Wifi Creds have been set.\"}");
break;
Expand Down Expand Up @@ -178,7 +159,7 @@ void BaseAPI::setDeviceConfig(AsyncWebServerRequest* request) {
int ota_port;

for (int i = 0; i < params; i++) {
AsyncWebParameter* param = request->getParam(i);
const AsyncWebParameter* param = request->getParam(i);
if (param->name() == "hostname") {
std::string result = param->value().c_str();

Expand Down Expand Up @@ -216,7 +197,7 @@ void BaseAPI::setWiFiTXPower(AsyncWebServerRequest* request) {
uint8_t txPower = 0;

for (int i = 0; i < params; i++) {
AsyncWebParameter* param = request->getParam(i);
const AsyncWebParameter* param = request->getParam(i);
if (param->name() == "txpower" || param->name() == "txPower") {
txPower = atoi(param->value().c_str());
}
Expand Down Expand Up @@ -275,7 +256,7 @@ void BaseAPI::setCamera(AsyncWebServerRequest* request) {
//! be set in a specific order This means the order of the URL params does
//! not matter
for (int i = 0; i < params; i++) {
AsyncWebParameter* param = request->getParam(i);
const AsyncWebParameter* param = request->getParam(i);
if (param->name() == "framesize") {
temp_camera_framesize = (uint8_t)param->value().toInt();
} else if (param->name() == "vflip") {
Expand Down Expand Up @@ -392,7 +373,6 @@ void BaseAPI::beginOTA() {
"{\"id\": \"" + _id + "\", \"hardware\": \"ESP32\"}");
});

// Note: HTT_GET
server.on("/update", 0b00000001, [&](AsyncWebServerRequest* request) {
log_d("[DEBUG] Free Heap: %d", ESP.getFreeHeap());
checkAuthentication(request, login, password);
Expand All @@ -406,7 +386,8 @@ void BaseAPI::beginOTA() {
response->addHeader("Content-Encoding", "gzip");
request->send(response);
});
// Note: HTT_POST

// HTTP_POST
server.on(
"/update", 0b00000010,
[&](AsyncWebServerRequest* request) {
Expand Down
Loading