Mozzi  version v1.1.0
sound synthesis library for Arduino
teensyPinMap.h
1 /*
2  * teensyPinMap.h
3  *
4  * Copyright 2021 T. Combriat.
5  *
6  * This file is part of Mozzi.
7  *
8  * Mozzi is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
9  *
10  */
11 
12 #ifndef TEENSYPINMAP_H_
13 #define TEENSYPINMAP_H
14 
15 
16 #include "mozzi_config.h"
17 
18 
19 
20 inline uint8_t teensyPinMap(uint8_t pin)
21 {
22  if (pin < 24) return pin-14; // common to all teensys
23 
24 #if defined (__MK20DX128__) // Teensy 3.0
25  return pin - 24;
26 
27 #elif defined (__MK20DX256__) // Teensy 3.1/3.2
28 
29  switch (pin)
30  {
31  case 34:
32  return 10;
33  case 35:
34  return 11;
35  case 36:
36  return 12;
37  case 37:
38  return 13;
39  case 40:
40  return 14;
41  case 26:
42  return 15;
43  case 27:
44  return 16;
45  case 28:
46  return 17;
47  case 29:
48  return 18;
49  case 30:
50  return 19;
51  case 31:
52  return 20;
53  }
54 
55 
56 
57 
58 #elif defined (__MKL26Z64__) //TeensyLC
59  return pin-14;
60 
61 
62 #elif defined(__MK64FX512__) || defined(__MK66FX1M0__) // Teensy 3.5//3.6
63  switch (pin)
64  {
65  case 64:
66  return 10;
67  case 65:
68  return 11;
69  case 31:
70  return 12;
71  case 32:
72  return 13;
73  case 33:
74  return 14;
75  case 34:
76  return 15;
77  case 35:
78  return 16;
79  case 36:
80  return 17;
81  case 37:
82  return 18;
83  case 38:
84  return 19;
85  case 39:
86  return 20;
87  case 66:
88  return 21;
89  case 67:
90  return 22;
91  case 49:
92  return 23;
93  case 50:
94  return 24;
95  case 68:
96  return 25;
97  case 69:
98  return 26;
99  }
100 
101 #elif defined ARDUINO_TEENSY40
102  return pin-14;
103 
104 #elif defined ARDUINO_TEENSY41
105  if (pin< 28) return pin-14;
106  return pin-24;
107 #endif
108 
109 
110 
111 }
112 
113 
114 
115 
116 
117 #endif