Commit Graph

46 Commits

Author SHA1 Message Date
lucas lelievre
a17c1c2d3f Refactor board defaults - Use a common system to handle user configurable defines (#474)
* Tests

* more changes

* Remove the need for nodejs

* Better preprocessor and ci

* Fix ci maybe

* Fix ci maybe

* Fix ci maybe

* Fix ci maybe + Add way to overide defaults from env vars

* Temp fix for api tests

* Small override fix

* Fix override

* More descriptions

* More descriptions

* Fix led + better typings

* Better format

* Bring back deleted files

* Add all boards in platformio.ini

* Always define Battery Pin and R1, R2 and Resistance

* Checking Boards Default Config:
BOARD_WEMOSD1MINI
BOARD_NODEMCU
BOARD_ESP01
BOARD_TTGO_TBASE

* Format

* Correcting Board Defaults:
- BOARD_WROOM32
- BOARD_LOLIN_C3_MINI
- BOARD_BEETLE32C3
- BOARD_ESP32C3DEVKITM1
- BOARD_ESP32C6DEVKITC1
- BOARD_WEMOSWROOM02
- BOARD_XIAO_ESP32C3
- BOARD_ESP32S3_SUPERMINI

* Change IMU_AUTO to something else on boards that might crash with it.

* remove IMU_UNKNOWN from selection

* Preprocessor fixes

* preprocessor defaults fixes + Make glove not use preprocessor

---------

Co-authored-by: unlogisch04 <98281608+unlogisch04@users.noreply.github.com>
2025-11-01 02:37:38 +02:00
noobee
3a3c318b0d esp32-s3 supermini support (#450)
* esp32-s3 supermini support

* fixed clang-format issues

* esp32-s3 supermini support

* fixed clang-format issues

* follow new -D BOARD= conventions in [env] block.
2025-05-31 19:10:10 +03:00
Eiren Rain
cdb6e4b39f Glove (#371)
* Add calibration reading commands for BNO08X

* Disable accelerometer calibration 1 minute after start up on BNO08X

Also save dynamic calibration periodically

* Work on new sensor interface to abstract I2C hardware

* Fix compile errors

* Abstract int pin and add multiplexer libraries

* Update IMU list to use new interfaces

* Make other IMUs definable, not only BNOx

* Fix build for ESP32

* Add TPS tracking code

Rename IMU_DESC_LIST to SENSOR_DESC_LIST
Start work on many-imu glove support

* Add PCA9546A support & glove imus list

* WIP use pointers properly

* I love C++ <3

* c++ is magic

* Fix build error because of typo

* Fix warnings

* Fix pinouts and some other issues

* Fix I2C with multiplexer

* Implement sending bone position

Implement sending flex data,
Minor refactoring

* Add tracker type to the protocol

* Work on analog sensors support

* Fix build errors

* Fix rebase conflict

* Apply formatting

* Update protocol to match server

* Fix thumb bone names

* Add an important comment

* Fix protocol compatibility

* Update defines for default configuration

* Minor comments and cleanups

* Format defines

* Formatting

* Formatting with proper clang

* Fucking clang

* Minor fixes after merge

* Fix formatting

* Remove unnecessary virtual keyword

* Remove delay on I2C clear error so OTA doesn't break

* Address some of the review comments

* Fix formatting

* Minor include imporvement

* Make new defines enums

* Fix build for sfusion
2025-02-06 17:46:09 +02:00
Spacefish
457fe2cfc9 ESP32-C6 support (#327)
* Designate all initializer clauses to fix compiler errors with newer
compilers

* ESP32C6 support

* fshelper: fixed ESP8266 regression caused by abstracting FS access #321 (#328)

* fshelper: fixed ESP8266 regression caused by abstracting FS access #321

* Removing not needed ifdef

l0ud spotted that this is not need.

Co-Authored-By: Przemyslaw Romaniak <przemyslaw.romaniak@intel.com>

---------

Co-authored-by: Przemyslaw Romaniak <przemyslaw.romaniak@intel.com>

* Fix enabling motion bias estimation (#325)

* fix pre-processor warning

* add macro for calculating radians (#317)

* feat: add macro for calculating radians

* style: silence unused variable warning

* remove unnecessary float cast in macro

* SoftFusion sensor framework with BMI, ICM, LSM6, MPU sensor implementations (#322)

* Update readme to mention BMI270 support.

* Soft fusion sensor initial code, wip

* Soft fusion ICM-42688-P lazy WIP implementation.

* sfusion: Cleanup, implemented sensor frequency calibration

* icm42688: add more comments, basic driver (no hw filtering) should be working

* sfustion: compilation fix

* sfusion: start calibration when upside down

* cleanup: remove confusing had data flag

* sensor manager: use unique_ptr instead of raw pointers

* sfusion: big refactoring wip

* sfusion: make aux work, at least sfusion sensors should now be functional

* sfusion: lightweight implementation of BMI270 sensor, no sensitivity cal yet

* sfusion: BMI270: added CRT and gyro zx factor. should be functionally equivalent to the old driver

* Added lsm6dsv

* Trying to work around esp32c3 compilation problem, not liking that solution

* sfusion: fix problems found after rebase

* Update README.md

* Bump Arduino core to 3.0 to match GCC12

* Remove fast pin swapping that is no longer compatible with arduino core v3

* Bring back fast pin swapping

* Update platformio-tools.ini

* Fix accel timescale (calibration no longer takes forever)

* Fix non-sfusion sensors

* Added LSM6DSO and DSR support and refactored DSV support

* Removed template float param from the implementation

* sfusion: port MPU6050 driver wip, not expecting to be functional yet

* sfusion: add headers specifying main code owners

* connection: fix warning

* update README.md

* fshelper: fixed ESP8266 regression caused by abstracting FS access

* sfusion: fix error on merge

* bno080: differentiate bno080, bno085, bno086 again

* sfusion: final touches

* restore hadData functionality, implementing it in every sensor, made configured flag bno-only

* fix address supplement in non-sfusion sensors, do i2c bus reset for all sensors

* sfusion: make MPU6050 driver use normal MPU6050 ImuID, change eatSamplesAndReturn function to take ms instead of seconds

* sfusion: hotfix, don't apply sensorOffset, it's applied in sensor base

* Log FIFO overruns on LSMs

* Reset the soft watchdog while eating or collecting calibration samples

Resolves an issue where the soft watchdog would trigger.

* Fix missing word in comment, switch to constexpr

* Update esp32/esp8266

---------

Co-authored-by: Gorbit99 <gorbitgames@gmail.com>
Co-authored-by: nekomona <nekomona@nekomona.com>
Co-authored-by: nekomona <nekomona@163.com>
Co-authored-by: unlogisch04 <98281608+unlogisch04@users.noreply.github.com>
Co-authored-by: kounocom <meia@kouno.xyz>
Co-authored-by: Kubuxu <oss@kubuxu.com>

* Add Haritora to consts (#333)

Add haritora consts, fix misspelling

* dont double scan i2c address on bus for ESP32C6

* add custom portmap for ESP32C6

* update to latest tasmota tools for ESP32C6

* serial over USB

* remove change that does nothing

* remove 2s wait in main.cpp it´s not required

* make it change neutral

* more change neutrality

---------

Co-authored-by: unlogisch04 <98281608+unlogisch04@users.noreply.github.com>
Co-authored-by: Przemyslaw Romaniak <przemyslaw.romaniak@intel.com>
Co-authored-by: Meia Kouno <71262281+kounocom@users.noreply.github.com>
Co-authored-by: Fredrik Hatletvedt <32248439+Pespiri@users.noreply.github.com>
Co-authored-by: Przemyslaw Romaniak <loudpl@gmail.com>
Co-authored-by: Gorbit99 <gorbitgames@gmail.com>
Co-authored-by: nekomona <nekomona@nekomona.com>
Co-authored-by: nekomona <nekomona@163.com>
Co-authored-by: kounocom <meia@kouno.xyz>
Co-authored-by: Kubuxu <oss@kubuxu.com>
Co-authored-by: JovannMC <jovannmc@femboyfurry.net>
Co-authored-by: Eiren Rain <Eirenliel@users.noreply.github.com>
2024-12-11 17:00:06 +02:00
m-RNA
e0751174e0 Enable caching to accelerate compilation (#354) 2024-10-27 08:25:52 +03:00
Przemyslaw Romaniak
ea00bebedd SoftFusion sensor framework with BMI, ICM, LSM6, MPU sensor implementations (#322)
* Update readme to mention BMI270 support.

* Soft fusion sensor initial code, wip

* Soft fusion ICM-42688-P lazy WIP implementation.

* sfusion: Cleanup, implemented sensor frequency calibration

* icm42688: add more comments, basic driver (no hw filtering) should be working

* sfustion: compilation fix

* sfusion: start calibration when upside down

* cleanup: remove confusing had data flag

* sensor manager: use unique_ptr instead of raw pointers

* sfusion: big refactoring wip

* sfusion: make aux work, at least sfusion sensors should now be functional

* sfusion: lightweight implementation of BMI270 sensor, no sensitivity cal yet

* sfusion: BMI270: added CRT and gyro zx factor. should be functionally equivalent to the old driver

* Added lsm6dsv

* Trying to work around esp32c3 compilation problem, not liking that solution

* sfusion: fix problems found after rebase

* Update README.md

* Bump Arduino core to 3.0 to match GCC12

* Remove fast pin swapping that is no longer compatible with arduino core v3

* Bring back fast pin swapping

* Update platformio-tools.ini

* Fix accel timescale (calibration no longer takes forever)

* Fix non-sfusion sensors

* Added LSM6DSO and DSR support and refactored DSV support

* Removed template float param from the implementation

* sfusion: port MPU6050 driver wip, not expecting to be functional yet

* sfusion: add headers specifying main code owners

* connection: fix warning

* update README.md

* fshelper: fixed ESP8266 regression caused by abstracting FS access

* sfusion: fix error on merge

* bno080: differentiate bno080, bno085, bno086 again

* sfusion: final touches

* restore hadData functionality, implementing it in every sensor, made configured flag bno-only

* fix address supplement in non-sfusion sensors, do i2c bus reset for all sensors

* sfusion: make MPU6050 driver use normal MPU6050 ImuID, change eatSamplesAndReturn function to take ms instead of seconds

* sfusion: hotfix, don't apply sensorOffset, it's applied in sensor base

* Log FIFO overruns on LSMs

* Reset the soft watchdog while eating or collecting calibration samples

Resolves an issue where the soft watchdog would trigger.

* Fix missing word in comment, switch to constexpr

* Update esp32/esp8266

---------

Co-authored-by: Gorbit99 <gorbitgames@gmail.com>
Co-authored-by: nekomona <nekomona@nekomona.com>
Co-authored-by: nekomona <nekomona@163.com>
Co-authored-by: unlogisch04 <98281608+unlogisch04@users.noreply.github.com>
Co-authored-by: kounocom <meia@kouno.xyz>
Co-authored-by: Kubuxu <oss@kubuxu.com>
2024-06-25 13:57:18 +03:00
DevMiner
2c8e41ce08 feat: allow connecting to one specific server IP without broadcasting (#301) 2024-01-18 21:24:45 -05:00
unlogisch04
14f2752d4d feat: commit hash (#228)
Co-authored-by: DevMiner <tobigames200@gmail.com>
Co-authored-by: nekomona <nekomona@163.com>
2023-10-13 15:57:33 +03:00
unlogisch04
26f53ae5e5 Fix serial wifi and bwifi. Crash bwifi when no ... (#298)
Co-authored-by: DevMiner <tobigames200@gmail.com>
2023-10-13 15:54:50 +03:00
Alice King
48d87a327e Fix OTA on 1MB Flash, Add 40MHz crystal option, Add ESP8285 support (#244) 2023-05-19 16:23:21 +03:00
DevMiner
3b88267420 Bump PlatformIO platforms (#239) 2023-04-29 17:50:39 +03:00
0forks
56848cc2a2 Improved BMI160 support (#220) 2023-03-25 01:37:58 +03:00
KaniPan
b5c9f1e8c1 Add support for setting the static IP address (#195) 2022-10-05 19:34:37 +03:00
unlogisch04
9d93df6e6a ESP32-C3 integration (#178) 2022-09-13 03:19:00 +03:00
unlogisch04
20888d280d fix warning in new platformio (#176) 2022-07-09 21:13:42 +03:00
Ryan Butler
6886e11054 Fix esp32c3 build (#163) 2022-07-04 02:28:12 +03:00
doormatt-dev
61b94b97b0 small adjustments for plattformio.ini (#167) 2022-07-04 00:38:12 +03:00
Eiren Rain
d6137c2816 Update version to 0.2.1 (11) 2022-06-28 19:00:31 +02:00
unlogisch04
e23156821e Fixing compile Error if LED_BUILTIN is not defined (#154)
Co-authored-by: TheDevMinerTV <tobigames200@gmail.com>

Co-authored-by: TheDevMinerTV <tobigames200@gmail.com>
2022-04-24 01:28:08 +03:00
TheDevMinerTV
b2ace4a453 Rework configuration to use LittleFS (#134)
Recalibrate your IMUs!
2022-04-02 18:18:56 +03:00
Vyolex
e556092ff0 Some info about importance of spaces 2022-03-01 22:16:27 +01:00
JINODK
f24c7fa0dd Oopsie - fixed - Faster default upload speed
Accidentally pasted another upload_speed command to an inappropriate spot
2022-03-01 21:56:46 +07:00
JINODK
d2c45d58e5 Change the default upload baud rate for the esp32 as well
And add a note for CP2102 user as well
2022-03-01 21:52:40 +07:00
JINODK
bfd67fa6c3 Faster upload speed for ESP8266
Change the upload speed to 921600 (as CH340G can handle it) and save quite a lot of time actually
2022-03-01 15:07:23 +07:00
Eiren Rain
2e88f06aae Merge branch 'main' of https://github.com/ThreadOfFate/SlimeVR-Tracker-ESP-ICM20948 into ThreadOfFate-main
# Conflicts:
#	src/consts.h
#	src/defines.h
#	src/main.cpp
#	src/sensor.h
2022-02-02 19:07:54 +02:00
Eiren Rain
101783f8d0 Fork CmdParser into SlimeVR org to avoid possible supply chain disruptions 2022-01-10 12:26:45 +02:00
Eiren Rain
c7c1f5d594 Merge branch 'main' into test 2022-01-09 12:14:31 +02:00
Yury
1bf7562a5e Re-enable O2 again 2021-12-23 14:06:27 +03:00
Eiren Rain
bb26bddd80 Refactor battery monitoring, fix merge conflicts 2021-12-18 21:05:04 +02:00
Yury
4b4407dc00 Revert "Enable -O2 optimization option"
This reverts commit 94b2a5791b.
2021-12-17 23:09:30 +03:00
Yury
94b2a5791b Enable -O2 optimization option 2021-12-16 11:24:40 +03:00
Levi Gillis
de531d7736 ESP-01 support:
-Added defines
-Moved led operations to ledmgr
-Added option to disable LEDS
VCC monitor support:
-Added VCC monitor, not compatible with using internal ADC
-Every ESP has a slight offset to the actual voltage, but relative voltage is stable and usable
-Preliminary configuration will warn low battery at 3.2V and shut down at 3.1V
2021-11-27 18:16:39 +01:00
Eiren Rain
0952002d00 Revert wifi credentials in platformio to how it used to work 2021-08-11 09:41:15 +03:00
Eiren Rain
104770cb69 Refactoring of masterex1000 mpu6050 code 2021-08-09 16:47:40 +03:00
masterex1000
8ea9bce500 Merge branch 'main' into mx-firm 2021-07-27 16:25:42 -06:00
Eiren Rain
6c371c6afd Keep parenthesis in wifi credentials in case users have SSID/pass with space in it 2021-07-27 20:07:03 +03:00
Eiren Rain
c8a79dbd7f Fix setting WiFi credentials in platformio.ini 2021-07-27 20:02:52 +03:00
masterex1000
99e86cb9a6 MPU6050 changes 2021-07-20 14:26:59 -06:00
Eiren Rain
28d3eb2a3f Remove serial wait 2021-07-05 07:40:49 +03:00
Eiren Rain
bf39b0a917 Added option to set WiFi SSID and password in platformio.ini 2021-06-23 17:28:51 +03:00
Eiren Rain
553446e897 Support compilation for ESP32 2021-06-23 14:29:37 +03:00
Eiren Rain
cfbca0a491 Added support for serial port commands
Added support to set WiFi credentials with serial command
SlimeVR-Tracker-ESP#6
2021-06-19 08:49:18 +03:00
Eiren Rain
cebae4fd6c Disable OTA updates automatically 60 seconds after device startup 2021-06-12 11:17:40 +03:00
Eiren Rain
1de6d62ef3 Added support for accel+gyro mode with internal DMP for MPU 9250 or 6050
Added support for network ping, added support for sending raw mag data
Updated Mahony fusion
Cleanup debug
Added support for new accel+gyro calibration (not used yet)
2021-02-04 03:03:47 +03:00
Eiren Rain
7b8aa4ea86 Discover server with udp multicast
Reword server connection with non-blocking loop
Added support for Over-The-Air updates
2021-01-07 18:17:23 +03:00
Eiren Rain
8038311161 Implementation using jremington's MPU-9250 lib
https://github.com/jremington/MPU-9250-AHRS
2020-12-30 18:22:46 +03:00