From e41764fceeabb1cdb6a7a299e00f2166a6f6ac32 Mon Sep 17 00:00:00 2001 From: fishsoupisgood Date: Thu, 18 Jun 2020 13:26:56 +0100 Subject: moved stm32 into directory added noddy pcb --- stm32/app/prototypes.h | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 stm32/app/prototypes.h (limited to 'stm32/app/prototypes.h') 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); -- cgit v1.2.3