Control Surface  1.1.1
MIDI Control Surface library for Arduino
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
AH Namespace Reference

Namespaces

 detail
 
 ExtIO
 A namespace with alternatives to the standard Arduino IO functions that can be used with extended IO pin numbers.
 

Classes

class  AnalogMultiplex
 A class for reading multiplexed analog inputs. More...
 
struct  Array
 An array wrapper for easy copying, comparing, and iterating. More...
 
class  ArraySlice
 Class for a view on a slice of an array. More...
 
class  BitArray
 A class for arrays of bits. More...
 
class  Button
 A class for reading and debouncing buttons and switches. More...
 
class  ButtonMatrix
 A class that reads the states of a button matrix. More...
 
class  DotBarDisplayLEDs
 A class for LED bars. More...
 
class  ExtendedIOElement
 An abstract base class for Extended Input/Output elements. More...
 
class  FilteredAnalog
 A class that reads and filters an analog input. More...
 
class  Frequency
 Type-safe class for frequency values. More...
 
class  IncrementButton
 A class for buttons that increment some counter or setting. More...
 
class  IncrementDecrementButtons
 A class for buttons that increment and decrement some counter or setting. More...
 
class  LEDs
 A class for collections of LEDs that can display ranges. More...
 
class  MAX7219
 A class for LED outputs using the MAX7219 LED display driver. More...
 
class  MAX7219_Base
 A base class for classes that control MAX7219 LED drivers. More...
 
class  MAX7219SevenSegmentDisplay
 A class for 8-digit 7-segment displays with a MAX7219 driver. More...
 
struct  NormalUpdatable
 
class  ShiftRegisterOut
 A class for serial-in/parallel-out shift registers, like the 74HC595. More...
 
class  ShiftRegisterOutBase
 A class for serial-in/parallel-out shift registers, like the 74HC595. More...
 
struct  ShiftRegisterOutRGB
 A struct for setting the RGB mode for RGB shift registers. More...
 
class  SPIShiftRegisterOut
 A class for serial-in/parallel-out shift registers, like the 74HC595 that are connected to the SPI bus. More...
 
class  StaticSizeExtendedIOElement
 A class for ExtendedIOElements with a fixed size. More...
 
class  Timer
 A class for easily managing timed events. More...
 
class  UniquePtr
 Very basic smart pointer. More...
 
class  Updatable
 A super class for object that have to be updated regularly. More...
 

Typedefs

template<class T , size_t nb_rows, size_t nb_cols>
using Array2D = Array< Array< T, nb_cols >, nb_rows >
 An easy alias for two-dimensional Arrays. More...
 
using CD74HC4067 = AnalogMultiplex< 4 >
 An alias for AnalogMultiplex<4> to use with CD74HC4067 analog multiplexers. More...
 
using CD74HC4051 = AnalogMultiplex< 3 >
 An alias for AnalogMultiplex<3> to use with CD74HC4051 analog multiplexers. More...
 
using analog_t = uint16_t
 The type returned from analogRead and similar functions. More...
 
using pin_t = uint16_t
 The type for Arduino pins (and ExtendedIOElement pins). More...
 
template<size_t N>
using PinList = Array< pin_t, N >
 An easy alias for arrays of pins. More...
 
using ANALOG_FILTER_TYPE = uint16_t
 The unsigned integer type to use for analog inputs during filtering. More...
 
using timefunction = unsigned long(*)()
 A function type that returns a time value. More...
 

Enumerations

enum  DotBarMode : bool { Bar = false, Dot = true }
 An enumeration type to set an LED display to either bar or dot mode. More...
 

Functions

template<class T >
constexpr T abs_diff (const T &a, const T &b)
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2>
bool operator== (ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b)
 Slice == Slice. More...
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse2, bool Const2>
bool operator== (const Array< T1, N1 > &a, ArraySlice< T2, N2, Reverse2, Const2 > b)
 Array == Slice. More...
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Const1>
bool operator== (ArraySlice< T1, N1, Reverse1, Const1 > a, const Array< T2, N2 > &b)
 Slice == Array. More...
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2>
bool operator!= (ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b)
 Slice != Slice. More...
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse2, bool Const2>
bool operator!= (const Array< T1, N1 > &a, ArraySlice< T2, N2, Reverse2, Const2 > b)
 Array != Slice. More...
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Const1>
bool operator!= (ArraySlice< T1, N1, Reverse1, Const1 > a, const Array< T2, N2 > &b)
 Slice != Array. More...
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2>
Array< decltype(T1{}+T2{}), N1 > operator+ (ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b)
 Slice + Slice. More...
 
