59 lines
1.2 KiB
C++
59 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "Cable.hpp"
|
|
#include "Channel.hpp"
|
|
#include <AH/Containers/Array.hpp>
|
|
#include <AH/Hardware/Arduino-Hardware-Types.hpp>
|
|
#include <AH/Hardware/Hardware-Types.hpp>
|
|
#include <AH/STL/limits>
|
|
#include <Settings/NamespaceSettings.hpp>
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
BEGIN_CS_NAMESPACE
|
|
|
|
using ::ArduinoPin_t;
|
|
using AH::analog_t;
|
|
using AH::NO_PIN;
|
|
using AH::pin_t;
|
|
using AH::PinList;
|
|
|
|
using MappingFunction = analog_t (*)(analog_t);
|
|
|
|
using AH::Array;
|
|
using AH::Array2D;
|
|
|
|
template <uint8_t NumRows, uint8_t NumCols>
|
|
using AddressMatrix = Array2D<uint8_t, NumRows, NumCols>;
|
|
|
|
struct EncoderSwitchPinList {
|
|
EncoderSwitchPinList(uint8_t A, uint8_t B, pin_t switchPin)
|
|
: A(A), B(B), switchPin(switchPin) {}
|
|
EncoderSwitchPinList(uint8_t A, uint8_t B)
|
|
: A(A), B(B), switchPin(NO_PIN) {}
|
|
|
|
uint8_t A;
|
|
uint8_t B;
|
|
pin_t switchPin;
|
|
};
|
|
|
|
struct EncoderPinList {
|
|
uint8_t A;
|
|
uint8_t B;
|
|
};
|
|
|
|
using setting_t = uint8_t;
|
|
constexpr setting_t NoSetting =
|
|
(std::numeric_limits<setting_t>::max() >> 1) + 1;
|
|
|
|
struct Potentiometer {};
|
|
struct MotorFader {};
|
|
struct Display {};
|
|
|
|
struct PixelLocation {
|
|
int16_t x;
|
|
int16_t y;
|
|
};
|
|
|
|
END_CS_NAMESPACE
|