Fix various errors, warnings in example config builds (#19686)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
Jason Smith 2020-10-11 17:06:57 -07:00 committed by Scott Lahteine
parent 8a5c3782b8
commit c6cf3da276
11 changed files with 141 additions and 165 deletions

View File

@ -511,11 +511,9 @@ void GcodeSuite::G26() {
g26_keep_heaters_on = parser.boolval('K'); g26_keep_heaters_on = parser.boolval('K');
// Accept 'I' if temperature presets are defined // Accept 'I' if temperature presets are defined
const uint8_t preset_index = (0 #if PREHEAT_COUNT
#if PREHEAT_COUNT const uint8_t preset_index = parser.seenval('I') ? _MIN(parser.value_byte(), PREHEAT_COUNT - 1) + 1 : 0;
+ (parser.seenval('I') ? _MIN(parser.value_byte(), PREHEAT_COUNT - 1) + 1 : 0) #endif
#endif
);
#if HAS_HEATED_BED #if HAS_HEATED_BED

View File

@ -127,7 +127,7 @@ void GcodeSuite::M290() {
#else #else
PSTR("Babystep Z") PSTR("Babystep Z")
#endif #endif
, babystep.axis_total[BS_AXIS_IND(Z_AXIS)] , babystep.axis_total[BS_TOTAL_IND(Z_AXIS)]
); );
} }
#endif #endif

View File

@ -1341,7 +1341,7 @@
#undef STATUS_LOGO_WIDTH #undef STATUS_LOGO_WIDTH
#endif #endif
#if (HAS_MULTI_HOTEND && STATUS_LOGO_WIDTH && BED_OR_CHAMBER_OR_FAN) || (HOTENDS >= 3 && !BED_OR_CHAMBER_OR_FAN) #if !defined(STATUS_HEATERS_X) && ((HAS_MULTI_HOTEND && STATUS_LOGO_WIDTH && BED_OR_CHAMBER_OR_FAN) || (HOTENDS >= 3 && !BED_OR_CHAMBER_OR_FAN))
#define _STATUS_HEATERS_X(H,S,N) ((LCD_PIXEL_WIDTH - (H * (S + N)) - (_EXTRA_WIDTH) + (STATUS_LOGO_WIDTH)) / 2) #define _STATUS_HEATERS_X(H,S,N) ((LCD_PIXEL_WIDTH - (H * (S + N)) - (_EXTRA_WIDTH) + (STATUS_LOGO_WIDTH)) / 2)
#if STATUS_HOTEND1_WIDTH #if STATUS_HOTEND1_WIDTH
#if HOTENDS > 2 #if HOTENDS > 2

View File

