mirror of
https://github.com/SlimeVR/SlimeVR-Tracker-ESP.git
synced 2026-04-05 17:51:57 +02:00
* Enforce clang-format on the repo * improve CI config * fix build error * undo src format * apply format by hand * fix last one * fix build error * wat
101 lines
3.7 KiB
C
101 lines
3.7 KiB
C
/*
|
|
SlimeVR Code is placed under the MIT license
|
|
Copyright (c) 2021 Eiren Rain
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
THE SOFTWARE.
|
|
*/
|
|
#ifndef SLIMEVR_DEBUG_H_
|
|
#define SLIMEVR_DEBUG_H_
|
|
#include "consts.h"
|
|
#include "logging/Level.h"
|
|
|
|
#define IMU_MPU6050_RUNTIME_CALIBRATION // Comment to revert to
|
|
// startup/traditional-calibration
|
|
#define BNO_USE_ARVR_STABILIZATION \
|
|
true // Set to false to disable stabilization for BNO085+ IMUs
|
|
#define USE_6_AXIS \
|
|
true // uses 9 DoF (with mag) if false (only for ICM-20948 and BNO0xx currently)
|
|
#define LOAD_BIAS true // Loads the bias values from NVS on start
|
|
#define SAVE_BIAS true // Periodically saves bias calibration data to NVS
|
|
#define BIAS_DEBUG false // Printing BIAS Variables to serial (ICM20948 only)
|
|
#define ENABLE_TAP \
|
|
false // monitor accel for (triple) tap events and send them. Uses more cpu,
|
|
// disable if problems. Server does nothing with value so disabled atm
|
|
#define SEND_ACCELERATION true // send linear acceleration to the server
|
|
|
|
// Debug information
|
|
|
|
#define LOG_LEVEL LOG_LEVEL_DEBUG
|
|
|
|
#if LOG_LEVEL == LOG_LEVEL_TRACE
|
|
#define DEBUG_SENSOR
|
|
#define DEBUG_NETWORK
|
|
#define DEBUG_CONFIGURATION
|
|
#endif
|
|
|
|
#define serialDebug false // Set to true to get Serial output for debugging
|
|
#define serialBaudRate 115200
|
|
#define LED_INTERVAL_STANDBY 10000
|
|
#define PRINT_STATE_EVERY_MS 60000
|
|
|
|
// Determines how often we sample and send data
|
|
#define samplingRateInMillis 10
|
|
|
|
// Sleeping options
|
|
#define POWERSAVING_MODE POWER_SAVING_LEGACY // Minimum causes sporadic data pauses
|
|
#if POWERSAVING_MODE >= POWER_SAVING_MINIMUM
|
|
#define TARGET_LOOPTIME_MICROS (samplingRateInMillis * 1000)
|
|
#endif
|
|
|
|
// Packet bundling/aggregation
|
|
#define PACKET_BUNDLING PACKET_BUNDLING_BUFFERED
|
|
// Extra tunable for PACKET_BUNDLING_BUFFERED (10000us = 10ms timeout, 100hz target)
|
|
#define PACKET_BUNDLING_BUFFER_SIZE_MICROS 10000
|
|
|
|
// Setup for the Magnetometer
|
|
#define useFullCalibrationMatrix true
|
|
|
|
// Battery configuration
|
|
#define batterySampleRate 10000
|
|
#define BATTERY_LOW_VOLTAGE_DEEP_SLEEP false
|
|
#define BATTERY_LOW_POWER_VOLTAGE 3.3f // Voltage to raise error
|
|
|
|
// Send updates over network only when changes are substantial
|
|
// If "false" updates are sent at the sensor update rate (usually 100 TPS)
|
|
// If "true" updates will be less frequent in the time of little motion
|
|
// Experimental
|
|
#define OPTIMIZE_UPDATES true
|
|
|
|
#define I2C_SPEED 400000
|
|
|
|
#define COMPLIANCE_MODE true
|
|
#define USE_ATTENUATION COMPLIANCE_MODE&& ESP8266
|
|
#define ATTENUATION_N 10.0 / 4.0
|
|
#define ATTENUATION_G 14.0 / 4.0
|
|
#define ATTENUATION_B 40.0 / 4.0
|
|
|
|
// Send inspection packets over the network to a profiler
|
|
// Not recommended for production
|
|
#define ENABLE_INSPECTION false
|
|
|
|
#define PROTOCOL_VERSION 18
|
|
#define FIRMWARE_VERSION "0.5.0"
|
|
|
|
#endif // SLIMEVR_DEBUG_H_
|