diff options
author | root <root@new-selene.erebei.org> | 2015-12-01 02:10:53 +0000 |
---|---|---|
committer | root <root@new-selene.erebei.org> | 2015-12-01 02:10:53 +0000 |
commit | b55240eb43a92c552003b8b324a385e041f84f12 (patch) | |
tree | ab932136ecfaa42e1e417e0253aebcc5b5f178aa /app/code.c | |
parent | 061430973e82995368d27ff9081391f9475da3c7 (diff) | |
download | candlestick-b55240eb43a92c552003b8b324a385e041f84f12.tar.gz candlestick-b55240eb43a92c552003b8b324a385e041f84f12.tar.bz2 candlestick-b55240eb43a92c552003b8b324a385e041f84f12.zip |
fish
Diffstat (limited to 'app/code.c')
-rw-r--r-- | app/code.c | 95 |
1 files changed, 34 insertions, 61 deletions
@@ -7,92 +7,65 @@ static int hide; static int show; -void code_display(void) +void +code_display (void) { -size_t i; + size_t i; -#if 0 -lcd_erase_line(0,16); +#if 1 + lcd_erase_line (0, 16); -if (code_len!=16) - lcd_write("Enter code:",0,0); -else - lcd_write("Code entered:",0,0); + if (code_len != 16) + lcd_write ("Enter code:", 0, 0); + else + lcd_write ("Code entered:", 0, 0); #endif - for (i=0;i<sizeof(code);++i) - lcd_write_char(hide ? '*': (code[i] ? code[i]:' '),i,1); + for (i = 0; i < sizeof (code); ++i) + lcd_write_char (hide ? '*' : (code[i] ? code[i] : ' '), i, 1); lcd_backlight (!hide); } -int -vendor_control_request (usbd_device * usbd_dev, struct usb_setup_data *req, - uint8_t ** buf, uint16_t * len, - int (**complete) (usbd_device * usbd_dev, - struct usb_setup_data * req)) +void +code_tick (void) { - (void) buf; - (void) len; - (void) usbd_dev; - - (void) complete; - - if ((req->bmRequestType & 0x7F) != 0x41) - return 0; /* Only accept vendor request. */ - - switch (req->bRequest) + if (!show) + return; + show--; + if (!show) { - - case 0x34: - (*buf)[0] = 0x1; - (*buf)[1] = 0; - (*buf)[2] = 0; - (*buf)[3] = 0; - (*buf)[4] = 0x2; - (*buf)[5] = 0; /* iString not used here */ - *len = 6; - return 1; - } - - return 0; - -} - - -void code_tick(void) -{ -if (!show) return; -show--; - if (!show) { - hide++; - code_display(); - } + hide++; + code_display (); + } } -void key_event (uint8_t v, int ud) +void +key_event (uint8_t v, int ud) { - if (!ud) return; + if (!ud) + return; + + if (code_len == sizeof (code)) + { + code_len = 0; + memset (code, ' ', sizeof (code)); + } - if (code_len==sizeof(code)) { - code_len=0; - memset(code,' ',sizeof(code)); - } + show = 5000; + hide = 0; - show=5000; - hide=0; + code[code_len++] = v; - code[code_len++]=v; + code_display (); - code_display(); - } |