Prusa MINI Firmware overview
pins_arduino.h File Reference
#include "variant.h"

Go to the source code of this file.

Macros

#define MAX_ANALOG_INPUTS   24
 
#define AEND   (NUM_ANALOG_FIRST + NUM_ANALOG_INPUTS)
 
#define PIN_SPI_SS   10
 
#define PIN_SPI_SS1   4
 
#define PIN_SPI_SS2   7
 
#define PIN_SPI_SS3   8
 
#define PIN_SPI_MOSI   11
 
#define PIN_SPI_MISO   12
 
#define PIN_SPI_SCK   13
 
#define PIN_WIRE_SDA   14
 
#define PIN_WIRE_SCL   15
 
#define NOT_AN_INTERRUPT   NC
 
#define digitalPinToPinName(p)   (((uint32_t)p < NUM_DIGITAL_PINS) ? digitalPin[p] : NC)
 
#define analogInputToDigitalPin(p)   (((uint32_t)p < NUM_ANALOG_INPUTS) ? (p + A0) : p)
 
#define analogInputToPinName(p)   (digitalPinToPinName(analogInputToDigitalPin(p)))
 
#define digitalPinToInterrupt(p)   (digitalPinIsValid(p) ? p : NOT_AN_INTERRUPT)
 
#define digitalPinHasI2C(p)   (pin_in_pinmap(digitalPinToPinName(p), PinMap_I2C_SDA) || pin_in_pinmap(digitalPinToPinName(p), PinMap_I2C_SCL))
 
#define digitalPinHasPWM(p)   (pin_in_pinmap(digitalPinToPinName(p), PinMap_PWM))
 
#define digitalPinHasSerial(p)   (pin_in_pinmap(digitalPinToPinName(p), PinMap_UART_RX) || pin_in_pinmap(digitalPinToPinName(p), PinMap_UART_TX))
 
#define digitalPinHasSPI(p)   (pin_in_pinmap(digitalPinToPinName(p), PinMap_SPI_MOSI) || pin_in_pinmap(digitalPinToPinName(p), PinMap_SPI_MISO) || pin_in_pinmap(digitalPinToPinName(p), PinMap_SPI_SCLK) || pin_in_pinmap(digitalPinToPinName(p), PinMap_SPI_SSEL))
 
#define digitalPinToPort(p)   (get_GPIO_Port(STM_PORT(digitalPinToPinName(p))))
 
#define digitalPinToBitMask(p)   (STM_GPIO_PIN(digitalPinToPinName(p)))
 
#define analogInPinToBit(p)   (STM_GPIO_PIN(digitalPinToPinName(p)))
 
#define portOutputRegister(P)   (&(P->ODR))
 
#define portInputRegister(P)   (&(P->IDR))
 
#define portSetRegister(P)   (&(P->BSRR))
 
#define portClearRegister(P)   (&(P->BRR))
 
#define portModeRegister(P)   (&(P->MODER))
 
#define portConfigRegister(P)   (portModeRegister(P))
 
#define digitalPinIsValid(p)   (digitalPinToPinName(p) != NC)
 
#define digitalPinFirstOccurence(p)   (pinNametoDigitalPin(digitalPinToPinName(p)))
 
#define ADC_RESOLUTION   12
 
#define DACC_RESOLUTION   12
 
#define PWM_RESOLUTION   8
 
#define PWM_FREQUENCY   1000
 
#define PWM_MAX_DUTY_CYCLE   255
 

Enumerations

