summaryrefslogtreecommitdiffstats
path: root/app/prototypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/prototypes.h')
-rw-r--r--app/prototypes.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/app/prototypes.h b/app/prototypes.h
new file mode 100644
index 0000000..31d9b70
--- /dev/null
+++ b/app/prototypes.h
@@ -0,0 +1,77 @@
+/* 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 uint8_t dma_buf[(2 + ((128 * ((32 + 7) >> 3))))];
+extern uint8_t update_buf[(2 + ((128 * ((32 + 7) >> 3))))];
+extern int ssd1306_cmds(uint8_t *buf, size_t len, int delay);
+extern int ssd1306_cmd(uint8_t cmd, int delay);
+extern void dma1_channel6_isr(void);
+extern void oled_refresh_wdt(void);
+extern void oled_enable_refresh(void);
+extern void oled_disable_refresh(void);
+extern void oled_cls(void);
+extern void oled_on(void);
+extern void oled_off(void);
+extern void oled_squirt(void);
+extern void oled_reset(void);
+extern void oled_const_strip(int x, int xe, uint8_t and, uint8_t or);
+extern void oled_blit_strip(int x, int xe, uint8_t mask, int shift, uint8_t *src);
+extern void oled_init(void);
+extern void oled_shutdown(void);
+/* i2c_hw.c */
+extern void i2c_clear_start(uint32_t i2c);
+extern void i2cp_start(void);
+extern void i2cp_abort_start(void);
+extern void i2cp_stop(void);
+extern void i2cp_abort_stop(void);
+extern int i2cp_send(uint8_t v);
+extern int i2cp_start_transaction(uint8_t a, int wnr);
+extern void i2cp_start_dma(uint8_t *buf, int len);
+extern int i2cp_dma_in_progress(void);
+extern void i2cp_stop_dma(void);
+extern void i2cp_reset(void);
+extern void i2cp_scan(void);
+extern void i2cp_init(void);
+/* i2c_bb.c */
+extern uint8_t i2cb_send(uint8_t wot);
+extern uint8_t i2cb_send_addr(uint8_t addr, uint8_t rnw);
+extern uint8_t i2cb_read(uint8_t ack);
+extern void i2cb_start(void);
+extern void i2cb_stop(void);
+extern int i2cb_start_transaction(uint8_t a, uint8_t rnw);
+extern void i2cb_reset(void);
+extern void i2cb_scan(void);
+extern void i2cb_init(void);
+/* font8x8.c */
+extern void font8x8_put_ch(unsigned ch, unsigned x, unsigned y);
+extern void font8x8_put_str(char *str, unsigned x, unsigned y);
+/* font8x16.c */
+extern void font8x16_put_ch(unsigned ch, unsigned x, unsigned y);
+extern void font8x16_put_str(char *str, unsigned x, unsigned y);