summaryrefslogtreecommitdiffstats
path: root/app/prototypes.h
blob: 34d7863684bafacc865c320759d1a9ef9c9012a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/* dfu.c */
extern const struct usb_dfu_descriptor dfu_function;
extern const struct usb_interface_descriptor dfu_iface;
extern int dfu_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));
/* main.c */
extern int main(void);
/* usb.c */
extern const struct usb_device_descriptor dev;
extern const struct usb_interface ifaces[];
extern const struct usb_config_descriptor config;
extern usbd_device *usbd_dev;
extern int usb_is_suspended;
extern int usb_running;
extern void usb_tick(void);
extern int usb_wakeup_host(void);
extern void usb_set_config(usbd_device *usbd_dev, uint16_t wValue);
extern void usb_init(void);
extern void usb_run(void);
/* led.c */
extern void led_init(void);
extern void led_blink(void);
extern void led_tick(void);
/* ticker.c */
extern volatile uint32_t ticks;
extern void delay_us(uint32_t d);
extern void sys_tick_handler(void);
extern void delay_ms(uint32_t d);
extern int timed_out(uint32_t then, unsigned int ms);
extern void ticker_init(void);
/* i2c.c */
extern int i2c_bb(int scl, int sda);
extern void i2c_bb_start(void);
extern void i2c_bb_stop(void);
extern int i2c_bb_send_data(uint8_t v);
extern int i2c_bb_start_transaction(uint8_t a, int wnr);
extern void i2c_bb_init(void);
/* lcd.c */
extern uint8_t fb[2][16];
extern uint8_t shadow[2][16];
extern void lcd_refresh(void);
extern void lcd_tick(void);
extern void lcd_write_char(uint8_t c, int x, int y);
extern void lcd_erase(int x, int y, int w);
extern void lcd_erase_line(int w, int y);
extern void lcd_erase_all(void);
extern void lcd_write(char *c, int x, int y);
extern void lcd_backlight(int i);
extern void lcd_reset(void);
extern void lcd_init(void);
extern void lcd_shutdown(void);
/* adc.c */
extern int host_has_power;
extern void adc_tick(void);
extern void adc_init(void);
/* state.c */
extern uint32_t up_time;
extern uint32_t down_time;
extern int locked;
extern void state_show(void);
extern void state_tick(void);
extern void state_init(void);
/* key.c */
extern int have_key;
extern void key_wipe(void);
extern void key_set(char *in, size_t len);
extern void key_send(void);
extern void key_init(void);
/* keyboard.c */
extern const struct usb_endpoint_descriptor keyboard_endpoint;
extern const struct usb_interface_descriptor keyboard_iface;
extern void keyboard_get_descriptor(uint8_t **buf, uint16_t *len);
extern void keyboard_keypress(int m, int k);
/* crypto.c */
extern int crypto_control(uint8_t request, uint16_t value, uint16_t index, void *buf, size_t len);
extern 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));
/* map.c */
extern void send_ascii(unsigned char a);
extern void send_str(const char *c);