|
@@ -3293,37 +3293,24 @@ void gcode_M701()
|
|
|
*/
|
|
|
static void gcode_PRUSA_SN()
|
|
|
{
|
|
|
- if (farm_mode) {
|
|
|
- selectedSerialPort = 0;
|
|
|
- putchar(';');
|
|
|
- putchar('S');
|
|
|
- int numbersRead = 0;
|
|
|
- ShortTimer timeout;
|
|
|
- timeout.start();
|
|
|
-
|
|
|
- while (numbersRead < 19) {
|
|
|
- while (MSerial.available() > 0) {
|
|
|
- uint8_t serial_char = MSerial.read();
|
|
|
- selectedSerialPort = 1;
|
|
|
- putchar(serial_char);
|
|
|
- numbersRead++;
|
|
|
- selectedSerialPort = 0;
|
|
|
- }
|
|
|
- if (timeout.expired(100u)) break;
|
|
|
+ uint8_t selectedSerialPort_bak = selectedSerialPort;
|
|
|
+ char SN[20];
|
|
|
+ selectedSerialPort = 0;
|
|
|
+ SERIAL_ECHOLNRPGM(PSTR(";S"));
|
|
|
+ uint8_t numbersRead = 0;
|
|
|
+ ShortTimer timeout;
|
|
|
+ timeout.start();
|
|
|
+
|
|
|
+ while (numbersRead < (sizeof(SN) - 1)) {
|
|
|
+ if (MSerial.available() > 0) {
|
|
|
+ SN[numbersRead] = MSerial.read();
|
|
|
+ numbersRead++;
|
|
|
}
|
|
|
- selectedSerialPort = 1;
|
|
|
- putchar('\n');
|
|
|
-#if 0
|
|
|
- for (int b = 0; b < 3; b++) {
|
|
|
- _tone(BEEPER, 110);
|
|
|
- _delay(50);
|
|
|
- _noTone(BEEPER);
|
|
|
- _delay(50);
|
|
|
- }
|
|
|
-#endif
|
|
|
- } else {
|
|
|
- puts_P(_N("Not in farm mode."));
|
|
|
+ if (timeout.expired(100u)) break;
|
|
|
}
|
|
|
+ SN[numbersRead] = 0;
|
|
|
+ selectedSerialPort = selectedSerialPort_bak;
|
|
|
+ SERIAL_ECHOLN(SN);
|
|
|
}
|
|
|
//! Detection of faulty RAMBo 1.1b boards equipped with bigger capacitors
|
|
|
//! at the TACH_1 pin, which causes bad detection of print fan speed.
|