#pragma once #include enum class DigitalPort { // Common with Teensy 3.1 / 3.2 D0, // PTB16 D1, // PTB17 D2, // PTD0 D3, // PTA12 D4, // PTA13 D5, // PTD7 D6, // PTD4 D7, // PTD2 D8, // PTD3 D9, // PTC3 D10, // PTC4 D11, // PTC6 D12, // PTC7 D13, // PTC5 D14, // PTD1 D15, // PTC0 D16, // PTB0 D17, // PTB1 D18, // PTB3 D19, // PTB2 D20, // PTD5 D21, // PTD6 D22, // PTC1 D23, // PTC2 // Only on Teensy 3.6 D24, // PTE26 D25, // PTA5 D26, // PTA14 D27, // PTA15 D28, // PTA16 D29, // PTB18 D30, // PTB19 D31, // PTB10 D32, // PTB11 D33, // PTE24 D34, // PTE25 D35, // PTC8 D36, // PTC9 D37, // PTC10 D38, // PTC11 D39, // PTA17 D40, // PTA28 D41, // PTA29 D42, // PTA26 D43, // PTB20 D44, // PTB22 D45, // PTB23 D46, // PTB21 D47, // PTD8 D48, // PTD9 D49, // PTB4 D50, // PTB5 D51, // PTD14 D52, // PTD13 D53, // PTD12 D54, // PTD15 D55, // PTD11 D56, // PTE10 D57, // PTE11 // No port True, // Fictive port: no effect on write, always read true False // Fictive port: no effect on write, always read false } ; enum class DigitalMode { OUTPUT, OUTPUT_OPEN_COLLECTOR, INPUT, INPUT_PULLDOWN, INPUT_PULLUP } ; void pinMode (const DigitalPort inPort, const DigitalMode inMode) ; bool digitalRead (const DigitalPort inPort) ; void digitalWrite (const DigitalPort inPort, const bool inValue) ; void digitalToggle (const DigitalPort inPort) ;