@ -46,7 +46,8 @@
extern lv_group_t * g; extern lv_group_t * g;
static lv_obj_t * scr; static lv_obj_t * scr;
static lv_obj_t *labelExt1, * labelExt2, * labelFan, * labelZpos, * labelTime; static lv_obj_t *labelExt1, * labelFan, * labelZpos, * labelTime;
TERN_(HAS_MULTI_EXTRUDER, static lv_obj_t *labelExt2;)
static lv_obj_t *labelPause, * labelStop, * labelOperat; static lv_obj_t *labelPause, * labelStop, * labelOperat;
static lv_obj_t * bar1, *bar1ValueText; static lv_obj_t * bar1, *bar1ValueText;
static lv_obj_t * buttonPause, *buttonOperat, *buttonStop; static lv_obj_t * buttonPause, *buttonOperat, *buttonStop;
@ -137,9 +138,6 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) {
} }
void lv_draw_printing(void) { void lv_draw_printing(void) {
lv_obj_t *buttonExt1, *buttonExt2, *buttonFanstate, *buttonZpos, *buttonTime;
TERN_(HAS_HEATED_BED, lv_obj_t * buttonBedstate);
disp_state_stack._disp_index = 0; disp_state_stack._disp_index = 0;
ZERO(disp_state_stack._disp_state); ZERO(disp_state_stack._disp_state);
disp_state_stack._disp_state[disp_state_stack._disp_index] = PRINTING_UI; disp_state_stack._disp_state[disp_state_stack._disp_index] = PRINTING_UI;
@ -162,16 +160,16 @@ void lv_draw_printing(void) {
lv_refr_now(lv_refr_get_disp_refreshing()); lv_refr_now(lv_refr_get_disp_refreshing());
// Create image buttons // Create image buttons
buttonExt1 = lv_img_create(scr, NULL); lv_obj_t *buttonExt1 = lv_img_create(scr, NULL);
#if HAS_MULTI_EXTRUDER #if HAS_MULTI_EXTRUDER
buttonExt2 = lv_img_create(scr, NULL); lv_obj_t *buttonExt2 = lv_img_create(scr, NULL);
#endif #endif
#if HAS_HEATED_BED #if HAS_HEATED_BED
buttonBedstate = lv_img_create(scr, NULL); lv_obj_t *buttonBedstate = lv_img_create(scr, NULL);
#endif #endif
buttonFanstate = lv_img_create(scr, NULL); lv_obj_t *buttonFanstate = lv_img_create(scr, NULL);
buttonTime = lv_img_create(scr, NULL); lv_obj_t *buttonTime = lv_img_create(scr, NULL);
buttonZpos = lv_img_create(scr, NULL); lv_obj_t *buttonZpos = lv_img_create(scr, NULL);
buttonPause = lv_imgbtn_create(scr, NULL); buttonPause = lv_imgbtn_create(scr, NULL);
buttonStop = lv_imgbtn_create(scr, NULL); buttonStop = lv_imgbtn_create(scr, NULL);
buttonOperat = lv_imgbtn_create(scr, NULL); buttonOperat = lv_imgbtn_create(scr, NULL);

View File

@ -442,39 +442,39 @@ void lv_encoder_pin_init() {
//static const int8_t encoderDirection = 1; //static const int8_t encoderDirection = 1;
//static int16_t enc_Direction; //static int16_t enc_Direction;
void lv_update_encoder() { void lv_update_encoder() {
static uint8_t buttons;
static uint32_t encoder_time1; static uint32_t encoder_time1;
uint32_t tmpTime, diffTime = 0; uint32_t tmpTime, diffTime = 0;
tmpTime = millis(); tmpTime = millis();
diffTime = getTickDiff(tmpTime, encoder_time1); diffTime = getTickDiff(tmpTime, encoder_time1);
if (diffTime > 50) { if (diffTime > 50) {
#if ANY_BUTTON(EN1, EN2, ENC, BACK)
uint8_t newbutton = 0;
#if BUTTON_EXISTS(EN1)
if (BUTTON_PRESSED(EN1)) newbutton |= EN_A;
#endif
#if BUTTON_EXISTS(EN2)
if (BUTTON_PRESSED(EN2)) newbutton |= EN_B;
#endif
#if BUTTON_EXISTS(ENC)
if (BUTTON_PRESSED(ENC)) newbutton |= EN_C;
#endif
#if BUTTON_EXISTS(BACK)
if (BUTTON_PRESSED(BACK)) newbutton |= EN_D;
#endif
#else
constexpr uint8_t newbutton = 0;
#endif
buttons = newbutton;
#if HAS_ENCODER_WHEEL #if HAS_ENCODER_WHEEL
#if ANY_BUTTON(EN1, EN2, ENC, BACK)
uint8_t newbutton = 0;
#if BUTTON_EXISTS(EN1)
if (BUTTON_PRESSED(EN1)) newbutton |= EN_A;
#endif
#if BUTTON_EXISTS(EN2)
if (BUTTON_PRESSED(EN2)) newbutton |= EN_B;
#endif
#if BUTTON_EXISTS(ENC)
if (BUTTON_PRESSED(ENC)) newbutton |= EN_C;
#endif
#if BUTTON_EXISTS(BACK)
if (BUTTON_PRESSED(BACK)) newbutton |= EN_D;
#endif
#else
constexpr uint8_t newbutton = 0;
#endif
static uint8_t buttons = newbutton;
static uint8_t lastEncoderBits; static uint8_t lastEncoderBits;
#define encrot0 0 #define encrot0 0

View File

@ -110,24 +110,17 @@ const char *resultMessages[] = {
// 230400b always manages to connect. // 230400b always manages to connect.
static const uint32_t uploadBaudRates[] = { 460800, 230400, 115200, 74880 }; static const uint32_t uploadBaudRates[] = { 460800, 230400, 115200, 74880 };
signed char IsReady() { signed char IsReady() {
return esp_upload.state == upload_idle; return esp_upload.state == upload_idle;
} }
void uploadPort_write(const uint8_t *buf, size_t len) { void uploadPort_write(const uint8_t *buf, size_t len) {
#if 0 #if 0
int i; int i;
for(i = 0; i < len; i++) { for (i = 0; i < len; i++) {
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) { /* nada */ }
USART_SendData(USART1, *(buf + i));
USART_SendData(USART1, *(buf + i));
} }
#endif #endif
} }
@ -138,28 +131,22 @@ char uploadPort_read() {
return retChar; return retChar;
else else
return 0; return 0;
} }
int uploadPort_available() { int uploadPort_available() {
return usartFifoAvailable(&WifiRxFifo); return usartFifoAvailable(&WifiRxFifo);
} }
void uploadPort_begin() { void uploadPort_begin() {
esp_port_begin(1); esp_port_begin(1);
} }
void uploadPort_close() { void uploadPort_close() {
//WIFI_COM.end(); //WIFI_COM.end();
//WIFI_COM.begin(115200, true); //WIFI_COM.begin(115200, true);
esp_port_begin(0); esp_port_begin(0);
} }
void flushInput() { void flushInput() {
while (uploadPort_available() != 0) { while (uploadPort_available() != 0) {
(void)uploadPort_read(); (void)uploadPort_read();
@ -304,7 +291,6 @@ EspUploadResult readPacket(uint8_t op, uint32_t *valp, size_t *bodyLen, uint32_t
*bodyLen = 0; *bodyLen = 0;
while (state != done) { while (state != done) {
uint8_t c; uint8_t c;
EspUploadResult stat; EspUploadResult stat;
@ -322,73 +308,73 @@ EspUploadResult readPacket(uint8_t op, uint32_t *valp, size_t *bodyLen, uint32_t
} }
// sufficient bytes have been received for the current state, process them // sufficient bytes have been received for the current state, process them
switch(state) { switch (state) {
case begin: // expecting frame start case begin: // expecting frame start
c = uploadPort_read(); c = uploadPort_read();
if (c != (uint8_t)0xC0) { if (c != (uint8_t)0xC0) {
break; break;
}
state = header;
needBytes = 2;
break;
case end: // expecting frame end
c = uploadPort_read();
if (c != (uint8_t)0xC0) {
return slipFrame;
}
state = done;
break;
case header: // reading an 8-byte header
case body: // reading the response body
{
int rslt;
// retrieve a byte with SLIP decoding
rslt = ReadByte(&c, 1);
if (rslt != 1 && rslt != 2) {
// some error occurred
stat = (rslt == 0 || rslt == -2) ? slipData : slipFrame;
return stat;
} }
else if (state == header) { state = header;
//store the header byte needBytes = 2;
hdr[hdrIdx++] = c;
if (hdrIdx >= headerLength) {
// get the body length, prepare a buffer for it
*bodyLen = (uint16_t)getData(2, hdr, 2);
// extract the value, if requested break;
if (valp != 0) { case end: // expecting frame end
*valp = getData(4, hdr, 4); c = uploadPort_read();
} if (c != (uint8_t)0xC0) {
return slipFrame;
}
state = done;
if (*bodyLen != 0) { break;
state = body;
case header: // reading an 8-byte header
case body: // reading the response body
{
int rslt;
// retrieve a byte with SLIP decoding
rslt = ReadByte(&c, 1);
if (rslt != 1 && rslt != 2) {
// some error occurred
stat = (rslt == 0 || rslt == -2) ? slipData : slipFrame;
return stat;
}
else if (state == header) {
//store the header byte
hdr[hdrIdx++] = c;
if (hdrIdx >= headerLength) {
// get the body length, prepare a buffer for it
*bodyLen = (uint16_t)getData(2, hdr, 2);
// extract the value, if requested
if (valp != 0) {
*valp = getData(4, hdr, 4);
}
if (*bodyLen != 0) {
state = body;
}
else {
needBytes = 1;
state = end;
}
} }
else { }
else {
// Store the response body byte, check for completion
if (bodyIdx < ARRAY_SIZE(respBuf)) {
respBuf[bodyIdx] = c;
}
++bodyIdx;
if (bodyIdx >= *bodyLen) {
needBytes = 1; needBytes = 1;
state = end; state = end;
} }
} }
} }
else { break;
// Store the response body byte, check for completion
if (bodyIdx < ARRAY_SIZE(respBuf)) {
respBuf[bodyIdx] = c;
}
++bodyIdx;
if (bodyIdx >= *bodyLen) {
needBytes = 1;
state = end;
}
}
}
break;
default: // this shouldn't happen default: // this shouldn't happen
return slipState; return slipState;
} }
} }
@ -397,7 +383,7 @@ EspUploadResult readPacket(uint8_t op, uint32_t *valp, size_t *bodyLen, uint32_t
opRet = (uint8_t)getData(1, hdr, 1); opRet = (uint8_t)getData(1, hdr, 1);
// Sync packets often provoke a response with a zero opcode instead of ESP_SYNC // Sync packets often provoke a response with a zero opcode instead of ESP_SYNC
if (resp != 0x01 || opRet != op) { if (resp != 0x01 || opRet != op) {
//debug//printf("resp %02x %02x\n", resp, opRet); //printf("resp %02x %02x\n", resp, opRet); //debug
return respHeader; return respHeader;
} }
@ -432,20 +418,19 @@ void _writePacket(const uint8_t *data, size_t len) {
// 0xC0 and 0xDB replaced by the two-byte sequences {0xDB, 0xDC} and {0xDB, 0xDD} respectively. // 0xC0 and 0xDB replaced by the two-byte sequences {0xDB, 0xDC} and {0xDB, 0xDD} respectively.
void writePacket(const uint8_t *hdr, size_t hdrLen, const uint8_t *data, size_t dataLen) { void writePacket(const uint8_t *hdr, size_t hdrLen, const uint8_t *data, size_t dataLen) {
WriteByteRaw(0xC0); // send the packet start character
WriteByteRaw(0xC0); // send the packet start character
_writePacket(hdr, hdrLen); // send the header _writePacket(hdr, hdrLen); // send the header
_writePacket(data, dataLen); // send the data block _writePacket(data, dataLen); // send the data block
WriteByteRaw(0xC0); // send the packet end character WriteByteRaw(0xC0); // send the packet end character
} }
// Send a packet to the serial port while performing SLIP framing. The packet data comprises a header and an optional data block. // Send a packet to the serial port while performing SLIP framing. The packet data comprises a header and an optional data block.
// This is like writePacket except that it does a fast block write for both the header and the main data with no SLIP encoding. Used to send sync commands. // This is like writePacket except that it does a fast block write for both the header and the main data with no SLIP encoding. Used to send sync commands.
void writePacketRaw(const uint8_t *hdr, size_t hdrLen, const uint8_t *data, size_t dataLen) { void writePacketRaw(const uint8_t *hdr, size_t hdrLen, const uint8_t *data, size_t dataLen) {
WriteByteRaw(0xC0); // send the packet start character WriteByteRaw(0xC0); // send the packet start character
_writePacketRaw(hdr, hdrLen); // send the header _writePacketRaw(hdr, hdrLen); // send the header
_writePacketRaw(data, dataLen); // send the data block in raw mode _writePacketRaw(data, dataLen); // send the data block in raw mode
WriteByteRaw(0xC0); // send the packet end character WriteByteRaw(0xC0); // send the packet end character
} }
// Send a command to the attached device together with the supplied data, if any. // Send a command to the attached device together with the supplied data, if any.
@ -460,12 +445,10 @@ void sendCommand(uint8_t op, uint32_t checkVal, const uint8_t *data, size_t data
// send the packet // send the packet
//flushInput(); //flushInput();
if (op == ESP_SYNC) { if (op == ESP_SYNC)
writePacketRaw(hdr, sizeof(hdr), data, dataLen); writePacketRaw(hdr, sizeof(hdr), data, dataLen);
} else
else {
writePacket(hdr, sizeof(hdr), data, dataLen); writePacket(hdr, sizeof(hdr), data, dataLen);
}
} }
// Send a command to the attached device together with the supplied data, if any, and get the response // Send a command to the attached device together with the supplied data, if any, and get the response
@ -476,9 +459,8 @@ EspUploadResult doCommand(uint8_t op, const uint8_t *data, size_t dataLen, uint3
sendCommand(op, checkVal, data, dataLen); sendCommand(op, checkVal, data, dataLen);
stat = readPacket(op, valp, &bodyLen, msTimeout); stat = readPacket(op, valp, &bodyLen, msTimeout);
if (stat == success && bodyLen != 2) { if (stat == success && bodyLen != 2)
stat = badReply; stat = badReply;
}
return stat; return stat;
} }
@ -611,6 +593,8 @@ EspUploadResult flashWriteBlock(uint16_t flashParmVal, uint16_t flashParmMask) {
//printf("Upload %d\%\n", ftell(&esp_upload.uploadFile) * 100 / esp_upload.fileSize); //printf("Upload %d\%\n", ftell(&esp_upload.uploadFile) * 100 / esp_upload.fileSize);
return stat; return stat;
#else
return success;
#endif #endif
} }
@ -625,15 +609,14 @@ void upload_spin() {
esp_upload.uploadResult = connected; esp_upload.uploadResult = connected;
esp_upload.state = done; esp_upload.state = done;
} }
else{ else {
// Reset the serial port at the new baud rate. Also reset the ESP8266. // Reset the serial port at the new baud rate. Also reset the ESP8266.
// const uint32_t baud = uploadBaudRates[esp_upload.connectAttemptNumber/esp_upload.retriesPerBaudRate]; // const uint32_t baud = uploadBaudRates[esp_upload.connectAttemptNumber/esp_upload.retriesPerBaudRate];
if (esp_upload.connectAttemptNumber % esp_upload.retriesPerBaudRate == 0) { if (esp_upload.connectAttemptNumber % esp_upload.retriesPerBaudRate == 0) {
} }
// uploadPort.begin(baud); //uploadPort.begin(baud);
// uploadPort_close(); //uploadPort_close();
uploadPort_begin(); uploadPort_begin();
@ -654,7 +637,7 @@ void upload_spin() {
esp_upload.lastAttemptTime = getWifiTick(); esp_upload.lastAttemptTime = getWifiTick();
if (res == success) { if (res == success) {
// Successful connection // Successful connection
// //MessageF(" success on attempt %d\n", (connectAttemptNumber % retriesPerBaudRate) + 1); //MessageF(" success on attempt %d\n", (connectAttemptNumber % retriesPerBaudRate) + 1);
//printf("connect success\n"); //printf("connect success\n");
esp_upload.state = erasing; esp_upload.state = erasing;
} }
@ -675,14 +658,13 @@ void upload_spin() {
const uint32_t sectorSize = 4096; const uint32_t sectorSize = 4096;
const uint32_t numSectors = (esp_upload.fileSize + sectorSize - 1)/sectorSize; const uint32_t numSectors = (esp_upload.fileSize + sectorSize - 1)/sectorSize;
const uint32_t startSector = esp_upload.uploadAddress/sectorSize; const uint32_t startSector = esp_upload.uploadAddress/sectorSize;
uint32_t headSectors = sectorsPerBlock - (startSector % sectorsPerBlock);
if (numSectors < headSectors) { uint32_t headSectors = sectorsPerBlock - (startSector % sectorsPerBlock);
headSectors = numSectors; NOMORE(headSectors, numSectors);
}
eraseSize = (numSectors < 2 * headSectors) eraseSize = (numSectors < 2 * headSectors)
? (numSectors + 1) / 2 * sectorSize ? (numSectors + 1) / 2 * sectorSize
: (numSectors - headSectors) * sectorSize; : (numSectors - headSectors) * sectorSize;
//MessageF("Erasing %u bytes...\n", fileSize); //MessageF("Erasing %u bytes...\n", fileSize);
esp_upload.uploadResult = flashBegin(esp_upload.uploadAddress, eraseSize); esp_upload.uploadResult = flashBegin(esp_upload.uploadAddress, eraseSize);
@ -755,7 +737,7 @@ void SendUpdateFile(const char *file, uint32_t address) {
if (res != FR_OK) return; if (res != FR_OK) return;
esp_upload.fileSize = f_size(&esp_upload.uploadFile); esp_upload.fileSize = f_size(&esp_upload.uploadFile);
if (esp_upload.fileSize == 0) { if (esp_upload.fileSize == 0) {
f_close(&esp_upload.uploadFile); f_close(&esp_upload.uploadFile);
return; return;

View File

@ -118,7 +118,7 @@ void lcd_delta_settings() {
} }
void menu_delta_calibrate() { void menu_delta_calibrate() {
const bool all_homed = all_axes_homed(); TERN_(DELTA_CALIBRATION_MENU, const bool all_homed = all_axes_homed()); // Acquire ahead of loop
START_MENU(); START_MENU();
BACK_ITEM(MSG_MAIN); BACK_ITEM(MSG_MAIN);

View File

@ -188,11 +188,10 @@ void _lcd_ubl_edit_mesh() {
*/ */
void _lcd_ubl_validate_custom_mesh() { void _lcd_ubl_validate_custom_mesh() {
char ubl_lcd_gcode[24]; char ubl_lcd_gcode[24];
const int16_t temp = TERN(HAS_HEATED_BED, custom_bed_temp, 0);
sprintf_P(ubl_lcd_gcode, PSTR("G28\nG26 C P H%" PRIi16 TERN_(HAS_HEATED_BED, " B%" PRIi16)) sprintf_P(ubl_lcd_gcode, PSTR("G28\nG26 C P H%" PRIi16 TERN_(HAS_HEATED_BED, " B%" PRIi16))
, custom_hotend_temp , custom_hotend_temp
#if HAS_HEATED_BED #if HAS_HEATED_BED
, temp , custom_bed_temp
#endif #endif
); );
queue.inject(ubl_lcd_gcode); queue.inject(ubl_lcd_gcode);

View File

@ -33,8 +33,7 @@
* B: 0.00031362 * B: 0.00031362
* C: -2.03978e-07 * C: -2.03978e-07
*/ */
#define NUMTEMPS 61 const temp_entry_t temptable_666[] PROGMEM = {
const short temptable_666[NUMTEMPS][2] PROGMEM = {
{ OV( 1), 794 }, { OV( 1), 794 },
{ OV( 18), 288 }, { OV( 18), 288 },
{ OV( 35), 234 }, { OV( 35), 234 },

View File

@ -608,12 +608,6 @@
#define _Z_PROBE #define _Z_PROBE
#endif #endif
#if TEMP_SENSOR_BED && PIN_EXISTS(HEATER_BED)
#define _HEATER_BED HEATER_BED_PIN,
#else
#define _HEATER_BED
#endif
#if PIN_EXISTS(FAN) #if PIN_EXISTS(FAN)
#define _FAN0 FAN_PIN, #define _FAN0 FAN_PIN,
#else #else
@ -660,21 +654,26 @@
#define _FANC #define _FANC
#endif #endif
#if PIN_EXISTS(HEATER_BED) && PIN_EXISTS(TEMP_BED) #if TEMP_SENSOR_BED && PINS_EXIST(TEMP_BED, HEATER_BED)
#define _BED_PINS HEATER_BED_PIN, analogInputToDigitalPin(TEMP_BED_PIN), #define _BED_PINS HEATER_BED_PIN, analogInputToDigitalPin(TEMP_BED_PIN),
#else #else
#define _BED_PINS #define _BED_PINS
#endif #endif
#if PIN_EXISTS(TEMP_CHAMBER) #if TEMP_SENSOR_CHAMBER && PIN_EXISTS(TEMP_CHAMBER)
#define __CHAMBER_PINS CHAMBER_AUTO_FAN_PIN, analogInputToDigitalPin(TEMP_CHAMBER_PIN), #define _CHAMBER_TEMP analogInputToDigitalPin(TEMP_CHAMBER_PIN),
#else #else
#define __CHAMBER_PINS #define _CHAMBER_TEMP
#endif #endif
#if PIN_EXISTS(HEATER_CHAMBER) #if TEMP_SENSOR_CHAMBER && PINS_EXIST(TEMP_CHAMBER, HEATER_CHAMBER)
#define _CHAMBER_PINS __CHAMBER_PINS HEATER_CHAMBER_PIN, #define _CHAMBER_HEATER HEATER_CHAMBER_PIN,
#else #else
#define _CHAMBER_PINS #define _CHAMBER_HEATER
#endif
#if TEMP_SENSOR_CHAMBER && PINS_EXIST(TEMP_CHAMBER, CHAMBER_AUTO_FAN)
#define _CHAMBER_FAN CHAMBER_AUTO_FAN_PIN,
#else
#define _CHAMBER_FAN
#endif #endif
#ifndef HAL_SENSITIVE_PINS #ifndef HAL_SENSITIVE_PINS
@ -685,6 +684,6 @@
_X_PINS _Y_PINS _Z_PINS _X2_PINS _Y2_PINS _Z2_PINS _Z3_PINS _Z4_PINS _Z_PROBE \ _X_PINS _Y_PINS _Z_PINS _X2_PINS _Y2_PINS _Z2_PINS _Z3_PINS _Z4_PINS _Z_PROBE \
_E0_PINS _E1_PINS _E2_PINS _E3_PINS _E4_PINS _E5_PINS _E6_PINS _E7_PINS \ _E0_PINS _E1_PINS _E2_PINS _E3_PINS _E4_PINS _E5_PINS _E6_PINS _E7_PINS \
_H0_PINS _H1_PINS _H2_PINS _H3_PINS _H4_PINS _H5_PINS _H6_PINS _H7_PINS \ _H0_PINS _H1_PINS _H2_PINS _H3_PINS _H4_PINS _H5_PINS _H6_PINS _H7_PINS \
_PS_ON _HEATER_BED _FAN0 _FAN1 _FAN2 _FAN3 _FAN4 _FAN5 _FAN6 _FAN7 _FANC \ _PS_ON _FAN0 _FAN1 _FAN2 _FAN3 _FAN4 _FAN5 _FAN6 _FAN7 _FANC \
_BED_PINS _CHAMBER_PINS HAL_SENSITIVE_PINS \ _BED_PINS _CHAMBER_TEMP _CHAMBER_HEATER _CHAMBER_FAN HAL_SENSITIVE_PINS \
} }

View File

@ -200,6 +200,7 @@
#elif SD_CONNECTION_IS(ONBOARD) #elif SD_CONNECTION_IS(ONBOARD)
#define SDIO_SUPPORT #define SDIO_SUPPORT
#define SD_DETECT_PIN PD12 #define SD_DETECT_PIN PD12
#define ONBOARD_SD_CS_PIN PC11
#elif SD_CONNECTION_IS(CUSTOM_CABLE) #elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "No custom SD drive cable defined for this board." #error "No custom SD drive cable defined for this board."
#endif #endif