summaryrefslogtreecommitdiffstats
path: root/radiator-plc/stm32/app/prototypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'radiator-plc/stm32/app/prototypes.h')
-rw-r--r--radiator-plc/stm32/app/prototypes.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/radiator-plc/stm32/app/prototypes.h b/radiator-plc/stm32/app/prototypes.h
new file mode 100644
index 0000000..2347f01
--- /dev/null
+++ b/radiator-plc/stm32/app/prototypes.h
@@ -0,0 +1,80 @@
+/* hexdump.c */
+extern void hexdump(void *_d, int len);
+/* main.c */
+extern volatile int request_search;
+extern int main(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 volatile uint32_t ticks;
+extern uint32_t clock_scale;
+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);
+/* usart.c */
+extern ring_t rx1_ring;
+extern ring_t tx1_ring;
+extern unsigned locked;
+extern void usart_ticker(void);
+extern void usart1_isr(void);
+extern int _write(int file, char *ptr, int len);
+extern void usart1_queue(uint8_t d);
+extern void usart1_queue_buf(void *buf, size_t len);
+extern void usart1_drain(void);
+extern void usart_init(void);
+/* watchdog.c */
+extern void watchdog_init(void);
+extern void sausages(void);
+/* led.c */
+extern void led_init(void);
+extern void led1_set(void);
+extern void led1_clear(void);
+extern void led_tick(void);
+/* 1wire.c */
+extern int onewire_reset(void);
+extern void onewire_one(void);
+extern void onewire_zero(void);
+extern int onewire_read(void);
+extern void onewire_write_byte(uint8_t v);
+extern uint8_t onewire_read_byte(void);
+extern void onewire_read_bytes(uint8_t *buf, int n);
+extern void onewire_write_bytes(const uint8_t *buf, int n);
+extern int onewire_select(const Onewire_addr *a);
+extern int onewire_reset_and_select(const Onewire_addr *a);
+extern int onewire_wait_complete(unsigned timeout);
+extern int onewire_check_crc(uint8_t *buf, int n, uint8_t v);
+extern int onewire_search(void);
+extern void onewire_init(void);
+/* inputs.c */
+extern int input_get(unsigned r);
+extern void inputs_init(void);
+/* outputs.c */
+extern void output_set(unsigned r);
+extern void output_clear(unsigned r);
+extern void outputs_set(unsigned v);
+extern void output_write(unsigned r, unsigned v);
+extern void outputs_init(void);
+/* logic.c */
+extern volatile int temp[8];
+extern int low_limit[8];
+extern int high_limit[8];
+extern int valve_state[8];
+extern void mqtt_dispatch(char *type, char *who, char *what, char *msg);
+extern void logic_tick(void);
+extern void logic_slow_tick(void);
+extern void logic_dispatch(void);
+/* ds18b20.c */
+extern unsigned extract_leu16(uint8_t *d);
+extern int extract_les16(uint8_t *d);
+extern int ds18b20_read_sp(const Onewire_addr *a, uint8_t *buf, unsigned len);
+extern int ds18b20_write_sp(const Onewire_addr *a, uint8_t *buf, unsigned len);
+extern int ds18b20_convert(const Onewire_addr *a, unsigned timeout);
+extern int ds18b20_set_12(const Onewire_addr *a);
+extern int ds18b20_read(const Onewire_addr *a, int *temp);
+extern int ds18b20_set_12_convert(const Onewire_addr *a);
+extern int ds18b20_set_12_convert_and_read(const Onewire_addr *a, int *temp);