template<class T1 , class T2 , size_t N1, size_t N2>
Array< decltype(T1{}+T2{}), N1 > operator+ (const Array< T1, N1 > &a, const Array< T2, N2 > &b)
 Array + Array. More...
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2>
const ArraySlice< T1, N1, Reverse1, Const1 > & operator+= (const ArraySlice< T1, N1, Reverse1, Const1 > &a, const ArraySlice< T2, N2, Reverse2, Const2 > &b)
 Slice += Slice. More...
 
template<class T1 , class T2 , size_t N1, size_t N2>
Array< T1, N1 > & operator+= (Array< T1, N1 > &a, const Array< T2, N2 > &b)
 Array += Array. More...
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2>
Array< decltype(T1{} - T2{}), N1 > operator- (ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b)
 Slice - Slice. More...
 
template<class T1 , class T2 , size_t N1, size_t N2>
Array< decltype(T1{} - T2{}), N1 > operator- (const Array< T1, N1 > &a, const Array< T2, N2 > &b)
 Array - Array. More...
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2>
const ArraySlice< T1, N1, Reverse1, Const1 > & operator-= (const ArraySlice< T1, N1, Reverse1, Const1 > &a, const ArraySlice< T2, N2, Reverse2, Const2 > &b)
 Slice -= Slice. More...
 
template<class T1 , class T2 , size_t N1, size_t N2>
Array< T1, N1 > & operator-= (Array< T1, N1 > &a, const Array< T2, N2 > &b)
 Array -= Array. More...
 
template<class T1 , class T2 , size_t N1, bool Reverse1, bool Const1>
Array< decltype(T1{} *T2{}), N1 > operator* (ArraySlice< T1, N1, Reverse1, Const1 > a, T2 b)
 Slice * Scalar. More...
 
template<class T1 , class T2 , size_t N1>
Array< decltype(T1{} *T2{}), N1 > operator* (const Array< T1, N1 > &a, T2 b)
 Array * Scalar. More...
 
template<class T1 , class T2 , size_t N2, bool Reverse2, bool Const2>
Array< decltype(T1{} *T2{}), N2 > operator* (T1 a, ArraySlice< T2, N2, Reverse2, Const2 > b)
 Scalar * Slice. More...
 
template<class T1 , class T2 , size_t N2>
Array< decltype(T1{} *T2{}), N2 > operator* (T1 a, const Array< T2, N2 > &b)
 Scalar * Array. More...
 
template<class T1 , class T2 , size_t N1, bool Reverse1, bool Const1>
const ArraySlice< T1, N1, Reverse1, Const1 > & operator*= (const ArraySlice< T1, N1, Reverse1, Const1 > &a, T2 b)
 Slice *= Scalar. More...
 
template<class T1 , class T2 , size_t N1>
Array< T1, N1 > & operator*= (Array< T1, N1 > &a, T2 b)
 Array *= Scalar. More...
 
template<class T1 , class T2 , size_t N1, bool Reverse1, bool Const1>
Array< decltype(T1{}/T2{}), N1 > operator/ (ArraySlice< T1, N1, Reverse1, Const1 > a, T2 b)
 Slice / Scalar. More...
 
template<class T1 , class T2 , size_t N1>
Array< decltype(T1{}/T2{}), N1 > operator/ (const Array< T1, N1 > &a, T2 b)
 Array / Scalar. More...
 
template<class T1 , class T2 , size_t N1, bool Reverse1, bool Const1>
const ArraySlice< T1, N1, Reverse1, Const1 > & operator/= (const ArraySlice< T1, N1, Reverse1, Const1 > &a, T2 b)
 Slice /= Scalar. More...
 
template<class T1 , class T2 , size_t N1>
Array< T1, N1 > & operator/= (Array< T1, N1 > &a, T2 b)
 Array /= Scalar. More...
 
