|
@@ -33,7 +33,9 @@
|
33
|
33
|
#include "../core/language.h"
|
34
|
34
|
#include "../HAL/shared/Delay.h"
|
35
|
35
|
|
36
|
|
-#if ENABLED(HEATER_0_USES_MAX6675)
|
|
36
|
+#define MAX6675_SEPARATE_SPI (ENABLED(HEATER_0_USES_MAX6675) || ENABLED(HEATER_1_USES_MAX6675)) && PIN_EXISTS(MAX6675_SCK) && PIN_EXISTS(MAX6675_DO)
|
|
37
|
+
|
|
38
|
+#if MAX6675_SEPARATE_SPI
|
37
|
39
|
#include "../libs/private_spi.h"
|
38
|
40
|
#endif
|
39
|
41
|
|
|
@@ -1205,13 +1207,7 @@ void Temperature::updateTemperaturesFromRawValues() {
|
1205
|
1207
|
|
1206
|
1208
|
#endif
|
1207
|
1209
|
|
1208
|
|
-#if ENABLED(HEATER_0_USES_MAX6675)
|
1209
|
|
- #ifndef MAX6675_SCK_PIN
|
1210
|
|
- #define MAX6675_SCK_PIN SCK_PIN
|
1211
|
|
- #endif
|
1212
|
|
- #ifndef MAX6675_DO_PIN
|
1213
|
|
- #define MAX6675_DO_PIN MISO_PIN
|
1214
|
|
- #endif
|
|
1210
|
+#if MAX6675_SEPARATE_SPI
|
1215
|
1211
|
SPIclass<MAX6675_DO_PIN, MOSI_PIN, MAX6675_SCK_PIN> max6675_spi;
|
1216
|
1212
|
#endif
|
1217
|
1213
|
|
|
@@ -1289,7 +1285,7 @@ void Temperature::init() {
|
1289
|
1285
|
#endif
|
1290
|
1286
|
#endif
|
1291
|
1287
|
|
1292
|
|
- #if ENABLED(HEATER_0_USES_MAX6675)
|
|
1288
|
+ #if MAX6675_SEPARATE_SPI
|
1293
|
1289
|
|
1294
|
1290
|
OUT_WRITE(SCK_PIN, LOW);
|
1295
|
1291
|
OUT_WRITE(MOSI_PIN, HIGH);
|
|
@@ -1300,7 +1296,7 @@ void Temperature::init() {
|
1300
|
1296
|
OUT_WRITE(SS_PIN, HIGH);
|
1301
|
1297
|
OUT_WRITE(MAX6675_SS_PIN, HIGH);
|
1302
|
1298
|
|
1303
|
|
- #endif // HEATER_0_USES_MAX6675
|
|
1299
|
+ #endif
|
1304
|
1300
|
|
1305
|
1301
|
#if ENABLED(HEATER_1_USES_MAX6675)
|
1306
|
1302
|
OUT_WRITE(MAX6675_SS2_PIN, HIGH);
|
|
@@ -1792,7 +1788,7 @@ void Temperature::disable_all_heaters() {
|
1792
|
1788
|
//
|
1793
|
1789
|
// TODO: spiBegin, spiRec and spiInit doesn't work when soft spi is used.
|
1794
|
1790
|
//
|
1795
|
|
- #if MB(MIGHTYBOARD_REVE)
|
|
1791
|
+ #if MAX6675_SEPARATE_SPI
|
1796
|
1792
|
spiBegin();
|
1797
|
1793
|
spiInit(MAX6675_SPEED_BITS);
|
1798
|
1794
|
#endif
|
|
@@ -1813,7 +1809,7 @@ void Temperature::disable_all_heaters() {
|
1813
|
1809
|
max6675_temp = 0;
|
1814
|
1810
|
for (uint8_t i = sizeof(max6675_temp); i--;) {
|
1815
|
1811
|
max6675_temp |= (
|
1816
|
|
- #if MB(MIGHTYBOARD_REVE)
|
|
1812
|
+ #if MAX6675_SEPARATE_SPI
|
1817
|
1813
|
max6675_spi.receive()
|
1818
|
1814
|
#else
|
1819
|
1815
|
spiRec()
|