Skip to content

Commit 8753015

Browse files
committed
πŸ§‘β€πŸ’» HAL Patches
1 parent 550a303 commit 8753015

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+1558
-1073
lines changed

β€ŽMarlin/src/HAL/AVR/HAL.cpp

+10-5
Original file line numberDiff line numberDiff line change
@@ -63,18 +63,23 @@ void save_reset_reason() {
6363

6464
void MarlinHAL::init() {
6565
// Init Servo Pins
66-
#define INIT_SERVO(N) OUT_WRITE(SERVO##N##_PIN, LOW)
6766
#if HAS_SERVO_0
68-
INIT_SERVO(0);
67+
OUT_WRITE(SERVO0_PIN, LOW);
6968
#endif
7069
#if HAS_SERVO_1
71-
INIT_SERVO(1);
70+
OUT_WRITE(SERVO1_PIN, LOW);
7271
#endif
7372
#if HAS_SERVO_2
74-
INIT_SERVO(2);
73+
OUT_WRITE(SERVO2_PIN, LOW);
7574
#endif
7675
#if HAS_SERVO_3
77-
INIT_SERVO(3);
76+
OUT_WRITE(SERVO3_PIN, LOW);
77+
#endif
78+
#if HAS_SERVO_4
79+
OUT_WRITE(SERVO4_PIN, LOW);
80+
#endif
81+
#if HAS_SERVO_5
82+
OUT_WRITE(SERVO5_PIN, LOW);
7883
#endif
7984

8085
init_pwm_timers(); // Init user timers to default frequency - 1000HZ

β€ŽMarlin/src/HAL/AVR/HAL.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -142,15 +142,15 @@ typedef Servo hal_servo_t;
142142
#endif
143143
#define LCD_SERIAL lcdSerial
144144
#if HAS_DGUS_LCD
145-
#define SERIAL_GET_TX_BUFFER_FREE() LCD_SERIAL.get_tx_buffer_free()
145+
#define LCD_SERIAL_TX_BUFFER_FREE() LCD_SERIAL.get_tx_buffer_free()
146146
#endif
147147
#endif
148148

149149
//
150150
// ADC
151151
//
152-
#define HAL_ADC_VREF 5.0
153-
#define HAL_ADC_RESOLUTION 10
152+
#define HAL_ADC_VREF_MV 5000
153+
#define HAL_ADC_RESOLUTION 10
154154

155155
//
156156
// Pin Mapping for M42, M43, M226

β€ŽMarlin/src/HAL/AVR/MarlinSerial.h

+2-9
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,9 @@
3434
#include <WString.h>
3535

3636
#include "../../inc/MarlinConfigPre.h"
37+
#include "../../core/types.h"
3738
#include "../../core/serial_hook.h"
3839

39-
#ifndef SERIAL_PORT
40-
#define SERIAL_PORT 0
41-
#endif
42-
4340
#ifndef USBCON
4441

4542
// The presence of the UBRRH register is used to detect a UART.
@@ -138,10 +135,6 @@
138135

139136
#define BYTE 0
140137

141-
// Templated type selector
142-
template<bool b, typename T, typename F> struct TypeSelector { typedef T type;} ;
143-
template<typename T, typename F> struct TypeSelector<false, T, F> { typedef F type; };
144-
145138
template<typename Cfg>
146139
class MarlinSerial {
147140
protected:
@@ -164,7 +157,7 @@
164157
static constexpr B_U2Xx<Cfg::PORT> B_U2X = 0;
165158

166159
// Base size of type on buffer size
167-
typedef typename TypeSelector<(Cfg::RX_SIZE>256), uint16_t, uint8_t>::type ring_buffer_pos_t;
160+
typedef uvalue_t(Cfg::RX_SIZE - 1) ring_buffer_pos_t;
168161

169162
struct ring_buffer_r {
170163
volatile ring_buffer_pos_t head, tail;

β€ŽMarlin/src/HAL/AVR/endstop_interrupts.h

+40-40
Original file line numberDiff line numberDiff line change
@@ -119,217 +119,217 @@ void pciSetup(const int8_t pin) {
119119

120120
void setup_endstop_interrupts() {
121121
#define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE)
122-
#if HAS_X_MAX
122+
#if USE_X_MAX
123123
#if (digitalPinToInterrupt(X_MAX_PIN) != NOT_AN_INTERRUPT)
124124
_ATTACH(X_MAX_PIN);
125125
#else
126126
static_assert(digitalPinHasPCICR(X_MAX_PIN), "X_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
127127
pciSetup(X_MAX_PIN);
128128
#endif
129129
#endif
130-
#if HAS_X_MIN
130+
#if USE_X_MIN
131131
#if (digitalPinToInterrupt(X_MIN_PIN) != NOT_AN_INTERRUPT)
132132
_ATTACH(X_MIN_PIN);
133133
#else
134134
static_assert(digitalPinHasPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
135135
pciSetup(X_MIN_PIN);
136136
#endif
137137
#endif
138-
#if HAS_Y_MAX
138+
#if USE_Y_MAX
139139
#if (digitalPinToInterrupt(Y_MAX_PIN) != NOT_AN_INTERRUPT)
140140
_ATTACH(Y_MAX_PIN);
141141
#else
142142
static_assert(digitalPinHasPCICR(Y_MAX_PIN), "Y_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
143143
pciSetup(Y_MAX_PIN);
144144
#endif
145145
#endif
146-
#if HAS_Y_MIN
146+
#if USE_Y_MIN
147147
#if (digitalPinToInterrupt(Y_MIN_PIN) != NOT_AN_INTERRUPT)
148148
_ATTACH(Y_MIN_PIN);
149149
#else
150150
static_assert(digitalPinHasPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
151151
pciSetup(Y_MIN_PIN);
152152
#endif
153153
#endif
154-
#if HAS_Z_MAX
154+
#if USE_Z_MAX
155155
#if (digitalPinToInterrupt(Z_MAX_PIN) != NOT_AN_INTERRUPT)
156156
_ATTACH(Z_MAX_PIN);
157157
#else
158158
static_assert(digitalPinHasPCICR(Z_MAX_PIN), "Z_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
159159
pciSetup(Z_MAX_PIN);
160160
#endif
161161
#endif
162-
#if HAS_Z_MIN
162+
#if USE_Z_MIN
163163
#if (digitalPinToInterrupt(Z_MIN_PIN) != NOT_AN_INTERRUPT)
164164
_ATTACH(Z_MIN_PIN);
165165
#else
166166
static_assert(digitalPinHasPCICR(Z_MIN_PIN), "Z_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
167167
pciSetup(Z_MIN_PIN);
168168
#endif
169169
#endif
170-
#if HAS_I_MAX
170+
#if USE_I_MAX
171171
#if (digitalPinToInterrupt(I_MAX_PIN) != NOT_AN_INTERRUPT)
172172
_ATTACH(I_MAX_PIN);
173173
#else
174-
static_assert(digitalPinHasPCICR(I_MAX_PIN), "I_MAX_PIN is not interrupt-capable");
174+
static_assert(digitalPinHasPCICR(I_MAX_PIN), "I_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
175175
pciSetup(I_MAX_PIN);
176176
#endif
177-
#elif HAS_I_MIN
177+
#elif USE_I_MIN
178178
#if (digitalPinToInterrupt(I_MIN_PIN) != NOT_AN_INTERRUPT)
179179
_ATTACH(I_MIN_PIN);
180180
#else
181-
static_assert(digitalPinHasPCICR(I_MIN_PIN), "I_MIN_PIN is not interrupt-capable");
181+
static_assert(digitalPinHasPCICR(I_MIN_PIN), "I_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
182182
pciSetup(I_MIN_PIN);
183183
#endif
184184
#endif
185-
#if HAS_J_MAX
185+
#if USE_J_MAX
186186
#if (digitalPinToInterrupt(J_MAX_PIN) != NOT_AN_INTERRUPT)
187187
_ATTACH(J_MAX_PIN);
188188
#else
189-
static_assert(digitalPinHasPCICR(J_MAX_PIN), "J_MAX_PIN is not interrupt-capable");
189+
static_assert(digitalPinHasPCICR(J_MAX_PIN), "J_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
190190
pciSetup(J_MAX_PIN);
191191
#endif
192-
#elif HAS_J_MIN
192+
#elif USE_J_MIN
193193
#if (digitalPinToInterrupt(J_MIN_PIN) != NOT_AN_INTERRUPT)
194194
_ATTACH(J_MIN_PIN);
195195
#else
196-
static_assert(digitalPinHasPCICR(J_MIN_PIN), "J_MIN_PIN is not interrupt-capable");
196+
static_assert(digitalPinHasPCICR(J_MIN_PIN), "J_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
197197
pciSetup(J_MIN_PIN);
198198
#endif
199199
#endif
200-
#if HAS_K_MAX
200+
#if USE_K_MAX
201201
#if (digitalPinToInterrupt(K_MAX_PIN) != NOT_AN_INTERRUPT)
202202
_ATTACH(K_MAX_PIN);
203203
#else
204-
static_assert(digitalPinHasPCICR(K_MAX_PIN), "K_MAX_PIN is not interrupt-capable");
204+
static_assert(digitalPinHasPCICR(K_MAX_PIN), "K_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
205205
pciSetup(K_MAX_PIN);
206206
#endif
207-
#elif HAS_K_MIN
207+
#elif USE_K_MIN
208208
#if (digitalPinToInterrupt(K_MIN_PIN) != NOT_AN_INTERRUPT)
209209
_ATTACH(K_MIN_PIN);
210210
#else
211-
static_assert(digitalPinHasPCICR(K_MIN_PIN), "K_MIN_PIN is not interrupt-capable");
211+
static_assert(digitalPinHasPCICR(K_MIN_PIN), "K_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
212212
pciSetup(K_MIN_PIN);
213213
#endif
214214
#endif
215-
#if HAS_U_MAX
215+
#if USE_U_MAX
216216
#if (digitalPinToInterrupt(U_MAX_PIN) != NOT_AN_INTERRUPT)
217217
_ATTACH(U_MAX_PIN);
218218
#else
219-
static_assert(digitalPinHasPCICR(U_MAX_PIN), "U_MAX_PIN is not interrupt-capable");
219+
static_assert(digitalPinHasPCICR(U_MAX_PIN), "U_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
220220
pciSetup(U_MAX_PIN);
221221
#endif
222-
#elif HAS_U_MIN
222+
#elif USE_U_MIN
223223
#if (digitalPinToInterrupt(U_MIN_PIN) != NOT_AN_INTERRUPT)
224224
_ATTACH(U_MIN_PIN);
225225
#else
226-
static_assert(digitalPinHasPCICR(U_MIN_PIN), "U_MIN_PIN is not interrupt-capable");
226+
static_assert(digitalPinHasPCICR(U_MIN_PIN), "U_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
227227
pciSetup(U_MIN_PIN);
228228
#endif
229229
#endif
230-
#if HAS_V_MAX
230+
#if USE_V_MAX
231231
#if (digitalPinToInterrupt(V_MAX_PIN) != NOT_AN_INTERRUPT)
232232
_ATTACH(V_MAX_PIN);
233233
#else
234-
static_assert(digitalPinHasPCICR(V_MAX_PIN), "V_MAX_PIN is not interrupt-capable");
234+
static_assert(digitalPinHasPCICR(V_MAX_PIN), "V_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
235235
pciSetup(V_MAX_PIN);
236236
#endif
237-
#elif HAS_V_MIN
237+
#elif USE_V_MIN
238238
#if (digitalPinToInterrupt(V_MIN_PIN) != NOT_AN_INTERRUPT)
239239
_ATTACH(V_MIN_PIN);
240240
#else
241-
static_assert(digitalPinHasPCICR(V_MIN_PIN), "V_MIN_PIN is not interrupt-capable");
241+
static_assert(digitalPinHasPCICR(V_MIN_PIN), "V_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
242242
pciSetup(V_MIN_PIN);
243243
#endif
244244
#endif
245-
#if HAS_W_MAX
245+
#if USE_W_MAX
246246
#if (digitalPinToInterrupt(W_MAX_PIN) != NOT_AN_INTERRUPT)
247247
_ATTACH(W_MAX_PIN);
248248
#else
249-
static_assert(digitalPinHasPCICR(W_MAX_PIN), "W_MAX_PIN is not interrupt-capable");
249+
static_assert(digitalPinHasPCICR(W_MAX_PIN), "W_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
250250
pciSetup(W_MAX_PIN);
251251
#endif
252-
#elif HAS_W_MIN
252+
#elif USE_W_MIN
253253
#if (digitalPinToInterrupt(W_MIN_PIN) != NOT_AN_INTERRUPT)
254254
_ATTACH(W_MIN_PIN);
255255
#else
256-
static_assert(digitalPinHasPCICR(W_MIN_PIN), "W_MIN_PIN is not interrupt-capable");
256+
static_assert(digitalPinHasPCICR(W_MIN_PIN), "W_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
257257
pciSetup(W_MIN_PIN);
258258
#endif
259259
#endif
260-
#if HAS_X2_MAX
260+
#if USE_X2_MAX
261261
#if (digitalPinToInterrupt(X2_MAX_PIN) != NOT_AN_INTERRUPT)
262262
_ATTACH(X2_MAX_PIN);
263263
#else
264264
static_assert(digitalPinHasPCICR(X2_MAX_PIN), "X2_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
265265
pciSetup(X2_MAX_PIN);
266266
#endif
267267
#endif
268-
#if HAS_X2_MIN
268+
#if USE_X2_MIN
269269
#if (digitalPinToInterrupt(X2_MIN_PIN) != NOT_AN_INTERRUPT)
270270
_ATTACH(X2_MIN_PIN);
271271
#else
272272
static_assert(digitalPinHasPCICR(X2_MIN_PIN), "X2_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
273273
pciSetup(X2_MIN_PIN);
274274
#endif
275275
#endif
276-
#if HAS_Y2_MAX
276+
#if USE_Y2_MAX
277277
#if (digitalPinToInterrupt(Y2_MAX_PIN) != NOT_AN_INTERRUPT)
278278
_ATTACH(Y2_MAX_PIN);
279279
#else
280280
static_assert(digitalPinHasPCICR(Y2_MAX_PIN), "Y2_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
281281
pciSetup(Y2_MAX_PIN);
282282
#endif
283283
#endif
284-
#if HAS_Y2_MIN
284+
#if USE_Y2_MIN
285285
#if (digitalPinToInterrupt(Y2_MIN_PIN) != NOT_AN_INTERRUPT)
286286
_ATTACH(Y2_MIN_PIN);
287287
#else
288288
static_assert(digitalPinHasPCICR(Y2_MIN_PIN), "Y2_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
289289
pciSetup(Y2_MIN_PIN);
290290
#endif
291291
#endif
292-
#if HAS_Z2_MAX
292+
#if USE_Z2_MAX
293293
#if (digitalPinToInterrupt(Z2_MAX_PIN) != NOT_AN_INTERRUPT)
294294
_ATTACH(Z2_MAX_PIN);
295295
#else
296296
static_assert(digitalPinHasPCICR(Z2_MAX_PIN), "Z2_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
297297
pciSetup(Z2_MAX_PIN);
298298
#endif
299299
#endif
300-
#if HAS_Z2_MIN
300+
#if USE_Z2_MIN
301301
#if (digitalPinToInterrupt(Z2_MIN_PIN) != NOT_AN_INTERRUPT)
302302
_ATTACH(Z2_MIN_PIN);
303303
#else
304304
static_assert(digitalPinHasPCICR(Z2_MIN_PIN), "Z2_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
305305
pciSetup(Z2_MIN_PIN);
306306
#endif
307307
#endif
308-
#if HAS_Z3_MAX
308+
#if USE_Z3_MAX
309309
#if (digitalPinToInterrupt(Z3_MAX_PIN) != NOT_AN_INTERRUPT)
310310
_ATTACH(Z3_MAX_PIN);
311311
#else
312312
static_assert(digitalPinHasPCICR(Z3_MAX_PIN), "Z3_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
313313
pciSetup(Z3_MAX_PIN);
314314
#endif
315315
#endif
316-
#if HAS_Z3_MIN
316+
#if USE_Z3_MIN
317317
#if (digitalPinToInterrupt(Z3_MIN_PIN) != NOT_AN_INTERRUPT)
318318
_ATTACH(Z3_MIN_PIN);
319319
#else
320320
static_assert(digitalPinHasPCICR(Z3_MIN_PIN), "Z3_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
321321
pciSetup(Z3_MIN_PIN);
322322
#endif
323323
#endif
324-
#if HAS_Z4_MAX
324+
#if USE_Z4_MAX
325325
#if (digitalPinToInterrupt(Z4_MAX_PIN) != NOT_AN_INTERRUPT)
326326
_ATTACH(Z4_MAX_PIN);
327327
#else
328328
static_assert(digitalPinHasPCICR(Z4_MAX_PIN), "Z4_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
329329
pciSetup(Z4_MAX_PIN);
330330
#endif
331331
#endif
332-
#if HAS_Z4_MIN
332+
#if USE_Z4_MIN
333333
#if (digitalPinToInterrupt(Z4_MIN_PIN) != NOT_AN_INTERRUPT)
334334
_ATTACH(Z4_MIN_PIN);
335335
#else

0 commit comments

Comments
Β (0)