template<class T , size_t N, bool Reverse, bool Const>
Array< decltype(-T{}), N > operator- (ArraySlice< T, N, Reverse, Const > a)
 -Slice More...
 
template<class T , size_t N>
Array< decltype(-T{}), N > operator- (const Array< T, N > &a)
 -Array More...
 
template<class T , size_t N, class G >
Array< T, N > generateArray (G generator)
 Generate an array using the given generator. More...
 
template<size_t N, class G >
auto generateArray (G generator) -> Array< decltype(generator()), N >
 Generate an array using the given generator. More...
 
template<class T , size_t N, class U >
Array< T, N > copyAs (const Array< U, N > &src)
 Copy an Array to an Array of a different type. More...
 
template<class F , class U , size_t N>
Array< decltype(F{}(U{})), N > apply (const Array< U, N > &src, F f)
 Apply a function to all elements of the array and return a copy. More...
 
template<class T , size_t N, class... Args>
Array< T, N > fillArray (Args... args)
 Fill the array with the same value for each element. More...
 
template<class T , size_t N, class U , class V = U>
Array< T, N > generateIncrementalArray (U start=0, V increment=V(1))
 Generate an array where the first value is given, and the subsequent values are calculated as the previous value incremented with a given value:
\( x[0] = \mathrm{start} \)
\( x[k+1] = x[k] + \mathrm{increment} \) . More...
 
template<class T , size_t M, size_t N>
Array< T, M+N > cat (const Array< T, M > &a, const Array< T, N > &b)
 Concatenate two arrays. More...
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2>
Array< decltype(T1() *T2()), N1+N2 - 1 > distribute (const ArraySlice< T1, N1, Reverse1, Const1 > &a, const ArraySlice< T2, N2, Reverse2, Const2 > &b)
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Const1>
Array< decltype(T1() *T2()), N1+N2 - 1 > distribute (const ArraySlice< T1, N1, Reverse1, Const1 > &a, const Array< T2, N2 > &b)
 
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse2, bool Const2>
Array< decltype(T1() *T2()), N1+N2 - 1 > distribute (const Array< T1, N1 > &a, const ArraySlice< T2, N2, Reverse2, Const2 > &b)
 
template<class T1 , class T2 , size_t N1, size_t N2>
Array< decltype(T1() *T2()), N1+N2 - 1 > distribute (const Array< T1, N1 > &a, const Array< T2, N2 > &b)
 
template<typename T , typename... Args>
UniquePtr< T > MakeUnique (Args &&... args)
 
void fatalErrorExit () __attribute__((noreturn))
 Function that executes and loops forever, blinking the built-in LED when a fatal error is encountered. More...
 
template<size_t Bits_out, size_t Bits_in, class T_out , class T_in >
std::enable_if_t<(Bits_out > 2 *Bits_in), T_out > increaseBitDepthImpl (T_in in)
 
template<size_t Bits_out, size_t Bits_in, class T_out , class T_in >
std::enable_if_t<(Bits_out<=2 *Bits_in), T_out > increaseBitDepthImpl (T_in in)
 
template<size_t Bits_out, size_t Bits_in, class T_out , class T_in >
T_out increaseBitDepth (T_in in)
 Increase the bit depth of the given value from Bits_in bits wide to Bits_out bits wide, evenly distributing the error across the entire range, such that the error for each element is between -0.5 and +0.5. More...
 
template<class T , class U >
constexpr auto min (const T &a, const U &b) -> decltype(b< a ? b :a)
 Return the smaller of two numbers/objects. More...
 
template<class T , class U >
constexpr auto max (const T &a, const U &b) -> decltype(a< b ? b :a)
 Return the larger of two numbers/objects. More...
 

Variables

constexpr pin_t NO_PIN = 1 << (8 * sizeof(pin_t) - 1)
 A special pin number that indicates an unused or invalid pin. More...
 
static constexpr uint8_t SevenSegmentCharacters [0x40]
 A lookup table for 7-segment characters, as specified by the Logic Control manual. More...
 
static constexpr const uint8_t * AlphaChars = &SevenSegmentCharacters[0x01]
 
static constexpr const uint8_t * NumericChars = &SevenSegmentCharacters[0x30]
 