enum  {
  D0, D1, D2, D3,
  D4, D5, D6, D7,
  D8, D9, D10, D11,
  D12, D13, D14, D15,
  D16, D17, D18, D19,
  D20, D21, D22, D23,
  D24, D25, D26, D27,
  D28, D29, D30, D31,
  D32, D33, D34, D35,
  D36, D37, D38, D39,
  D40, D41, D42, D43,
  D44, D45, D46, D47,
  D48, D49, D50, D51,
  D52, D53, D54, D55,
  D56, D57, D58, D59,
  D60, D61, D62, D63,
  D64, D65, D66, D67,
  D68, D69, D70, D71,
  D72, D73, D74, D75,
  D76, D77, D78, D79,
  D80, D81, D82, D83,
  D84, D85, D86, D87,
  D88, D89, D90, D91,
  D92, D93, D94, D95,
  D96, D97, D98, D99,
  D100, D101, D102, D103,
  D104, D105, D106, D107,
  D108, D109, D110, D111,
  D112, D113, D114, D115,
  D116, D117, D118, D119,
  D120, D121, D122, D123,
  D124, D125, D126, D127,
  D128, D129, D130, D131,
  D132, D133, D134, D135,
  D136, D137, D138, D139,
  D140, D141, D142, D143,
  D144, D145, D146, D147,
  D148, D149, D150, D151,
  D152, D153, D154, D155,
  D156, D157, D158, D159,
  D160, D161, D162, D163,
  D164, D165, D166, D167,
  D168, D169, D170, D171,
  D172, D173, D174, D175,
  DMAX
}
 

Functions

 _Static_assert (LastPort<=0x0F, "PortName must be less than 16")
 
 _Static_assert (NUM_ANALOG_INPUTS<=MAX_ANALOG_INPUTS, "Core NUM_ANALOG_INPUTS limited to MAX_ANALOG_INPUTS")
 
 _Static_assert (NUM_ANALOG_FIRST >=NUM_ANALOG_INPUTS, "First analog pin value (A0) must be greater than or equal to NUM_ANALOG_INPUTS")
 
uint32_t pinNametoDigitalPin (PinName p)
 

Variables

static const uint8_t SS = PIN_SPI_SS
 
static const uint8_t SS1 = PIN_SPI_SS1
 
static const uint8_t SS2 = PIN_SPI_SS2
 
static const uint8_t SS3 = PIN_SPI_SS3
 
static const uint8_t MOSI = PIN_SPI_MOSI
 
static const uint8_t MISO = PIN_SPI_MISO
 
static const uint8_t SCK = PIN_SPI_SCK
 
static const uint8_t SDA = PIN_WIRE_SDA
 
static const uint8_t SCL = PIN_WIRE_SCL
 

Macro Definition Documentation

◆ MAX_ANALOG_INPUTS

#define MAX_ANALOG_INPUTS   24

◆ AEND

#define AEND   (NUM_ANALOG_FIRST + NUM_ANALOG_INPUTS)

◆ PIN_SPI_SS

#define PIN_SPI_SS   10

◆ PIN_SPI_SS1

#define PIN_SPI_SS1   4

◆ PIN_SPI_SS2

#define PIN_SPI_SS2   7

◆ PIN_SPI_SS3

#define PIN_SPI_SS3   8

◆ PIN_SPI_MOSI

#define PIN_SPI_MOSI   11

◆ PIN_SPI_MISO

#define PIN_SPI_MISO   12

◆ PIN_SPI_SCK

#define PIN_SPI_SCK   13

◆ PIN_WIRE_SDA

#define PIN_WIRE_SDA   14

◆ PIN_WIRE_SCL

#define PIN_WIRE_SCL   15

◆ NOT_AN_INTERRUPT

#define NOT_AN_INTERRUPT   NC

◆ digitalPinToPinName

#define digitalPinToPinName (   p)    (((uint32_t)p < NUM_DIGITAL_PINS) ? digitalPin[p] : NC)

◆ analogInputToDigitalPin

#define analogInputToDigitalPin (   p)    (((uint32_t)p < NUM_ANALOG_INPUTS) ? (p + A0) : p)

◆ analogInputToPinName

#define analogInputToPinName (   p)    (digitalPinToPinName(analogInputToDigitalPin(p)))

◆ digitalPinToInterrupt

#define digitalPinToInterrupt (   p)    (digitalPinIsValid(p) ? p : NOT_AN_INTERRUPT)

◆ digitalPinHasI2C

#define digitalPinHasI2C (   p)    (pin_in_pinmap(digitalPinToPinName(p), PinMap_I2C_SDA) || pin_in_pinmap(digitalPinToPinName(p), PinMap_I2C_SCL))

◆ digitalPinHasPWM

