summaryrefslogtreecommitdiffstats
path: root/stm32/app/prototypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'stm32/app/prototypes.h')
-rw-r--r--stm32/app/prototypes.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/stm32/app/prototypes.h b/stm32/app/prototypes.h
new file mode 100644
index 0000000..4649eb3
--- /dev/null
+++ b/stm32/app/prototypes.h
@@ -0,0 +1,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, const 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 int gauge_target;
+extern void gauge_ticker(void);
+extern void gauge_test(void);
+extern void gauge_init(void);