printer: avr: Extend test mode
This commit is contained in:
parent
d3997d6049
commit
9a896c3314
@ -13,6 +13,7 @@ inline void spi_process_data();
|
||||
enum TIMERS{TIM_CARRIAGE,
|
||||
TIM_WHEEL,
|
||||
TIM_LINEFEED,
|
||||
TIM_SYSTEM,
|
||||
TIMS};
|
||||
|
||||
#define TIMESCALE 4
|
||||
@ -753,15 +754,18 @@ void initialize_paperfeed()
|
||||
// }
|
||||
//}
|
||||
|
||||
//void systick_test()
|
||||
//{
|
||||
// debug_write("[tmr] System timer test\r\n");
|
||||
// while (1) {
|
||||
// if (block_for(0, 1000 * TIMESCALE)) {
|
||||
// debug_write("hello\n");
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
void systick_test()
|
||||
{
|
||||
debug_write("[tmr] System timer test\r\n");
|
||||
while (1) {
|
||||
if (block_for(TIM_SYSTEM, 1000 * TIMESCALE)) {
|
||||
debug_write("tick.\r\n");
|
||||
}
|
||||
if (UCSRA & (1 << RXC)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void hardfault() {
|
||||
@ -769,6 +773,12 @@ void hardfault() {
|
||||
STEPPER_STOP(WHEEL);
|
||||
STEPPER_STOP(CARRIAGE);
|
||||
STEPPER_STOP(LINEFEED);
|
||||
DDRB = 0;
|
||||
DDRC = 0;
|
||||
DDRD = 0;
|
||||
PORTB = 0;
|
||||
PORTC = 0;
|
||||
PORTD = 0;
|
||||
while(1);
|
||||
}
|
||||
|
||||
@ -1156,6 +1166,26 @@ int system_test_auto()
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* System control */
|
||||
switch (c) {
|
||||
case 'i':
|
||||
sei();
|
||||
debug_write("Interrupts enabled.\r\n");
|
||||
break;
|
||||
case 'I':
|
||||
cli();
|
||||
debug_write("Interrupts disabled.\r\n");
|
||||
break;
|
||||
case 't':
|
||||
systick_test();
|
||||
break;
|
||||
case 'f':
|
||||
hardfault();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user