#define digitalPinHasPWM (   p)    (pin_in_pinmap(digitalPinToPinName(p), PinMap_PWM))

◆ digitalPinHasSerial

#define digitalPinHasSerial (   p)    (pin_in_pinmap(digitalPinToPinName(p), PinMap_UART_RX) || pin_in_pinmap(digitalPinToPinName(p), PinMap_UART_TX))

◆ digitalPinHasSPI

#define digitalPinHasSPI (   p)    (pin_in_pinmap(digitalPinToPinName(p), PinMap_SPI_MOSI) || pin_in_pinmap(digitalPinToPinName(p), PinMap_SPI_MISO) || pin_in_pinmap(digitalPinToPinName(p), PinMap_SPI_SCLK) || pin_in_pinmap(digitalPinToPinName(p), PinMap_SPI_SSEL))

◆ digitalPinToPort

#define digitalPinToPort (   p)    (get_GPIO_Port(STM_PORT(digitalPinToPinName(p))))

◆ digitalPinToBitMask

#define digitalPinToBitMask (   p)    (STM_GPIO_PIN(digitalPinToPinName(p)))

◆ analogInPinToBit

#define analogInPinToBit (   p)    (STM_GPIO_PIN(digitalPinToPinName(p)))

◆ portOutputRegister

#define portOutputRegister (   P)    (&(P->ODR))

◆ portInputRegister

#define portInputRegister (   P)    (&(P->IDR))

◆ portSetRegister

#define portSetRegister (   P)    (&(P->BSRR))

◆ portClearRegister

#define portClearRegister (   P)    (&(P->BRR))

◆ portModeRegister

#define portModeRegister (   P)    (&(P->MODER))

◆ portConfigRegister

#define portConfigRegister (   P)    (portModeRegister(P))

◆ digitalPinIsValid

#define digitalPinIsValid (   p)    (digitalPinToPinName(p) != NC)

◆ digitalPinFirstOccurence

#define digitalPinFirstOccurence (   p)    (pinNametoDigitalPin(digitalPinToPinName(p)))

◆ ADC_RESOLUTION

#define ADC_RESOLUTION   12

◆ DACC_RESOLUTION

#define DACC_RESOLUTION   12

◆ PWM_RESOLUTION

#define PWM_RESOLUTION   8

◆ PWM_FREQUENCY

#define PWM_FREQUENCY   1000

◆ PWM_MAX_DUTY_CYCLE

