/* 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); extern void logic_init(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);