LedRing/src/pin_map.hpp

53 lines
1.5 KiB
C++

#ifndef __PIN_MAP_HPP__
#define __PIN_MAP_HPP__
#if defined(ARDUINO_AVR_ATTINYX5)
/* LedStrip output pin */
uint8_t const LedPin{PIN_PB0};
/* Button analog input pin */
/* Note: we use PB5 as button input which is also the reset pin, to avoid reseting we read an analogic value with
* lower voltage than the triger value of reset */
int const AnalogButtonVRef{970};
uint8_t const ButtonPin{PINA0};
/* Rotary encoder input pins */
/* TODO: change to PB2 for using int0 */
uint8_t const EncoderPinA{PIN_PB3};
uint8_t const EncoderPinB{PIN_PB4};
/* Uart for serial debug pins */
#if defined(__BUILD_DEBUG__)
uint8_t const TxPin{PIN_PB1};
uint8_t const RxPin{PIN_PB2};
#endif /* defined(__BUILD_DEBUG__) */
#elif defined(ARDUINO_AVR_ATTINYX41)
/* LedStrip output pin */
uint8_t const LedPin{PIN_PA1};
/* Button input pin (internally pulled up) */
uint8_t const ButtonPin{PIN_PA0};
/* Rotary encoder input pins */
/* PB1 is interrupt pin (int0)*/
uint8_t const EncoderPinA{PIN_PB1};
uint8_t const EncoderPinB{PIN_PB0};
/* Uart for serial debug pins */
#if defined(__BUILD_DEBUG__)
uint8_t const TxPin{PIN_PA5};
uint8_t const RxPin{PIN_PA4};
#endif /* defined(__BUILD_DEBUG__) */
#elif defined(ARDUINO_AVR_UNO)
/* LedStrip output pin */
uint8_t const LedPin{11};
/* Button analog input pin */
uint8_t const ButtonPin{A0};
/* Rotary encoder input pins */
/* INT0 and INT1 */
uint8_t const EncoderPinA{2};
uint8_t const EncoderPinB{3};
#endif /* Hardware selection */
#endif /* __PIN_MAP_HPP__ */