#define PWM_MAX_DUTY_CYCLE   255

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
D0 
D1 
D2 
D3 
D4 
D5 
D6 
D7 
D8 
D9 
D10 
D11 
D12 
D13 
D14 
D15 
D16 
D17 
D18 
D19 
D20 
D21 
D22 
D23 
D24 
D25 
D26 
D27 
D28 
D29 
D30 
D31 
D32 
D33 
D34 
D35 
D36 
D37 
D38 
D39 
D40 
D41 
D42 
D43 
D44 
D45 
D46 
D47 
D48 
D49 
D50 
D51 
D52 
D53 
D54 
D55 
D56 
D57 
D58 
D59 
D60 
D61 
D62 
D63 
D64 
D65 
D66 
D67 
D68 
D69 
D70 
D71 
D72 
D73 
D74 
D75 
D76 
D77 
D78 
D79 
D80 
D81 
D82 
D83 
D84 
D85 
D86 
D87 
D88 
D89 
D90 
D91 
D92 
D93 
D94 
D95 
D96 
D97 
D98 
D99 
D100 
D101 
D102 
D103 
D104 
D105 
D106 
D107 
D108 
D109 
D110 
D111 
D112 
D113 
D114 
D115 
D116 
D117 
D118 
D119 
D120 
D121 
D122 
D123 
D124 
D125 
D126 
D127 
D128 
D129 
D130 
D131 
D132 
D133 
D134 
D135 
D136 
D137 
D138 
D139 
D140 
D141 
D142 
D143 
D144 
D145 
D146 
D147 
D148 
D149 
D150 
D151 
D152 
D153 
D154 
D155 
D156 
D157 
D158 
D159 
D160 
D161 
D162 
D163 
D164 
D165 
D166 
D167 
D168 
D169 
D170 
D171 
D172 
D173 
D174 
D175 
DMAX 
28  {
29  D0,
30  D1,
31  D2,
32  D3,
33  D4,
34  D5,
35  D6,
36  D7,
37  D8,
38  D9,
39  D10,
40  D11,
41  D12,
42  D13,
43  D14,
44  D15,
45  D16,
46  D17,
47  D18,
48  D19,
49  D20,
50  D21,
51  D22,
52  D23,
53  D24,
54  D25,
55  D26,
56  D27,
57  D28,
58  D29,
59  D30,
60  D31,
61  D32,
62  D33,
63  D34,
64  D35,
65  D36,
66  D37,
67  D38,
68  D39,
69  D40,
70  D41,
71  D42,
72  D43,
73  D44,
74  D45,
75  D46,
76  D47,
77  D48,
78  D49,
79  D50,
80  D51,
81  D52,
82  D53,
83  D54,
84  D55,
85  D56,
86  D57,
87  D58,
88  D59,
89  D60,
90  D61,
91  D62,
92  D63,
93  D64,
94  D65,
95  D66,
96  D67,
97  D68,
98  D69,
99  D70,
100  D71,
101  D72,
102  D73,
103  D74,
104  D75,
105  D76,
106  D77,
107  D78,
108  D79,
109  D80,
110  D81,
111  D82,
112  D83,
113  D84,
114  D85,
115  D86,
116  D87,
117  D88,
118  D89,
119  D90,
120  D91,
121  D92,
122  D93,
123  D94,
124  D95,
125  D96,
126  D97,
127  D98,
128  D99,
129  D100,
130  D101,
131  D102,
132  D103,
133  D104,
134  D105,
135  D106,
136  D107,
137  D108,
138  D109,
139  D110,
140  D111,
141  D112,
142  D113,
143  D114,
144  D115,
145  D116,
146  D117,
147  D118,
148  D119,
149  D120,
150  D121,
151  D122,
152  D123,
153  D124,
154  D125,
155  D126,
156  D127,
157  D128,
158  D129,
159  D130,
160  D131,
161  D132,
162  D133,
163  D134,
164  D135,
165  D136,
166  D137,
167  D138,
168  D139,
169  D140,
170  D141,
171  D142,
172  D143,
173  D144,
174  D145,
175  D146,
176  D147,
177  D148,
178  D149,
179  D150,
180  D151,
181  D152,
182  D153,
183  D154,
184  D155,
185  D156,
186  D157,
187  D158,
188  D159,
189  D160,
190  D161,
191  D162,
192  D163,
193  D164,
194  D165,
195  D166,
196  D167,
197  D168,
198  D169,
199  D170,
200  D171,
201  D172,
202  D173,
203  D174,
204  D175,
205  DMAX
206 };

Function Documentation

◆ _Static_assert() [1/3]

_Static_assert ( LastPort<=  0x0F,
"PortName must be less than 16"   
)

◆ _Static_assert() [2/3]

_Static_assert ( NUM_ANALOG_INPUTS<=  MAX_ANALOG_INPUTS,
"Core NUM_ANALOG_INPUTS limited to MAX_ANALOG_INPUTS  
)

◆ _Static_assert() [3/3]

_Static_assert ( NUM_ANALOG_FIRST >=  NUM_ANALOG_INPUTS,
"First analog pin value (A0) must be greater than or equal to NUM_ANALOG_INPUTS  
)

◆ pinNametoDigitalPin()

uint32_t pinNametoDigitalPin ( PinName  p)

Variable Documentation

◆ SS

const uint8_t SS = PIN_SPI_SS
static

◆ SS1

const uint8_t SS1 = PIN_SPI_SS1
static

◆ SS2

const uint8_t SS2 = PIN_SPI_SS2
static

◆ SS3

const uint8_t SS3 = PIN_SPI_SS3
static

◆ MOSI

const uint8_t MOSI = PIN_SPI_MOSI
static

◆ MISO

const uint8_t MISO = PIN_SPI_MISO
static

◆ SCK

