5#ifndef SYSTEM_UTILS_CONSTANTS_H
6#define SYSTEM_UTILS_CONSTANTS_H
12#include <Adafruit_TinyUSB.h>
22#define HARDWARE_VERSION_MAJOR 1
24#define HARDWARE_VERSION_MINOR 0
27#if HARDWARE_VERSION_MAJOR == 1 && HARDWARE_VERSION_MINOR == 0
28#define IS_HARDWARE_1_0
30#if HARDWARE_VERSION_MAJOR == 1 && HARDWARE_VERSION_MINOR == 1
31#define IS_HARDWARE_1_1
36#define EXPECTED_FIRMWARE_VERSION_MAJOR 1
38#define EXPECTED_FIRMWARE_VERSION_MINOR 3
65static constexpr float imuToCircuitPositionX_m = 8.915f / 1000.0f;
66static constexpr float imuToCircuitPositionY_m = -5.769f / 1000.0f;
67static constexpr float imuToCircuitPositionZ_m = 0.0f / 1000.0f;
121static constexpr float totalCons_Watt = consWattByMeter * ledStripLength_mm / 1000.0f;
148namespace brightness {
Program scope.
Definition: control_fixed_modes.hpp:12
bool is_cell_voltage_valid(const uint16_t cellVoltage_mv)
check battery cell voltage against min/max limits
Definition: constants.h:138
static constexpr uint16_t minSingularBatteryVoltage_mV
with added margins to avoid wrong detection
Definition: constants.h:82
static constexpr uint8_t USER_WATCHDOG_ID
user thread watchdog
Definition: constants.h:96
static constexpr uint8_t BASE_SOFTWARE_VERSION_MINOR
Base minor software version, common to all systems. increment for every release.
Definition: constants.h:45
static constexpr uint8_t BASE_SOFTWARE_VERSION_MAJOR
Base major software version, common to all systems. increment for every release.
Definition: constants.h:42
static constexpr uint32_t batteryTypicalPower_mWH
Battery standard power, in milliWatt*Hours.
Definition: constants.h:132
static constexpr float c_degreesToRadians
convert degrees to radians
Definition: constants.h:24
static constexpr float batteryChargeC_Rate
Maximum charge rate.
Definition: constants.h:70
static constexpr uint16_t maxSafeLiionVoltage_mV
maximum allowed li-ion voltage safe zone
Definition: constants.h:80
static constexpr uint16_t maxLiionVoltage_mV
Absolute maximum allowed Li-ion voltage.
Definition: constants.h:76
static constexpr uint32_t batteryCapacity_mAH
Battery capacity, in mA*hours.
Definition: constants.h:72
static constexpr uint16_t batteryMinVoltage_mV
min voltage of a single li-ion cell
Definition: constants.h:115
static const uint32_t ADC_MAX_VALUE
corresponding ADC max value
Definition: constants.h:50
static constexpr float internalReferenceVoltage
internal voltage reference
Definition: constants.h:51
static constexpr float criticalSystemTemp_c
absolute maximum microcontroler temperature, in degrees
Definition: constants.h:89
static constexpr float maxSystemTemp_c
maximum microcontroler temperature, in degrees
Definition: constants.h:88
static constexpr uint16_t minSafeLiionVoltage_mV
minimum allowed li-ion voltage safe zone
Definition: constants.h:79
static constexpr uint16_t minLiionVoltage_mV
minimum Li-ion voltage
Definition: constants.h:74
static constexpr uint8_t batteryCount
number of batteries for this model
Definition: constants.h:54
static constexpr uint16_t batteryCritical
in % *100, critical battery level
Definition: constants.h:92
static constexpr float batteryDischargeC_Rate
Typical discharge rate.
Definition: constants.h:71
static constexpr uint16_t batteryLow
in % *100, low battery level
Definition: constants.h:93
static constexpr uint8_t POWER_WATCHDOG_ID
power thread watchdog
Definition: constants.h:97
static constexpr uint32_t batteryMaxDischargeCurrent_mA
Battery maximum discharge current, in milliAmps.
Definition: constants.h:129
static constexpr float loopDeltaTime
EXPECTED delta time for each loop run.
Definition: constants.h:106
static constexpr uint16_t batteryTypicalVoltageSafe_mV
typical pack voltage
Definition: constants.h:113
static constexpr uint8_t ADC_RES_EXP
resolution of the ADC, in bits (can be 8, 10, 12 or 14)
Definition: constants.h:49
static constexpr float totalCons_Watt
Total maximum power usage of the led strip.
Definition: constants.h:121
static constexpr uint32_t batteryMaxChargeCurrent_mA
Battery maximum charge current, in milliAmps.
Definition: constants.h:126
uint16_t brightness_t
Define the type of the brightness parameters.
Definition: constants.h:147
static constexpr float maxStripConsumption_A
Maximum led strip current usage, in Amps.
Definition: constants.h:123
static constexpr uint16_t typicalLiionVoltage_mV
standard 50% charge Li-ion voltage
Definition: constants.h:75
static constexpr uint16_t batteryMaxVoltageSafe_mV
max voltage of a li-ion cell to maximise lifetime
Definition: constants.h:111
static constexpr uint16_t batteryMinVoltageSafe_mV
min voltage of a li-ion cell to maximise lifetime
Definition: constants.h:117
static constexpr uint16_t maxSingularBatteryVoltage_mV
with added margins to avoid wrong detection
Definition: constants.h:84
static constexpr uint16_t batteryMaxVoltage_mV
max voltage of a single li-ion cell
Definition: constants.h:109
static constexpr brightness_t absoluteMaximumBrightness
Maximum brigthness value.
Definition: constants.h:150
User defined constants, relative to specific lamp types.