[1.1.x] Max7219 cleanup, simplify, and extend (#11574)
This commit is contained in:
parent
2f2f16c340
commit
feb55517af
4 changed files with 384 additions and 321 deletions
|
|
@ -10914,42 +10914,49 @@ inline void gcode_M502() {
|
|||
*/
|
||||
inline void gcode_M7219() {
|
||||
if (parser.seen('I')) {
|
||||
Max7219_Clear();
|
||||
Max7219_register_setup();
|
||||
max7219.clear();
|
||||
max7219.register_setup();
|
||||
}
|
||||
|
||||
if (parser.seen('F'))
|
||||
for (uint8_t x = 0; x < MAX7219_X_LEDS; x++)
|
||||
Max7219_Set_Column(x, 0xffffffff);
|
||||
max7219.set_column(x, 0xFFFFFFFF);
|
||||
|
||||
const uint32_t v = parser.ulongval('V');
|
||||
|
||||
if (parser.seenval('R')) {
|
||||
const uint32_t r = parser.value_int();
|
||||
Max7219_Set_Row(r, parser.byteval('V'));
|
||||
return;
|
||||
const uint8_t r = parser.value_byte();
|
||||
max7219.set_row(r, v);
|
||||
}
|
||||
else if (parser.seenval('C')) {
|
||||
const uint32_t c = parser.value_int();
|
||||
Max7219_Set_Column(c, parser.ulongval('V'));
|
||||
return;
|
||||
const uint8_t c = parser.value_byte();
|
||||
max7219.set_column(c, v);
|
||||
}
|
||||
|
||||
if (parser.seenval('X') || parser.seenval('Y')) {
|
||||
else if (parser.seenval('X') || parser.seenval('Y')) {
|
||||
const uint8_t x = parser.byteval('X'), y = parser.byteval('Y');
|
||||
if (parser.seenval('V'))
|
||||
Max7219_LED_Set(x, y, parser.boolval('V'));
|
||||
max7219.led_set(x, y, parser.boolval('V'));
|
||||
else
|
||||
Max7219_LED_Toggle(x, y);
|
||||
max7219.led_toggle(x, y);
|
||||
}
|
||||
else if (parser.seen('D')) {
|
||||
const uint8_t r = parser.value_byte();
|
||||
if (r < MAX7219_ROWS) {
|
||||
max7219.led_line[r] = v;
|
||||
return max7219.all(r);
|
||||
}
|
||||
}
|
||||
|
||||
if (parser.seen('P')) {
|
||||
for (uint8_t x = 0; x < (8 * MAX7219_NUMBER_UNITS); x++) {
|
||||
SERIAL_ECHOPAIR("LEDs[", x);
|
||||
SERIAL_ECHOPAIR("]=", LEDs[x]);
|
||||
SERIAL_ECHO("\n");
|
||||
for (uint8_t r = 0; r < MAX7219_ROWS; r++) {
|
||||
SERIAL_ECHOPGM("led_line[");
|
||||
if (r < 10) SERIAL_CHAR('_');
|
||||
SERIAL_ECHO(r);
|
||||
SERIAL_ECHO("]=");
|
||||
for (uint8_t b = 8; b--;) SERIAL_CHAR('0' + TEST(max7219.led_line[r], b));
|
||||
SERIAL_EOL();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
#endif // MAX7219_GCODE
|
||||
|
||||
|
|
@ -14317,7 +14324,7 @@ void idle(
|
|||
#endif
|
||||
) {
|
||||
#if ENABLED(MAX7219_DEBUG)
|
||||
Max7219_idle_tasks();
|
||||
max7219.idle_tasks();
|
||||
#endif
|
||||
|
||||
lcd_update();
|
||||
|
|
@ -14441,7 +14448,7 @@ void stop() {
|
|||
void setup() {
|
||||
|
||||
#if ENABLED(MAX7219_DEBUG)
|
||||
Max7219_init();
|
||||
max7219.init();
|
||||
#endif
|
||||
|
||||
#if ENABLED(DISABLE_JTAG)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue