Skip to content

Commit 3363f64

Browse files
committed
🩹 Native types for RTS overloads (#25440)
Followup to #25400
1 parent abd9b04 commit 3363f64

File tree

3 files changed

+39
-40
lines changed

3 files changed

+39
-40
lines changed

Marlin/src/lcd/extui/ia_creality/creality_extui.cpp

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ namespace ExtUI {
9292
DWIN_SERIAL.begin(115200);
9393
rtscheck.recdat.head[0] = rtscheck.snddat.head[0] = FHONE;
9494
rtscheck.recdat.head[1] = rtscheck.snddat.head[1] = FHTWO;
95-
memset(rtscheck.databuf, 0, sizeof(rtscheck.databuf));
95+
ZERO(rtscheck.databuf);
9696

9797
delay_ms(TERN(DWINOS_4, 1500, 500)); // Delay to allow screen startup
9898
SetTouchScreenConfiguration();
@@ -206,7 +206,7 @@ namespace ExtUI {
206206

207207
if (waitway_lock > 100) {
208208
waitway_lock = 0;
209-
waitway = 0; // clear waitway if nothing is going on
209+
waitway = 0; // clear waitway if nothing is going on
210210
}
211211

212212
switch (waitway) {
@@ -416,7 +416,7 @@ namespace ExtUI {
416416
RTSSHOW::RTSSHOW() {
417417
recdat.head[0] = snddat.head[0] = FHONE;
418418
recdat.head[1] = snddat.head[1] = FHTWO;
419-
memset(databuf, 0, sizeof(databuf));
419+
ZERO(databuf);
420420
}
421421

422422
int16_t RTSSHOW::RTS_RecData() {
@@ -494,8 +494,8 @@ namespace ExtUI {
494494
return -1;
495495
}
496496

497-
void RTSSHOW::RTS_SndData(void) {
498-
if ((snddat.head[0] == FHONE) && (snddat.head[1] == FHTWO) && snddat.len >= 3) {
497+
void RTSSHOW::RTS_SndData() {
498+
if (snddat.head[0] == FHONE && snddat.head[1] == FHTWO && snddat.len >= 3) {
499499
databuf[0] = snddat.head[0];
500500
databuf[1] = snddat.head[1];
501501
databuf[2] = snddat.len;
@@ -527,7 +527,7 @@ namespace ExtUI {
527527
}
528528

529529
memset(&snddat, 0, sizeof(snddat));
530-
memset(databuf, 0, sizeof(databuf));
530+
ZERO(databuf);
531531
snddat.head[0] = FHONE;
532532
snddat.head[1] = FHTWO;
533533
}
@@ -539,7 +539,6 @@ namespace ExtUI {
539539
}
540540

541541
void RTSSHOW::RTS_SndData(const char *str, uint32_t addr, uint8_t cmd/*=VarAddr_W*/) {
542-
543542
int16_t len = strlen(str);
544543
constexpr int16_t maxlen = SizeofDatabuf - 6;
545544
if (len > 0) {
@@ -556,25 +555,29 @@ namespace ExtUI {
556555
DWIN_SERIAL.write(databuf[i]);
557556
delay_us(1);
558557
}
559-
memset(databuf, 0, sizeof(databuf));
558+
ZERO(databuf);
560559
}
561560
}
562561

563-
void RTSSHOW::RTS_SndData(char c, uint32_t addr, uint8_t cmd/*=VarAddr_W*/) {
562+
void RTSSHOW::RTS_SndData(const char c, const uint32_t addr, const uint8_t cmd/*=VarAddr_W*/) {
564563
snddat.command = cmd;
565564
snddat.addr = addr;
566-
snddat.data[0] = uint32_t(c);
567-
snddat.data[0] = snddat.data[0] << 8;
565+
snddat.data[0] = uint32_t(uint16_t(c) << 8);
568566
snddat.len = 5;
569567
RTS_SndData();
570568
}
571569

572-
void RTSSHOW::RTS_SndData(uint8_t *str, uint32_t addr, uint8_t cmd) { RTS_SndData((char *)str, addr, cmd); }
573-
574-
void RTSSHOW::RTS_SndData(int16_t n, uint32_t addr, uint8_t cmd/*=VarAddr_W*/) {
570+
void RTSSHOW::RTS_SndData(const int n, const uint32_t addr, const uint8_t cmd/*=VarAddr_W*/) {
575571
if (cmd == VarAddr_W) {
576-
snddat.data[0] = n;
577-
snddat.len = 5;
572+
if ((unsigned int)n > 0xFFFF) {
573+
snddat.data[0] = n >> 16;
574+
snddat.data[1] = n & 0xFFFF;
575+
snddat.len = 7;
576+
}
577+
else {
578+
snddat.data[0] = n;
579+
snddat.len = 5;
580+
}
578581
}
579582
else if (cmd == RegAddr_W) {
580583
snddat.data[0] = n;
@@ -589,13 +592,7 @@ namespace ExtUI {
589592
RTS_SndData();
590593
}
591594

592-
void RTSSHOW::RTS_SndData(uint16_t n, uint32_t addr, uint8_t cmd) { RTS_SndData(int16_t(n), addr, cmd); }
593-
594-
void RTSSHOW::RTS_SndData(float n, uint32_t addr, uint8_t cmd) { RTS_SndData(int16_t(n), addr, cmd); }
595-
596-
void RTSSHOW::RTS_SndData(int32_t n, uint32_t addr, uint8_t cmd) { RTS_SndData(uint32_t(n), addr, cmd); }
597-
598-
void RTSSHOW::RTS_SndData(uint32_t n, uint32_t addr, uint8_t cmd/*=VarAddr_W*/) {
595+
void RTSSHOW::RTS_SndData(const unsigned long n, uint32_t addr, uint8_t cmd/*=VarAddr_W*/) {
599596
if (cmd == VarAddr_W) {
600597
if (n > 0xFFFF) {
601598
snddat.data[0] = n >> 16;
@@ -632,11 +629,11 @@ namespace ExtUI {
632629
if (recdat.addr == Addrbuf[i]) {
633630
if (Addrbuf[i] == NzBdSet || Addrbuf[i] == NozzlePreheat || Addrbuf[i] == BedPreheat || Addrbuf[i] == Flowrate)
634631
Checkkey = ManualSetTemp;
635-
else if (Addrbuf[i] >= Stopprint && Addrbuf[i] <= Resumeprint)
632+
else if (WITHIN(Addrbuf[i], Stopprint, Resumeprint))
636633
Checkkey = PrintChoice;
637-
else if (Addrbuf[i] >= AutoZero && Addrbuf[i] <= DisplayZaxis)
634+
else if (WITHIN(Addrbuf[i], AutoZero, DisplayZaxis))
638635
Checkkey = XYZEaxis;
639-
else if (Addrbuf[i] >= FilamentUnit1 && Addrbuf[i] <= FilamentUnit2)
636+
else if (WITHIN(Addrbuf[i], FilamentUnit1, FilamentUnit2))
640637
Checkkey = Filament;
641638
else
642639
Checkkey = i;
@@ -1054,7 +1051,7 @@ namespace ExtUI {
10541051
else if (recdat.data[0] == 2) { // Exchange filament
10551052
InforShowStatus = true;
10561053
TPShowStatus = false;
1057-
memset(ChangeMaterialbuf, 0, sizeof(ChangeMaterialbuf));
1054+
ZERO(ChangeMaterialbuf);
10581055
ChangeMaterialbuf[1] = ChangeMaterialbuf[0] = 10;
10591056
RTS_SndData(10 * ChangeMaterialbuf[0], FilamentUnit1); // It's ChangeMaterialbuf for show,instead of current_position[E_AXIS] in them.
10601057
RTS_SndData(10 * ChangeMaterialbuf[1], FilamentUnit2);

Marlin/src/lcd/extui/ia_creality/creality_extui.h

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -223,19 +223,21 @@ namespace ExtUI {
223223
public:
224224
RTSSHOW();
225225
int16_t RTS_RecData();
226-
void RTS_SDCardInit(void);
226+
void RTS_SDCardInit();
227227
void RTS_SDCardUpate(bool, bool);
228228
int16_t RTS_CheckFilament(int16_t);
229-
void RTS_SndData(void);
230-
void RTS_SndData(const String &, uint32_t, uint8_t=VarAddr_W);
231-
void RTS_SndData(const char[], uint32_t, uint8_t=VarAddr_W);
232-
void RTS_SndData(char, uint32_t, uint8_t=VarAddr_W);
233-
void RTS_SndData(uint8_t*, uint32_t, uint8_t=VarAddr_W);
234-
void RTS_SndData(int16_t, uint32_t, uint8_t=VarAddr_W);
235-
void RTS_SndData(float, uint32_t, uint8_t=VarAddr_W);
236-
void RTS_SndData(uint16_t, uint32_t, uint8_t=VarAddr_W);
237-
void RTS_SndData(int32_t, uint32_t, uint8_t=VarAddr_W);
238-
void RTS_SndData(uint32_t, uint32_t, uint8_t=VarAddr_W);
229+
void RTS_SndData();
230+
void RTS_SndData(const String&, const uint32_t, const uint8_t=VarAddr_W);
231+
void RTS_SndData(const char[], const uint32_t, const uint8_t=VarAddr_W);
232+
void RTS_SndData(char, const uint32_t, const uint8_t=VarAddr_W);
233+
void RTS_SndData(int, const uint32_t, const uint8_t=VarAddr_W);
234+
void RTS_SndData(unsigned long, const uint32_t, const uint8_t=VarAddr_W);
235+
236+
void RTS_SndData(uint8_t * const str, const uint32_t addr, const uint8_t cmd=VarAddr_W) { RTS_SndData((char *)str, addr, cmd); }
237+
void RTS_SndData(const unsigned int n, uint32_t addr, const uint8_t cmd=VarAddr_W) { RTS_SndData(int(n), addr, cmd); }
238+
void RTS_SndData(const_float_t n, const uint32_t addr, const uint8_t cmd=VarAddr_W) { RTS_SndData(int(n), addr, cmd); }
239+
void RTS_SndData(const long n, const uint32_t addr, const uint8_t cmd=VarAddr_W) { RTS_SndData((unsigned long)n, addr, cmd); }
240+
239241
void RTS_SDcard_Stop();
240242
void RTS_HandleData();
241243
void RTS_Init();
@@ -281,7 +283,7 @@ namespace ExtUI {
281283
Filename = Filename_Value
282284
};
283285

284-
const uint32_t Addrbuf[] = {
286+
const uint16_t Addrbuf[] = {
285287
0x1002, 0x1004, 0x1006, 0x1008, 0x100A, 0x100C, 0x1026, 0x1030, 0x1032, 0x1034, 0x103A,
286288
0x103E, 0x1040, 0x1044, 0x1046, 0x1048, 0x104A, 0x104C, 0x1054, 0x1056, 0x1058,
287289
0x105C, 0x105E, 0x105F, 0x1088, 0

Marlin/src/lcd/extui/mks_ui/wifiSerial_STM32.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ int WifiSerial::read() {
322322
// if the head isn't ahead of the tail, we don't have any characters
323323
if (_serial.rx_head == _serial.rx_tail) return -1;
324324

325-
unsigned char c = _serial.rx_buff[_serial.rx_tail];
325+
uint8_t c = _serial.rx_buff[_serial.rx_tail];
326326
_serial.rx_tail = (rx_buffer_index_t)(_serial.rx_tail + 1) % WIFI_RX_BUF_SIZE;
327327
return c;
328328
}

0 commit comments

Comments
 (0)