Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.7.0 #83

Merged
merged 23 commits into from
Jan 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
a7d4e9a
Refactor commands and serial manager to support updated commands payload
lorow Apr 1, 2024
9c94411
set setMinSecurity to WIFI_AUTH_WEP to fix boards not connecting to s…
lorow Apr 10, 2024
53a3d4b
feat: Move logging in serial streaming so that we at least attempt to…
lorow May 31, 2024
47b5241
remove unused etvr_eye_tracker_usb
lorow Jun 2, 2024
635c6b0
PoC query manager for better flasher logging
lorow Jun 2, 2024
c8335d2
simplify query implementation
lorow Jun 2, 2024
64ebaa3
remove old include
lorow Jun 2, 2024
811a9f8
feat: Refactor commands and serial manager to support updated command…
lorow Jun 10, 2024
01e5e28
fix: serial output for esp32cams and other boards not supporting high…
lorow Jun 10, 2024
14d2cb0
feat: Add support for ov5640 cameras
lorow Jun 10, 2024
049b160
feat: fix usb streaming on wroom boards, add support for babble custo…
lorow Jun 10, 2024
d744668
cleanup PoC
lorow Jun 10, 2024
1733a1e
chore(minor): 2.5.0-beta.1 [skip ci]
semantic-release-bot Jun 10, 2024
4894c22
feat: Fix ov5640 support implementation after beta cleanup
lorow Jun 11, 2024
e998e02
chore(minor): 2.5.0-beta.1 [skip ci]
semantic-release-bot Jun 11, 2024
2bc177c
Merge remote-tracking branch 'origin/master' into beta
lorow Jun 21, 2024
5a83210
chore(minor): 2.5.0-beta.1 [skip ci]
semantic-release-bot Jun 21, 2024
fbaeb21
Merge remote-tracking branch 'origin/master' into beta
lorow Jan 9, 2025
210dad8
Update CI actions version (#82)
lorow Jan 11, 2025
056e19f
Finalize Babble Board Configs (#80)
RamesTheGeneric Jan 11, 2025
0f0c7df
chore(minor): 2.7.0-beta.1 [skip ci]
semantic-release-bot Jan 11, 2025
5c76e01
feat: Add camera resolution configuration support (#79)
m-RNA Jan 12, 2025
2602845
chore(minor): 2.7.0-beta.2 [skip ci]
semantic-release-bot Jan 12, 2025
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
12 changes: 6 additions & 6 deletions .github/workflows/build_release_bins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
matrix: ${{fromJson(needs.setup.outputs.matrix)}}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build OpenIris Firmware
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
run: |
echo "FIRMWARE_NAME=$(cat ESP/build/${{ matrix.target_name }}${{ matrix.target_build_type }}/firmware_name.txt)" >> $GITHUB_ENV
- name: Archive Firmware Binaries
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target_name }}${{ matrix.target_build_type }}-firmware
#path: "./ESP/.pio/build/${{ matrix.target_name }}${{ matrix.target_build_type }}/${{ env.FIRMWARE_NAME }}.bin"
Expand All @@ -80,17 +80,17 @@ jobs:
needs: [build]
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Create Directory
run: mkdir -p build
- name: Download Firmware Files
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
path: build/
- name: Setup node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18
- run: npm install -g conventional-changelog-conventionalcommits@6
Expand All @@ -117,6 +117,6 @@ jobs:
timeout-minutes: 10
steps:
- name: "♻️ remove build artifacts"
uses: geekyeggo/delete-artifact@v1
uses: geekyeggo/delete-artifact@v5
with:
name: ${{ matrix.target_name }}${{ matrix.target_build_type }}-firmware
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,29 @@
[![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.7.0-beta.2](https://github.com/EyeTrackVR/OpenIris/compare/v2.7.0-beta.1...v2.7.0-beta.2) (2025-01-12)


### 🍕 Features

* Add camera resolution configuration support ([#79](https://github.com/EyeTrackVR/OpenIris/issues/79)) ([5c76e01](https://github.com/EyeTrackVR/OpenIris/commit/5c76e01c5e466c8cc7ef4cd43e78a763af00c06e))

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


### 🍕 Features

* Add support for ov5640 cameras ([14d2cb0](https://github.com/EyeTrackVR/OpenIris/commit/14d2cb0858cd65452f2ce1cee9a3a1f68d8f7f51))
* Fix ov5640 support implementation after beta cleanup ([4894c22](https://github.com/EyeTrackVR/OpenIris/commit/4894c2205864d5a7d52e37c81b14ff7dc46517d4))
* fix usb streaming on wroom boards, add support for babble custom board ([049b160](https://github.com/EyeTrackVR/OpenIris/commit/049b16078ec5c07042652f2de3545ea6b69de6a9))
* Move logging in serial streaming so that we at least attempt to get new frame ([53a3d4b](https://github.com/EyeTrackVR/OpenIris/commit/53a3d4bcd603e2fd07546621628e69de88e4139a))
* Refactor commands and serial manager to support updated commands payload ([811a9f8](https://github.com/EyeTrackVR/OpenIris/commit/811a9f898a3f1bdb1e20ffd6f0d6e77a4533f52c))


### 🐛 Bug Fixes

* serial output for esp32cams and other boards not supporting higher frequency baud rate ([01e5e28](https://github.com/EyeTrackVR/OpenIris/commit/01e5e280ad26d2709231fe6aa2a96d1991cbf360))

## [2.6.0](https://github.com/EyeTrackVR/OpenIris/compare/v2.5.0...v2.6.0) (2024-07-14)


Expand Down
44 changes: 42 additions & 2 deletions ESP/ini/boards.ini
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,10 @@ upload_flags = --no-stub

[env:Babble-wrooms-s3]
board = esp32-s3-devkitc-1
board_build.flash_mode = qio ; qio_qspi
board_upload.flashsize = "4MB"
board_upload.flash_size=4MB
board_upload.maximum_size = 4194304
board_build.flash_mode = qio
board_build.arduino.memory_type = qio_qspi
build_type = debug
build_flags = ${env.build_flags}
Expand All @@ -200,9 +203,27 @@ build_flags = ${env.build_flags}
${pinoutSWROOMBABBLES3.build_flags}
upload_flags = --no-stub

[env:Babble-wrooms-s3_release]
board = esp32-s3-devkitc-1
board_upload.flashsize = "4MB"
board_upload.flash_size=4MB
board_upload.maximum_size = 4194304
board_build.flash_mode = qio
board_build.arduino.memory_type = qio_qspi
build_type = debug
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=1
-DDEBUG_MODE=0
-DSERIAL_MANAGER_USE_HIGHER_FREQUENCY
${pinoutSWROOMBABBLES3.build_flags}
upload_flags = --no-stub

[env:Babble_USB-wrooms-s3]
board = esp32-s3-devkitc-1
board_build.flash_mode = qio ; qio_qspi
board_upload.flashsize = "4MB"
board_upload.flash_size=4MB
board_upload.maximum_size = 4194304
board_build.flash_mode = qio
board_build.arduino.memory_type = qio_qspi
build_type = debug
build_flags = ${env.build_flags}
Expand All @@ -211,6 +232,25 @@ build_flags = ${env.build_flags}
-DETVR_EYE_TRACKER_USB_API
-DARDUINO_USB_MODE=1
-DARDUINO_USB_CDC_ON_BOOT=1
-DARDUINO_FLASH
-DSERIAL_MANAGER_USE_HIGHER_FREQUENCY
${pinoutSWROOMBABBLES3.build_flags}
upload_flags = --no-stub

[env:Babble_USB-wrooms-s3_release]
board = esp32-s3-devkitc-1
board_upload.flashsize = "4MB"
board_upload.flash_size=4MB
board_upload.maximum_size = 4194304
board_build.flash_mode = qio
board_build.arduino.memory_type = qio_qspi
build_type = debug
build_flags = ${env.build_flags}
-DCORE_DEBUG_LEVEL=1
-DDEBUG_MODE=0
-DETVR_EYE_TRACKER_USB_API
-DARDUINO_USB_MODE=1
-DARDUINO_USB_CDC_ON_BOOT=1
-DSERIAL_MANAGER_USE_HIGHER_FREQUENCY
${pinoutSWROOMBABBLES3.build_flags}
upload_flags = --no-stub
Expand Down
3 changes: 2 additions & 1 deletion 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.6.0
custom_firmware_version = 2.7.0
monitor_rts = 0
monitor_dtr = 0
monitor_filters =
Expand Down Expand Up @@ -46,6 +46,7 @@ build_flags =

'-DOTA_PASSWORD=${ota.otapassword}' ; Set the OTA password
'-DOTA_LOGIN=${ota.otalogin}'
'-DCAM_RESOLUTION=${cam.resolution}'

-O2 ; optimize for speed
-DASYNCWEBSERVER_REGEX ; enable regex in asyncwebserver
Expand Down
3 changes: 3 additions & 0 deletions ESP/ini/user_config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ otapassword = "12345678"

[development]
serial_flush_enabled = 0

[cam]
resolution = FRAMESIZE_240X240
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.6.0",
"version": "2.7.0",
"frameworks": "arduino",
"platforms": "espressif32"
}
5 changes: 3 additions & 2 deletions ESP/lib/src/data/config/project_config.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "project_config.hpp"
#include "sensor.h"

ProjectConfig::ProjectConfig(const std::string& name,
const std::string& mdnsName)
Expand Down Expand Up @@ -53,7 +54,7 @@ void ProjectConfig::initConfig() {
this->config.camera = {
.vflip = 0,
.href = 0,
.framesize = 4,
.framesize = (uint8_t)CAM_RESOLUTION,
.quality = 7,
.brightness = 2,
};
Expand Down Expand Up @@ -200,7 +201,7 @@ void ProjectConfig::load() {
/* Camera Config */
this->config.camera.vflip = getInt("vflip", 0);
this->config.camera.href = getInt("href", 0);
this->config.camera.framesize = getInt("framesize", 4);
this->config.camera.framesize = getInt("framesize", (uint8_t)CAM_RESOLUTION);
this->config.camera.quality = getInt("quality", 7);
this->config.camera.brightness = getInt("brightness", 2);

Expand Down
31 changes: 29 additions & 2 deletions ESP/lib/src/io/camera/cameraHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ void CameraHandler::setupCameraPinout() {

void CameraHandler::setupBasicResolution() {
config.pixel_format = PIXFORMAT_JPEG;
config.frame_size = FRAMESIZE_240X240;
config.frame_size = CAM_RESOLUTION;

if (!psramFound()) {
log_e("[Camera]: Did not find psram, setting lower image quality");
Expand Down Expand Up @@ -108,6 +108,10 @@ void CameraHandler::setupCameraSensor() {
camera_sensor->set_aec2(camera_sensor, 0); // 0 = disable , 1 = enable
camera_sensor->set_ae_level(camera_sensor, 0); // -2 to 2
camera_sensor->set_aec_value(camera_sensor, 300); // 0 to 1200
// Use a lower aec value for babble to better isolate the face with illuminators
#ifdef CONFIG_CAMERA_MODULE_SWROOM_BABBLE_S3
camera_sensor->set_aec_value(camera_sensor, 100); // 0 to 1200
#endif

// controls the gain
camera_sensor->set_gain_ctrl(camera_sensor, 0); // 0 = disable , 1 = enable
Expand Down Expand Up @@ -195,7 +199,29 @@ void CameraHandler::loadConfigData() {
log_d("Loading camera config data done");
}

int CameraHandler::setCameraResolution(framesize_t frameSize) {
#ifdef CONFIG_CAMERA_MODULE_SWROOM_BABBLE_S3
int CameraHandler::setCameraResolution(framesize_t frameSize) { // For Babble, use a firmware crop as shown by Physdude
if (camera_sensor->pixformat == PIXFORMAT_JPEG) {
try {
int outputSize = 240;

int baseRes = 2; //CIF
int ROIsize = 240;
int startPointX = 80;
int startPointY = 28;

return camera_sensor->set_res_raw(camera_sensor, baseRes, 0, 0, 0, startPointX, startPointY, ROIsize, ROIsize, outputSize, outputSize, 0, 0);

} catch (...) {
// they sent us a malformed or unsupported frameSize - rather than crash -
// tell them about it
return -1;
}
}
return -1;
}
#else
int CameraHandler::setCameraResolution(framesize_t frameSize) { // By default, use the standard method.
if (camera_sensor->pixformat == PIXFORMAT_JPEG) {
try {
return camera_sensor->set_framesize(camera_sensor, frameSize);
Expand All @@ -207,6 +233,7 @@ int CameraHandler::setCameraResolution(framesize_t frameSize) {
}
return -1;
}
#endif

int CameraHandler::setVFlip(int direction) {
return camera_sensor->set_vflip(camera_sensor, direction);
Expand Down