template<size_t Bits_out, size_t Bits_in, class T_out , class T_in >
std::enable_if_t<(Bits_out<=2 *Bits_in), T_out > increaseBitDepthImpl (T_in in)
 
constexpr unsigned long defaultBaudRate = 115200
 The default baud rate for debug output. More...
 
constexpr uint8_t ADC_BITS = ADC_RESOLUTION
 The bit depth to use for the ADC (Analog to Digital Converter). More...
 
constexpr uint8_t ANALOG_FILTER_SHIFT_FACTOR = 2
 The factor for the analog filter:
Difference equation: \( y[n] = \alpha\cdot x[n] + (1-\alpha)\cdot y[n-1] \) where \( \alpha = \left(\frac{1}{2}\right)^{ANALOG\_FILTER\_SHIFT\_FACTOR} \). More...
 
constexpr unsigned long BUTTON_DEBOUNCE_TIME = 25
 The debounce time for momentary push buttons in milliseconds. More...
 
constexpr unsigned long LONG_PRESS_DELAY = 450
 The time in milliseconds before a press is registered as a long press. More...
 
constexpr unsigned long LONG_PRESS_REPEAT_DELAY = 200
 The time between increments/decremnets during a long press. More...
 
constexpr unsigned long FILTERED_INPUT_UPDATE_INTERVAL = 1000
 The interval between updating filtered analog inputs, in microseconds. More...
 
constexpr static Frequency SPI_MAX_SPEED = 8_MHz
 

Typedef Documentation

◆ analog_t

using analog_t = uint16_t

The type returned from analogRead and similar functions.

Examples
1.FilteredAnalog.ino, and CCPotentiometer-Map.ino.

Definition at line 15 of file Hardware-Types.hpp.

◆ pin_t

using pin_t = uint16_t

◆ PinList

using PinList = Array<pin_t, N>

An easy alias for arrays of pins.

Definition at line 28 of file Hardware-Types.hpp.

◆ ANALOG_FILTER_TYPE

using ANALOG_FILTER_TYPE = uint16_t

The unsigned integer type to use for analog inputs during filtering.

See also
FilteredAnalog

Definition at line 71 of file AH/Settings/Settings.hpp.

◆ timefunction

using timefunction = unsigned long (*)()

A function type that returns a time value.

Definition at line 15 of file MillisMicrosTimer.hpp.

Enumeration Type Documentation

◆ DotBarMode

enum DotBarMode : bool
strong

An enumeration type to set an LED display to either bar or dot mode.

Enumerator
Bar 

Turn on a range of LEDs up to the active LED.

Dot 

Turn on only the active LED.

Definition at line 15 of file DotBarDisplayLEDs.hpp.

Function Documentation

◆ abs_diff()

constexpr T AH::abs_diff ( const T &  a,
const T &  b 
)
constexpr

Definition at line 17 of file Array.hpp.

◆ generateArray() [1/2]

Array<T, N> AH::generateArray ( generator)

Generate an array using the given generator.

Template Parameters
TThe type of the elements in the array.
NThe number of elements in the array.
GThe generator functor type.
Parameters
generatorA functor that will be called to create each element.
Returns
The generated array.

Definition at line 71 of file ArrayHelpers.hpp.

◆ generateArray() [2/2]

auto AH::generateArray ( generator) -> Array<decltype(generator()), N>

Generate an array using the given generator.

Template Parameters
NThe number of elements in the array.
GThe generator functor type.
Parameters
generatorA functor that will be called to create each element.
Returns
The generated array.

Definition at line 91 of file ArrayHelpers.hpp.

◆ copyAs()

Array<T, N> AH::copyAs ( const Array< U, N > &  src)

Copy an Array to an Array of a different type.

Template Parameters
TThe type of the new array.
NThe number of elements in the arrays.
UThe type of the source array.
Parameters
srcThe source array to be copied.

Definition at line 112 of file ArrayHelpers.hpp.

◆ apply()

Array<decltype(F{}(U{})), N> AH::apply ( const Array< U, N > &  src,
f 
)

Apply a function to all elements of the array and return a copy.

Definition at line 124 of file ArrayHelpers.hpp.

◆ fillArray()

Array<T, N> AH::fillArray ( Args...  args)

