summaryrefslogtreecommitdiffstats
path: root/app/prototypes.h
blob: 4eb3605d10f8e514c2b799e678f693d5bc2adddb (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/* main.c */
extern int main(void);
/* led.c */
extern void led_init(void);
extern void led_clear(void);
extern void led_set(void);
extern void led_tick(void);
/* i2c.c */
extern int i2c_lock(void);
extern void i2c_unlock(void);
/* usart.c */
extern ring_t rx1_ring;
extern ring_t tx1_ring;
extern void usart1_isr(void);
extern int _write(int file, char *ptr, int len);
extern void usart1_queue(uint8_t d);
extern void usart1_drain(void);
extern void usart_init(void);
/* ring.c */
extern void ring_init(ring_t *r, uint8_t *buf, size_t len);
extern int ring_write_byte(ring_t *r, uint8_t c);
extern int ring_read_byte(ring_t *r, uint8_t *c);
extern int ring_write(ring_t *r, uint8_t *buf, size_t len);
extern int ring_empty(ring_t *r);
/* ticker.c */
extern void delay_us(uint32_t d);
extern void sys_tick_handler(void);
extern void delay_ms(uint32_t d);
extern void ticker_init(void);
/* oled.c */
extern int ssd1306_cmds(uint32_t i2c, uint8_t *buf, size_t len, int delay);
extern int ssd1306_cmd(uint32_t i2c, uint8_t cmd, int delay);
extern void oled_generate_stream(uint8_t *vram);
extern void oled_cls(uint8_t *vram);
extern void oled_on(uint32_t i2c);
extern void oled_off(uint32_t i2c);
extern void oled_reset(uint32_t i2c);
extern void oled_const_strip(uint8_t *vram, int x, int xe, uint8_t and, uint8_t or);
extern void oled_blit_strip(uint8_t *vram, int x, int xe, uint8_t mask, int shift, uint8_t *src);
/* i2c_hw.c */
extern void i2c_clear_start(uint32_t i2c);
extern int i2cp_start(uint32_t i2c);
extern void i2cp_abort_start(uint32_t i2c);
extern void i2cp_stop(uint32_t i2c);
extern void i2cp_abort_stop(uint32_t i2c);
extern int i2cp_send(uint32_t i2c, uint8_t v);
extern int i2cp_start_transaction(uint32_t i2c, uint8_t a, int wnr);
extern void i2cp1_reset_sm(void);
extern void i2cp2_reset_sm(void);
extern void i2cp1_start_dma(uint8_t *buf, int len);
extern void i2cp2_start_dma(uint8_t *buf, int len);
extern int i2cp1_dma_in_progress(void);
extern int i2cp2_dma_in_progress(void);
extern void i2cp1_stop_dma(void);
extern void i2cp2_stop_dma(void);
extern void i2cp_reset(uint32_t i2c);
extern void i2cp_scan(uint32_t i2c);
extern void i2cp_init(void);
/* font8x8.c */
extern void font8x8_put_ch(uint8_t *vram, unsigned ch, unsigned x, unsigned y);
extern void font8x8_put_str(uint8_t *vram, char *str, unsigned x, unsigned y);
/* font8x16.c */
extern void font8x16_put_ch(uint8_t *vram, unsigned ch, unsigned x, unsigned y);
extern void font8x16_put_str(uint8_t *vram, char *str, unsigned x, unsigned y);
/* tacho.c */
extern uint32_t raw_tacho;
extern void exti3_isr(void);
extern void tacho_init(void);
/* oled1.c */
extern uint8_t vram_1[(2 + ((128 * ((32 + 7) >> 3))))];
extern void dma1_channel6_isr(void);
extern void oled1_ticker(void);
extern void oled1_enable_refresh(void);
extern void oled1_disable_refresh(void);
extern void oled1_init(void);
extern void oled1_shutdown(void);
/* oled2.c */
extern uint8_t vram_2[(2 + ((128 * ((32 + 7) >> 3))))];
extern void dma1_channel4_isr(void);
extern void oled2_ticker(void);
extern void oled2_enable_refresh(void);
extern void oled2_disable_refresh(void);
extern void oled2_init(void);
extern void oled2_shutdown(void);
/* font21x32.c */
extern void font21x32_put_ch(uint8_t *vram, unsigned ch, unsigned x);
extern void font21x32_put_str(uint8_t *vram, char *str, unsigned x);
/* gauge.c */
extern unsigned gauge_target;
extern void gauge_ticker(void);
extern void gauge_test(void);
extern void gauge_init(void);