const uint8_t SCK = PIN_SPI_SCK
static

◆ SDA

const uint8_t SDA = PIN_WIRE_SDA
static

◆ SCL

const uint8_t SCL = PIN_WIRE_SCL
static
D145
Definition: pins_arduino.h:174
DMAX
Definition: pins_arduino.h:205
D44
Definition: pins_arduino.h:73
D143
Definition: pins_arduino.h:172
D35
Definition: pins_arduino.h:64
D153
Definition: pins_arduino.h:182
D71
Definition: pins_arduino.h:100
D51
Definition: pins_arduino.h:80
D82
Definition: pins_arduino.h:111
D76
Definition: pins_arduino.h:105
D38
Definition: pins_arduino.h:67
D30
Definition: pins_arduino.h:59
D6
Definition: pins_arduino.h:35
D132
Definition: pins_arduino.h:161
D140
Definition: pins_arduino.h:169
D115
Definition: pins_arduino.h:144
D58
Definition: pins_arduino.h:87
D2
Definition: pins_arduino.h:31
D26
Definition: pins_arduino.h:55
D107
Definition: pins_arduino.h:136
D108
Definition: pins_arduino.h:137
D74
Definition: pins_arduino.h:103
D0
Definition: pins_arduino.h:29
D158
Definition: pins_arduino.h:187
D29
Definition: pins_arduino.h:58
D144
Definition: pins_arduino.h:173
D62
Definition: pins_arduino.h:91
D90
Definition: pins_arduino.h:119
D73
Definition: pins_arduino.h:102
D13
Definition: pins_arduino.h:42
D14
Definition: pins_arduino.h:43
D93
Definition: pins_arduino.h:122
D122
Definition: pins_arduino.h:151
D159
Definition: pins_arduino.h:188
D61
Definition: pins_arduino.h:90
D97
Definition: pins_arduino.h:126
D18
Definition: pins_arduino.h:47
D110
Definition: pins_arduino.h:139
D114
Definition: pins_arduino.h:143
D133
Definition: pins_arduino.h:162
D32
Definition: pins_arduino.h:61
D80
Definition: pins_arduino.h:109
D173
Definition: pins_arduino.h:202
D102
Definition: pins_arduino.h:131
D148
Definition: pins_arduino.h:177
D3
Definition: pins_arduino.h:32
D152
Definition: pins_arduino.h:181
D10
Definition: pins_arduino.h:39
D79
Definition: pins_arduino.h:108
D24
Definition: pins_arduino.h:53
D119
Definition: pins_arduino.h:148
D41
Definition: pins_arduino.h:70
D165
Definition: pins_arduino.h:194
D96
Definition: pins_arduino.h:125
D20
Definition: pins_arduino.h:49
D150
Definition: pins_arduino.h:179
D45
Definition: pins_arduino.h:74
D12
Definition: pins_arduino.h:41
D111
Definition: pins_arduino.h:140
D17
Definition: pins_arduino.h:46
D21
Definition: pins_arduino.h:50
D136
Definition: pins_arduino.h:165
D92
Definition: pins_arduino.h:121
D87
Definition: pins_arduino.h:116
D85
Definition: pins_arduino.h:114
D66
Definition: pins_arduino.h:95
D155
Definition: pins_arduino.h:184
D117
Definition: pins_arduino.h:146
D95
Definition: pins_arduino.h:124
D141
Definition: pins_arduino.h:170
D127
Definition: pins_arduino.h:156
D63
Definition: pins_arduino.h:92
D166
Definition: pins_arduino.h:195
D65
Definition: pins_arduino.h:94
D101
Definition: pins_arduino.h:130
D83
Definition: pins_arduino.h:112
D8
Definition: pins_arduino.h:37
D36
Definition: pins_arduino.h:65
D134
Definition: pins_arduino.h:163
D161
Definition: pins_arduino.h:190
D129
Definition: pins_arduino.h:158
D103
Definition: pins_arduino.h:132
D142
Definition: pins_arduino.h:171
D22
Definition: pins_arduino.h:51
D121
Definition: pins_arduino.h:150
D86
Definition: pins_arduino.h:115
D126
Definition: pins_arduino.h:155
D100
Definition: pins_arduino.h:129
D78
Definition: pins_arduino.h:107
D7
Definition: pins_arduino.h:36
D91
Definition: pins_arduino.h:120
D174
Definition: pins_arduino.h:203
D124
Definition: pins_arduino.h:153
D31
Definition: pins_arduino.h:60
D25
Definition: pins_arduino.h:54
D120
Definition: pins_arduino.h:149
D138
Definition: pins_arduino.h:167
D160
Definition: pins_arduino.h:189
D147
Definition: pins_arduino.h:176
D109
Definition: pins_arduino.h:138
D123
Definition: pins_arduino.h:152
D50
Definition: pins_arduino.h:79
D137
Definition: pins_arduino.h:166
D89
Definition: pins_arduino.h:118
D167
Definition: pins_arduino.h:196
D84
Definition: pins_arduino.h:113
D19
Definition: pins_arduino.h:48
D149
Definition: pins_arduino.h:178
D94
Definition: pins_arduino.h:123
D64
Definition: pins_arduino.h:93
D52
Definition: pins_arduino.h:81
D57
Definition: pins_arduino.h:86
D172
Definition: pins_arduino.h:201
D154
Definition: pins_arduino.h:183
D163
Definition: pins_arduino.h:192
D39
Definition: pins_arduino.h:68
D59
Definition: pins_arduino.h:88
D53
Definition: pins_arduino.h:82
D40
Definition: pins_arduino.h:69
D34
Definition: pins_arduino.h:63
D106
Definition: pins_arduino.h:135
D70
Definition: pins_arduino.h:99
D171
Definition: pins_arduino.h:200
D162
Definition: pins_arduino.h:191
D112
Definition: pins_arduino.h:141
D170
Definition: pins_arduino.h:199
D47
Definition: pins_arduino.h:76
D1
Definition: pins_arduino.h:30
D77
Definition: pins_arduino.h:106
D27
Definition: pins_arduino.h:56
D118
Definition: pins_arduino.h:147
D88
Definition: pins_arduino.h:117
D5
Definition: pins_arduino.h:34
D33
Definition: pins_arduino.h:62
D104
Definition: pins_arduino.h:133
D175
Definition: pins_arduino.h:204
D125
Definition: pins_arduino.h:154
D131
Definition: pins_arduino.h:160
D156
Definition: pins_arduino.h:185
D130
Definition: pins_arduino.h:159
D113
Definition: pins_arduino.h:142
D146
Definition: pins_arduino.h:175
D128
Definition: pins_arduino.h:157
D23
Definition: pins_arduino.h:52
D49
Definition: pins_arduino.h:78
D68
Definition: pins_arduino.h:97
D4
Definition: pins_arduino.h:33
D9
Definition: pins_arduino.h:38
D98
Definition: pins_arduino.h:127
D55
Definition: pins_arduino.h:84
D116
Definition: pins_arduino.h:145
D60
Definition: pins_arduino.h:89
D164
Definition: pins_arduino.h:193
D42
Definition: pins_arduino.h:71
D15
Definition: pins_arduino.h:44
D135
Definition: pins_arduino.h:164
D48
Definition: pins_arduino.h:77
D54
Definition: pins_arduino.h:83
D43
Definition: pins_arduino.h:72
D99
Definition: pins_arduino.h:128
D139
Definition: pins_arduino.h:168
D169
Definition: pins_arduino.h:198
D16
Definition: pins_arduino.h:45
D56
Definition: pins_arduino.h:85
D151
Definition: pins_arduino.h:180
D28
Definition: pins_arduino.h:57
D157
Definition: pins_arduino.h:186
D72
Definition: pins_arduino.h:101
D46
Definition: pins_arduino.h:75
D105
Definition: pins_arduino.h:134
D69
Definition: pins_arduino.h:98
D168
Definition: pins_arduino.h:197
D81
Definition: pins_arduino.h:110
D11
Definition: pins_arduino.h:40
D75
Definition: pins_arduino.h:104
D37
Definition: pins_arduino.h:66
D67
Definition: pins_arduino.h:96