Fill the array with the same value for each element.

Definition at line 136 of file ArrayHelpers.hpp.

◆ generateIncrementalArray()

Array<T, N> AH::generateIncrementalArray ( start = 0,
increment = V(1) 
)

Generate an array where the first value is given, and the subsequent values are calculated as the previous value incremented with a given value:
\( x[0] = \mathrm{start} \)
\( x[k+1] = x[k] + \mathrm{increment} \) .

For example:

auto x = generateIncrementalArray<unsigned int, 4>(2, 3);

is equivalent to

Array<unsigned int, 4> x = {2, 5, 8, 11};
Template Parameters
TThe type of the elements in the array.
NThe number of elements in the array.
UThe type of the initial value.
VThe type of the value that will be added to each subsequent element.
Parameters
startThe first value in the array.
incrementThe value to add to each subsequent element of the array.
Returns
The generated array.
Examples
Toggle-LEDs.ino.

Definition at line 183 of file ArrayHelpers.hpp.

◆ cat()

Array<T, M + N> AH::cat ( const Array< T, M > &  a,
const Array< T, N > &  b 
)

Concatenate two arrays.

Template Parameters
TThe type of the elements in the array.
MThe number of elements in the first array.
NThe number of elements in the second array.
Parameters
aThe first array.
bThe second array.
Returns
A new array containing the elements of both input arrays (in order).

Definition at line 204 of file ArrayHelpers.hpp.

◆ distribute() [1/4]

Array<decltype(T1() * T2()), N1 + N2 - 1> AH::distribute ( const ArraySlice< T1, N1, Reverse1, Const1 > &  a,
const ArraySlice< T2, N2, Reverse2, Const2 > &  b 
)

Definition at line 218 of file ArrayHelpers.hpp.

◆ distribute() [2/4]

Array<decltype(T1() * T2()), N1 + N2 - 1> AH::distribute ( const ArraySlice< T1, N1, Reverse1, Const1 > &  a,
const Array< T2, N2 > &  b 
)

Definition at line 229 of file ArrayHelpers.hpp.

◆ distribute() [3/4]

Array<decltype(T1() * T2()), N1 + N2 - 1> AH::distribute ( const Array< T1, N1 > &  a,
const ArraySlice< T2, N2, Reverse2, Const2 > &  b 
)

Definition at line 236 of file ArrayHelpers.hpp.

◆ distribute() [4/4]

Array<decltype(T1() * T2()), N1 + N2 - 1> AH::distribute ( const Array< T1, N1 > &  a,
const Array< T2, N2 > &  b 
)

Definition at line 243 of file ArrayHelpers.hpp.

◆ fatalErrorExit()

void fatalErrorExit ( )

Function that executes and loops forever, blinking the built-in LED when a fatal error is encountered.

Definition at line 10 of file Exit.cpp.

◆ increaseBitDepthImpl() [1/2]

std::enable_if_t<(Bits_out > 2 * Bits_in), T_out> AH::increaseBitDepthImpl ( T_in  in)

Definition at line 18 of file IncreaseBitDepth.hpp.

◆ increaseBitDepthImpl() [2/2]

std::enable_if_t<(Bits_out <= 2 * Bits_in), T_out> AH::increaseBitDepthImpl ( T_in  in)

Definition at line 26 of file IncreaseBitDepth.hpp.

Variable Documentation

◆ NO_PIN

constexpr pin_t NO_PIN = 1 << (8 * sizeof(pin_t) - 1)
constexpr

A special pin number that indicates an unused or invalid pin.

Definition at line 24 of file Hardware-Types.hpp.

◆ SevenSegmentCharacters

