Browse Source

Import files for digital input/output

DricomDragon 5 years ago
parent
commit
7332a0c24d
2 changed files with 1151 additions and 0 deletions
  1. 1056 0
      prog/sources/teensy-3-6-digital-io.cpp
  2. 95 0
      prog/sources/teensy-3-6-digital-io.h

File diff suppressed because it is too large
+ 1056 - 0
prog/sources/teensy-3-6-digital-io.cpp


+ 95 - 0
prog/sources/teensy-3-6-digital-io.h

@@ -0,0 +1,95 @@
+#pragma once
+
+//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
+
+#include <stdint.h>
+
+//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
+
+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) ;
+
+//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————