Add reset.
This commit is contained in:
parent
d2a39a5cc4
commit
1b49ec4319
3 changed files with 16 additions and 2 deletions
|
@ -11,8 +11,7 @@
|
||||||
(define (set-layer n)
|
(define (set-layer n)
|
||||||
(lambda () (set! current-layer (vector-ref layers n))))
|
(lambda () (set! current-layer (vector-ref layers n))))
|
||||||
|
|
||||||
(define (reset)
|
(define (reset) (call-c-func "reset"))
|
||||||
#f) ;; TODO: uh, seriously. I need this. how.
|
|
||||||
|
|
||||||
;;;; layers
|
;;;; layers
|
||||||
|
|
||||||
|
|
|
@ -601,3 +601,14 @@ ISR(USB_COM_vect)
|
||||||
}
|
}
|
||||||
UECONX = (1<<STALLRQ) | (1<<EPEN); // stall
|
UECONX = (1<<STALLRQ) | (1<<EPEN); // stall
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void reset(void) {
|
||||||
|
UDCON = 1; USBCON = (1<<FRZCLK); UCSR1B = 0;
|
||||||
|
// _delay_ms(5);
|
||||||
|
EIMSK = 0; PCICR = 0; SPCR = 0; ACSR = 0; EECR = 0; ADCSRA = 0;
|
||||||
|
TIMSK0 = 0; TIMSK1 = 0; TIMSK3 = 0; TIMSK4 = 0; UCSR1B = 0; TWCR = 0;
|
||||||
|
DDRB = 0; DDRC = 0; DDRD = 0; DDRE = 0; DDRF = 0; TWCR = 0;
|
||||||
|
PORTB = 0; PORTC = 0; PORTD = 0; PORTE = 0; PORTF = 0;
|
||||||
|
*(uint16_t *)0x0800 = 0x7777;
|
||||||
|
wdt_enable(WDTO_120MS);
|
||||||
|
};
|
||||||
|
|
|
@ -12,6 +12,10 @@ extern uint8_t keyboard_modifier_keys;
|
||||||
extern uint8_t keyboard_keys[6];
|
extern uint8_t keyboard_keys[6];
|
||||||
extern volatile uint8_t keyboard_leds;
|
extern volatile uint8_t keyboard_leds;
|
||||||
|
|
||||||
|
#include <avr/wdt.h>
|
||||||
|
// #include <util/delay.h>
|
||||||
|
void reset(void);
|
||||||
|
|
||||||
// This file does not include the HID debug functions, so these empty
|
// This file does not include the HID debug functions, so these empty
|
||||||
// macros replace them with nothing, so users can compile code that
|
// macros replace them with nothing, so users can compile code that
|
||||||
// has calls to these functions.
|
// has calls to these functions.
|
||||||
|
|
Loading…
Reference in a new issue