|
@@ -102,12 +102,9 @@ void Max7219(const uint8_t reg, const uint8_t data) {
|
102
|
102
|
|
103
|
103
|
void Max7219_LED_Set(const uint8_t row, const uint8_t col, const bool on) {
|
104
|
104
|
if (row > 7 || col > 7) {
|
105
|
|
- int r,c;
|
106
|
|
- r = row;
|
107
|
|
- c = col;
|
108
|
|
- SERIAL_ECHOPAIR("??? Max7219_LED_Set(",r);
|
109
|
|
- SERIAL_ECHOPAIR(",",c);
|
110
|
|
- SERIAL_ECHO(")\n");
|
|
105
|
+ SERIAL_ECHOPAIR("??? Max7219_LED_Set(", (int)row);
|
|
106
|
+ SERIAL_ECHOPAIR(",", (int)col);
|
|
107
|
+ SERIAL_ECHOLNPGM(")");
|
111
|
108
|
return;
|
112
|
109
|
}
|
113
|
110
|
if (TEST(LEDs[row], col) == on) return; // if LED is already on/off, leave alone
|
|
@@ -117,12 +114,9 @@ void Max7219_LED_Set(const uint8_t row, const uint8_t col, const bool on) {
|
117
|
114
|
|
118
|
115
|
void Max7219_LED_On(const uint8_t col, const uint8_t row) {
|
119
|
116
|
if (row > 7 || col > 7) {
|
120
|
|
- int r,c;
|
121
|
|
- r = row;
|
122
|
|
- c = col;
|
123
|
|
- SERIAL_ECHOPAIR("??? Max7219_LED_On(",c);
|
124
|
|
- SERIAL_ECHOPAIR(",",r);
|
125
|
|
- SERIAL_ECHO(")\n");
|
|
117
|
+ SERIAL_ECHOPAIR("??? Max7219_LED_On(", (int)col);
|
|
118
|
+ SERIAL_ECHOPAIR(",", (int)row);
|
|
119
|
+ SERIAL_ECHOLNPGM(")");
|
126
|
120
|
return;
|
127
|
121
|
}
|
128
|
122
|
Max7219_LED_Set(col, row, true);
|
|
@@ -130,12 +124,9 @@ void Max7219_LED_On(const uint8_t col, const uint8_t row) {
|
130
|
124
|
|
131
|
125
|
void Max7219_LED_Off(const uint8_t col, const uint8_t row) {
|
132
|
126
|
if (row > 7 || col > 7) {
|
133
|
|
- int r,c;
|
134
|
|
- r = row;
|
135
|
|
- c = col;
|
136
|
|
- SERIAL_ECHOPAIR("??? Max7219_LED_Off(",r);
|
137
|
|
- SERIAL_ECHOPAIR(",",c);
|
138
|
|
- SERIAL_ECHO(")\n");
|
|
127
|
+ SERIAL_ECHOPAIR("??? Max7219_LED_Off(", (int)row);
|
|
128
|
+ SERIAL_ECHOPAIR(",", (int)col);
|
|
129
|
+ SERIAL_ECHOLNPGM(")");
|
139
|
130
|
return;
|
140
|
131
|
}
|
141
|
132
|
Max7219_LED_Set(col, row, false);
|
|
@@ -143,12 +134,9 @@ void Max7219_LED_Off(const uint8_t col, const uint8_t row) {
|
143
|
134
|
|
144
|
135
|
void Max7219_LED_Toggle(const uint8_t col, const uint8_t row) {
|
145
|
136
|
if (row > 7 || col > 7) {
|
146
|
|
- int r,c;
|
147
|
|
- r = row;
|
148
|
|
- c = col;
|
149
|
|
- SERIAL_ECHOPAIR("??? Max7219_LED_Toggle(",r);
|
150
|
|
- SERIAL_ECHOPAIR(",",c);
|
151
|
|
- SERIAL_ECHO(")\n");
|
|
137
|
+ SERIAL_ECHOPAIR("??? Max7219_LED_Toggle(", (int)row);
|
|
138
|
+ SERIAL_ECHOPAIR(",", (int)col);
|
|
139
|
+ SERIAL_ECHOLNPGM(")");
|
152
|
140
|
return;
|
153
|
141
|
}
|
154
|
142
|
if (TEST(LEDs[row], col))
|
|
@@ -159,10 +147,8 @@ void Max7219_LED_Toggle(const uint8_t col, const uint8_t row) {
|
159
|
147
|
|
160
|
148
|
void Max7219_Clear_Column(const uint8_t col) {
|
161
|
149
|
if (col > 7) {
|
162
|
|
- int c;
|
163
|
|
- c = col;
|
164
|
|
- SERIAL_ECHOPAIR("??? Max7219_Clear_Column(",c);
|
165
|
|
- SERIAL_ECHO(")\n");
|
|
150
|
+ SERIAL_ECHOPAIR("??? Max7219_Clear_Column(", (int)col);
|
|
151
|
+ SERIAL_ECHOLNPGM(")");
|
166
|
152
|
return;
|
167
|
153
|
}
|
168
|
154
|
LEDs[col] = 0;
|
|
@@ -171,10 +157,8 @@ void Max7219_Clear_Column(const uint8_t col) {
|
171
|
157
|
|
172
|
158
|
void Max7219_Clear_Row(const uint8_t row) {
|
173
|
159
|
if (row > 7) {
|
174
|
|
- int r;
|
175
|
|
- r = row;
|
176
|
|
- SERIAL_ECHOPAIR("??? Max7219_Clear_Row(",r);
|
177
|
|
- SERIAL_ECHO(")\n");
|
|
160
|
+ SERIAL_ECHOPAIR("??? Max7219_Clear_Row(", (int)row);
|
|
161
|
+ SERIAL_ECHOLNPGM(")");
|
178
|
162
|
return;
|
179
|
163
|
}
|
180
|
164
|
for (uint8_t c = 0; c <= 7; c++)
|
|
@@ -182,13 +166,10 @@ void Max7219_Clear_Row(const uint8_t row) {
|
182
|
166
|
}
|
183
|
167
|
|
184
|
168
|
void Max7219_Set_Row(const uint8_t row, const uint8_t val) {
|
185
|
|
- if (row > 7 || val>255) {
|
186
|
|
- int r, v;
|
187
|
|
- r = row;
|
188
|
|
- v = val;
|
189
|
|
- SERIAL_ECHOPAIR("??? Max7219_Set_Row(",r);
|
190
|
|
- SERIAL_ECHOPAIR(",",v);
|
191
|
|
- SERIAL_ECHO(")\n");
|
|
169
|
+ if (row > 7) {
|
|
170
|
+ SERIAL_ECHOPAIR("??? Max7219_Set_Row(", (int)row);
|
|
171
|
+ SERIAL_ECHOPAIR(",", (int)val);
|
|
172
|
+ SERIAL_ECHOLNPGM(")");
|
192
|
173
|
return;
|
193
|
174
|
}
|
194
|
175
|
for (uint8_t b = 0; b <= 7; b++)
|
|
@@ -199,44 +180,34 @@ void Max7219_Set_Row(const uint8_t row, const uint8_t val) {
|
199
|
180
|
}
|
200
|
181
|
|
201
|
182
|
void Max7219_Set_2_Rows(const uint8_t row, const uint16_t val) {
|
202
|
|
- if (row > 6 || val>65535) {
|
203
|
|
- int r, v;
|
204
|
|
- r = row;
|
205
|
|
- v = val;
|
206
|
|
- SERIAL_ECHOPAIR("??? Max7219_Set_2_Rows(",r);
|
207
|
|
- SERIAL_ECHOPAIR(",",v);
|
208
|
|
- SERIAL_ECHO(")\n");
|
|
183
|
+ if (row > 6) {
|
|
184
|
+ SERIAL_ECHOPAIR("??? Max7219_Set_2_Rows(", (int)row);
|
|
185
|
+ SERIAL_ECHOPAIR(",", (int)val);
|
|
186
|
+ SERIAL_ECHOLNPGM(")");
|
209
|
187
|
return;
|
210
|
188
|
}
|
211
|
|
- Max7219_Set_Row(row+1, (val & 0xff00) >> 8 );
|
212
|
|
- Max7219_Set_Row(row+0, (val & 0xff));
|
|
189
|
+ Max7219_Set_Row(row + 1, (val >> 8) & 0xFF);
|
|
190
|
+ Max7219_Set_Row(row + 0, (val ) & 0xFF);
|
213
|
191
|
}
|
214
|
192
|
|
215
|
193
|
void Max7219_Set_4_Rows(const uint8_t row, const uint32_t val) {
|
216
|
|
- if (row > 4 ) {
|
217
|
|
- int r;
|
218
|
|
- long v;
|
219
|
|
- r = row;
|
220
|
|
- v = val;
|
221
|
|
- SERIAL_ECHOPAIR("??? Max7219_Set_4_Rows(",r);
|
222
|
|
- SERIAL_ECHOPAIR(",",v);
|
223
|
|
- SERIAL_ECHO(")\n");
|
|
194
|
+ if (row > 4) {
|
|
195
|
+ SERIAL_ECHOPAIR("??? Max7219_Set_4_Rows(", (int)row);
|
|
196
|
+ SERIAL_ECHOPAIR(",", (long)val);
|
|
197
|
+ SERIAL_ECHOLNPGM(")");
|
224
|
198
|
return;
|
225
|
199
|
}
|
226
|
|
- Max7219_Set_Row(row+3, (val & 0xff000000) >> 24);
|
227
|
|
- Max7219_Set_Row(row+2, (val & 0xff0000) >> 16);
|
228
|
|
- Max7219_Set_Row(row+1, (val & 0xff00) >> 8);
|
229
|
|
- Max7219_Set_Row(row+0, (val & 0xff));
|
|
200
|
+ Max7219_Set_Row(row + 3, (val >> 24) & 0xFF);
|
|
201
|
+ Max7219_Set_Row(row + 2, (val >> 16) & 0xFF);
|
|
202
|
+ Max7219_Set_Row(row + 1, (val >> 8) & 0xFF);
|
|
203
|
+ Max7219_Set_Row(row + 0, (val ) & 0xFF);
|
230
|
204
|
}
|
231
|
205
|
|
232
|
206
|
void Max7219_Set_Column(const uint8_t col, const uint8_t val) {
|
233
|
|
- if (val > 255 || col > 7) {
|
234
|
|
- int v,c;
|
235
|
|
- v = val;
|
236
|
|
- c = col;
|
237
|
|
- SERIAL_ECHOPAIR("??? Max7219_Column(",c);
|
238
|
|
- SERIAL_ECHOPAIR(",",v);
|
239
|
|
- SERIAL_ECHO(")\n");
|
|
207
|
+ if (col > 7) {
|
|
208
|
+ SERIAL_ECHOPAIR("??? Max7219_Column(", (int)col);
|
|
209
|
+ SERIAL_ECHOPAIR(",", (int)val);
|
|
210
|
+ SERIAL_ECHOLNPGM(")");
|
240
|
211
|
return;
|
241
|
212
|
}
|
242
|
213
|
LEDs[col] = val;
|
|
@@ -304,12 +275,10 @@ void Max7219_idle_tasks() {
|
304
|
275
|
#if MAX7219_DEBUG_STEPPER_HEAD || MAX7219_DEBUG_STEPPER_TAIL || MAX7219_DEBUG_STEPPER_QUEUE
|
305
|
276
|
CRITICAL_SECTION_START
|
306
|
277
|
#if MAX7219_DEBUG_STEPPER_HEAD || MAX7219_DEBUG_STEPPER_QUEUE
|
307
|
|
- uint8_t head;
|
308
|
|
- head = planner.block_buffer_head;
|
|
278
|
+ const uint8_t head = planner.block_buffer_head;
|
309
|
279
|
#endif
|
310
|
280
|
#if MAX7219_DEBUG_STEPPER_TAIL || MAX7219_DEBUG_STEPPER_QUEUE
|
311
|
|
- uint8_t tail;
|
312
|
|
- tail = planner.block_buffer_tail;
|
|
281
|
+ const uint8_t tail = planner.block_buffer_tail;
|
313
|
282
|
#endif
|
314
|
283
|
CRITICAL_SECTION_END
|
315
|
284
|
#endif
|
|
@@ -323,34 +292,34 @@ void Max7219_idle_tasks() {
|
323
|
292
|
#endif
|
324
|
293
|
|
325
|
294
|
#ifdef MAX7219_DEBUG_STEPPER_HEAD
|
326
|
|
- static int16_t last_head_cnt=0;
|
|
295
|
+ static int16_t last_head_cnt = 0;
|
327
|
296
|
if (last_head_cnt != head) {
|
328
|
297
|
if (last_head_cnt < 8)
|
329
|
|
- Max7219_LED_Off( last_head_cnt, MAX7219_DEBUG_STEPPER_HEAD);
|
|
298
|
+ Max7219_LED_Off(last_head_cnt, MAX7219_DEBUG_STEPPER_HEAD);
|
330
|
299
|
else
|
331
|
|
- Max7219_LED_Off( last_head_cnt-8, MAX7219_DEBUG_STEPPER_HEAD+1);
|
|
300
|
+ Max7219_LED_Off(last_head_cnt - 8, MAX7219_DEBUG_STEPPER_HEAD + 1);
|
332
|
301
|
|
333
|
302
|
last_head_cnt = head;
|
334
|
303
|
if (head < 8)
|
335
|
304
|
Max7219_LED_On(head, MAX7219_DEBUG_STEPPER_HEAD);
|
336
|
305
|
else
|
337
|
|
- Max7219_LED_On(head-8, MAX7219_DEBUG_STEPPER_HEAD+1);
|
|
306
|
+ Max7219_LED_On(head - 8, MAX7219_DEBUG_STEPPER_HEAD + 1);
|
338
|
307
|
}
|
339
|
308
|
#endif
|
340
|
309
|
|
341
|
310
|
#ifdef MAX7219_DEBUG_STEPPER_TAIL
|
342
|
|
- static int16_t last_tail_cnt=0;
|
|
311
|
+ static int16_t last_tail_cnt = 0;
|
343
|
312
|
if (last_tail_cnt != tail) {
|
344
|
313
|
if (last_tail_cnt < 8)
|
345
|
|
- Max7219_LED_Off( last_tail_cnt, MAX7219_DEBUG_STEPPER_TAIL);
|
|
314
|
+ Max7219_LED_Off(last_tail_cnt, MAX7219_DEBUG_STEPPER_TAIL);
|
346
|
315
|
else
|
347
|
|
- Max7219_LED_Off( last_tail_cnt-8, MAX7219_DEBUG_STEPPER_TAIL+1);
|
|
316
|
+ Max7219_LED_Off(last_tail_cnt - 8, MAX7219_DEBUG_STEPPER_TAIL + 1);
|
348
|
317
|
|
349
|
318
|
last_tail_cnt = tail;
|
350
|
319
|
if (tail < 8)
|
351
|
320
|
Max7219_LED_On(tail, MAX7219_DEBUG_STEPPER_TAIL);
|
352
|
321
|
else
|
353
|
|
- Max7219_LED_On(tail-8, MAX7219_DEBUG_STEPPER_TAIL+1);
|
|
322
|
+ Max7219_LED_On(tail - 8, MAX7219_DEBUG_STEPPER_TAIL + 1);
|
354
|
323
|
}
|
355
|
324
|
#endif
|
356
|
325
|
|
|
@@ -367,10 +336,10 @@ void Max7219_idle_tasks() {
|
367
|
336
|
en = max(current_depth, last_depth);
|
368
|
337
|
if (current_depth < last_depth)
|
369
|
338
|
for (uint8_t i = st; i <= en; i++) // clear the highest order LEDs
|
370
|
|
- Max7219_LED_Off(i/2, MAX7219_DEBUG_STEPPER_QUEUE + (i & 1));
|
|
339
|
+ Max7219_LED_Off(i / 2, MAX7219_DEBUG_STEPPER_QUEUE + (i & 1));
|
371
|
340
|
else
|
372
|
341
|
for (uint8_t i = st; i <= en; i++) // set the LEDs to current depth
|
373
|
|
- Max7219_LED_On(i/2, MAX7219_DEBUG_STEPPER_QUEUE + (i & 1));
|
|
342
|
+ Max7219_LED_On(i / 2, MAX7219_DEBUG_STEPPER_QUEUE + (i & 1));
|
374
|
343
|
|
375
|
344
|
last_depth = current_depth;
|
376
|
345
|
}
|