cs-midi/Def/Def.hpp

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