Mozzi  version v2.0
sound synthesis library for Arduino
teensyPinMap.h
1 /*
2  * teensyPinMap.h
3  *
4  * This file is part of Mozzi.
5  *
6  * Copyright 2021-2024 T. Combriat and the Mozzi Team
7  *
8  * Mozzi is licensed under the GNU Lesser General Public Licence (LGPL) Version 2.1 or later.
9  *
10 */
11 
12 #ifndef TEENSYPINMAP_H_
13 #define TEENSYPINMAP_H
14 
15 
16 inline uint8_t teensyPinMap(uint8_t pin)
17 {
18  if (pin < 24) return pin-14; // common to all teensys
19 
20 #if defined (__MK20DX128__) // Teensy 3.0
21  return pin - 24;
22 
23 #elif defined (__MK20DX256__) // Teensy 3.1/3.2
24 
25  switch (pin)
26  {
27  case 34:
28  return 10;
29  case 35:
30  return 11;
31  case 36:
32  return 12;
33  case 37:
34  return 13;
35  case 40:
36  return 14;
37  case 26:
38  return 15;
39  case 27:
40  return 16;
41  case 28:
42  return 17;
43  case 29:
44  return 18;
45  case 30:
46  return 19;
47  case 31:
48  return 20;
49  }
50  return pin - 24; // probably incorrect
51 
52 
53 #elif defined (__MKL26Z64__) //TeensyLC
54  return pin-14;
55 
56 
57 #elif defined(__MK64FX512__) || defined(__MK66FX1M0__) // Teensy 3.5//3.6
58  switch (pin)
59  {
60  case 64:
61  return 10;
62  case 65:
63  return 11;
64  case 31:
65  return 12;
66  case 32:
67  return 13;
68  case 33:
69  return 14;
70  case 34:
71  return 15;
72  case 35:
73  return 16;
74  case 36:
75  return 17;
76  case 37:
77  return 18;
78  case 38:
79  return 19;
80  case 39:
81  return 20;
82  case 66:
83  return 21;
84  case 67:
85  return 22;
86  case 49:
87  return 23;
88  case 50:
89  return 24;
90  case 68:
91  return 25;
92  case 69:
93  return 26;
94  }
95  return pin-14; // probably incorrect, but we need to return *something*
96 
97 #elif defined ARDUINO_TEENSY40
98  return pin-14;
99 
100 #elif defined ARDUINO_TEENSY41
101  if (pin< 28) return pin-14;
102  return pin-24;
103 #endif
104 }
105 
106 
107 
108 
109 
110 #endif