1
1
/* *
2
2
* Marlin 3D Printer Firmware
3
- * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
3
+ * Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
4
*
5
5
* Based on Sprinter and grbl.
6
6
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
26
26
27
27
#include " ../shared/HAL_SPI.h"
28
28
29
- #if !ENABLED (SOFTWARE_SPI) && ENABLED(HALSPI_HW_GENERIC)
29
+ #if DISABLED (SOFTWARE_SPI) && ENABLED(HALSPI_HW_GENERIC)
30
30
31
31
// ------------------------
32
32
// Hardware SPI
33
33
// ------------------------
34
34
35
35
static void _spi_on_error () {
36
36
for (;;) {
37
- #if defined(HALSPI_DO_ERRORBEEPS) && PIN_EXISTS(BEEPER)
38
- OUT_WRITE (BEEPER_PIN, HIGH);
39
- delay (500 );
40
- OUT_WRITE (BEEPER_PIN, LOW);
41
- delay (500 );
42
- OUT_WRITE (BEEPER_PIN, HIGH);
43
- delay (500 );
44
- OUT_WRITE (BEEPER_PIN, LOW);
45
- delay (500 );
46
- OUT_WRITE (BEEPER_PIN, HIGH);
47
- delay (150 );
48
- OUT_WRITE (BEEPER_PIN, LOW);
49
- delay (150 );
50
- OUT_WRITE (BEEPER_PIN, HIGH);
51
- delay (150 );
52
- OUT_WRITE (BEEPER_PIN, LOW);
53
- delay (150 );
54
- OUT_WRITE (BEEPER_PIN, HIGH);
55
- delay (150 );
56
- OUT_WRITE (BEEPER_PIN, LOW);
57
- delay (3000 );
58
- #endif
37
+ #if defined(HALSPI_DO_ERRORBEEPS) && PIN_EXISTS(BEEPER)
38
+ OUT_WRITE (BEEPER_PIN, HIGH);
39
+ delay (500 );
40
+ OUT_WRITE (BEEPER_PIN, LOW);
41
+ delay (500 );
42
+ OUT_WRITE (BEEPER_PIN, HIGH);
43
+ delay (500 );
44
+ OUT_WRITE (BEEPER_PIN, LOW);
45
+ delay (500 );
46
+ OUT_WRITE (BEEPER_PIN, HIGH);
47
+ delay (150 );
48
+ OUT_WRITE (BEEPER_PIN, LOW);
49
+ delay (150 );
50
+ OUT_WRITE (BEEPER_PIN, HIGH);
51
+ delay (150 );
52
+ OUT_WRITE (BEEPER_PIN, LOW);
53
+ delay (150 );
54
+ OUT_WRITE (BEEPER_PIN, HIGH);
55
+ delay (150 );
56
+ OUT_WRITE (BEEPER_PIN, LOW);
57
+ delay (3000 );
58
+ #endif
59
59
}
60
60
}
61
61
62
62
static void __attribute__ ((unused)) _spi_infobeep(uint32_t code) {
63
- #if PIN_EXISTS(BEEPER)
64
- OUT_WRITE (BEEPER_PIN, HIGH);
65
- delay (500 );
66
- OUT_WRITE (BEEPER_PIN, LOW);
67
- delay (500 );
68
- for (uint32_t n = 0 ; n < code; n++) {
63
+ #if PIN_EXISTS(BEEPER)
69
64
OUT_WRITE (BEEPER_PIN, HIGH);
70
- delay (200 );
65
+ delay (500 );
71
66
OUT_WRITE (BEEPER_PIN, LOW);
72
- delay (200 );
73
- }
74
- delay (300 );
75
- OUT_WRITE (BEEPER_PIN, HIGH);
76
- delay (400 );
77
- OUT_WRITE (BEEPER_PIN, LOW);
78
- delay (1000 );
79
- #endif
67
+ delay (500 );
68
+ for (uint32_t n = 0 ; n < code; n++) {
69
+ OUT_WRITE (BEEPER_PIN, HIGH);
70
+ delay (200 );
71
+ OUT_WRITE (BEEPER_PIN, LOW);
72
+ delay (200 );
73
+ }
74
+ delay (300 );
75
+ OUT_WRITE (BEEPER_PIN, HIGH);
76
+ delay (400 );
77
+ OUT_WRITE (BEEPER_PIN, LOW);
78
+ delay (1000 );
79
+ #endif
80
80
}
81
81
82
82
#include < pins_arduino.h>
@@ -102,21 +102,12 @@ void spiSetupChipSelect(int pin) {
102
102
}
103
103
104
104
void spiInitEx (uint32_t maxClockFreq, int hint_sck, int hint_miso, int hint_mosi, int hint_cs) {
105
- if (hint_sck != -1 ) {
106
- SET_OUTPUT (hint_sck);
107
- }
108
- if (hint_miso != -1 ) {
109
- SET_INPUT (hint_miso);
110
- }
111
- if (hint_mosi != -1 ) {
112
- SET_OUTPUT (hint_mosi);
113
- }
114
- if (hint_cs != -1 ) {
115
- SET_OUTPUT (hint_cs);
116
- }
105
+ if (hint_sck != -1 ) SET_OUTPUT (hint_sck);
106
+ if (hint_miso != -1 ) SET_INPUT (hint_miso);
107
+ if (hint_mosi != -1 ) SET_OUTPUT (hint_mosi);
108
+ if (hint_cs != -1 ) SET_OUTPUT (hint_cs);
117
109
118
- if (_spi_initialized)
119
- _spi_on_error ();
110
+ if (_spi_initialized) _spi_on_error ();
120
111
121
112
_spi_clock = maxClockFreq;
122
113
_spi_bitOrder = MSBFIRST;
@@ -134,13 +125,13 @@ void spiInit(uint8_t spiRate, int hint_sck, int hint_miso, int hint_mosi, int hi
134
125
135
126
switch (spiRate) {
136
127
case SPI_FULL_SPEED: clock = 16000000 ; break ;
137
- case SPI_HALF_SPEED: clock = 8000000 ; break ;
138
- case SPI_QUARTER_SPEED: clock = 4000000 ; break ;
139
- case SPI_EIGHTH_SPEED: clock = 2000000 ; break ;
140
- case SPI_SIXTEENTH_SPEED: clock = 1000000 ; break ;
141
- case SPI_SPEED_5: clock = 500000 ; break ;
142
- case SPI_SPEED_6: clock = 250000 ; break ;
143
- default : clock = 1000000 ; // Default from the SPI library
128
+ case SPI_HALF_SPEED: clock = 8000000 ; break ;
129
+ case SPI_QUARTER_SPEED: clock = 4000000 ; break ;
130
+ case SPI_EIGHTH_SPEED: clock = 2000000 ; break ;
131
+ case SPI_SIXTEENTH_SPEED: clock = 1000000 ; break ;
132
+ case SPI_SPEED_5: clock = 500000 ; break ;
133
+ case SPI_SPEED_6: clock = 250000 ; break ;
134
+ default : clock = 1000000 ; // Default from the SPI library
144
135
}
145
136
spiInitEx (clock , hint_sck, hint_miso, hint_mosi, hint_cs);
146
137
}
@@ -280,6 +271,6 @@ void spiWriteRepeat16(uint16_t val, uint16_t repcnt) {
280
271
}
281
272
}
282
273
283
- #endif
274
+ #endif // !SOFTWARE_SPI && HALSPI_HW_GENERIC
284
275
285
- #endif
276
+ #endif // ARDUINO_ARCH_ESP32
0 commit comments