constexpr uint8_t SevenSegmentCharacters[0x40]
staticconstexpr
Initial value:
= {
0b00000000, 0b01110111, 0b00011111, 0b01001110,
0b00111101, 0b01001111, 0b01000111, 0b01011110,
0b00010111, 0b00110000, 0b00111100, 0b00000111,
0b00001110, 0b01110110, 0b00010101, 0b00011101,
0b01100111, 0b01110011, 0b00000101, 0b01011011,
0b00001111, 0b00011100, 0b00100111, 0b00111110,
0b00110111, 0b00111011, 0b01101101, 0b01001110,
0b00010011, 0b01111000, 0b01100010, 0b00001000,
0b00000000, 0b00000000, 0b00100010, 0b01100011,
0b01011011, 0b01100111, 0b01111101, 0b00000010,
0b01001110, 0b01111000, 0b01100011, 0b00110001,
0b00000100, 0b00000001, 0b00001000, 0b00100101,
0b01111110, 0b00110000, 0b01101101, 0b01111001,
0b00110011, 0b01011011, 0b01011111, 0b01110000,
0b01111111, 0b01111011, 0b00000000, 0b01000100,
0b00110001, 0b00001001, 0b00000111, 0b01100101,
}

A lookup table for 7-segment characters, as specified by the Logic Control manual.

A | | F | | B |__G__| | | E | | C |__D__| o DP

Definition at line 22 of file MAX7219SevenSegmentDisplay.hpp.

◆ AlphaChars

constexpr const uint8_t* AlphaChars = &SevenSegmentCharacters[0x01]
staticconstexpr

Definition at line 41 of file MAX7219SevenSegmentDisplay.hpp.

◆ NumericChars

constexpr const uint8_t* NumericChars = &SevenSegmentCharacters[0x30]
staticconstexpr

Definition at line 42 of file MAX7219SevenSegmentDisplay.hpp.

◆ increaseBitDepthImpl

std::enable_if_t<(Bits_out <= 2 * Bits_in), T_out> increaseBitDepthImpl(T_in in)

Definition at line 14 of file IncreaseBitDepth.hpp.

◆ defaultBaudRate

constexpr unsigned long defaultBaudRate = 115200
constexpr

The default baud rate for debug output.

Definition at line 36 of file AH/Settings/Settings.hpp.

◆ ADC_BITS

constexpr uint8_t ADC_BITS = ADC_RESOLUTION
constexpr

The bit depth to use for the ADC (Analog to Digital Converter).

By default, the maximum supported resolution is used, but if you need it for compatibility with other code that expects the default 10-bit resolution, you can use

constexpr uint8_t ADC_BITS = 10;

If the library doesn't know your specific hardware, it defaults to 10 bits. This might not be the optimal resolution, so it's best to add the actual resolution to Hardware/ADCConfig.hpp.

Definition at line 53 of file AH/Settings/Settings.hpp.

◆ ANALOG_FILTER_SHIFT_FACTOR

constexpr uint8_t ANALOG_FILTER_SHIFT_FACTOR = 2
constexpr

The factor for the analog filter:
Difference equation: \( y[n] = \alpha\cdot x[n] + (1-\alpha)\cdot y[n-1] \) where \( \alpha = \left(\frac{1}{2}\right)^{ANALOG\_FILTER\_SHIFT\_FACTOR} \).

See also
FilteredAnalog

Definition at line 64 of file AH/Settings/Settings.hpp.

◆ BUTTON_DEBOUNCE_TIME

constexpr unsigned long BUTTON_DEBOUNCE_TIME = 25
constexpr

The debounce time for momentary push buttons in milliseconds.

Definition at line 74 of file AH/Settings/Settings.hpp.

◆ LONG_PRESS_DELAY

constexpr unsigned long LONG_PRESS_DELAY = 450
constexpr

The time in milliseconds before a press is registered as a long press.

Definition at line 77 of file AH/Settings/Settings.hpp.

◆ LONG_PRESS_REPEAT_DELAY

constexpr unsigned long LONG_PRESS_REPEAT_DELAY = 200
constexpr

The time between increments/decremnets during a long press.

Definition at line 80 of file AH/Settings/Settings.hpp.

◆ FILTERED_INPUT_UPDATE_INTERVAL

constexpr unsigned long FILTERED_INPUT_UPDATE_INTERVAL = 1000
constexpr

The interval between updating filtered analog inputs, in microseconds.

Definition at line 83 of file AH/Settings/Settings.hpp.

◆ SPI_MAX_SPEED

constexpr static Frequency SPI_MAX_SPEED = 8_MHz
staticconstexpr
AH::ADC_BITS
constexpr uint8_t ADC_BITS
The bit depth to use for the ADC (Analog to Digital Converter).
Definition: AH/Settings/Settings.hpp:53