#ifndef IO_H #define IO_H #include "stm32f4xx_hal.h" uint16_t read_address(); void write_address(uint16_t address); void enable_address_out(uint8_t enable); uint8_t read_data(); void write_data(uint8_t value); void enable_data_out(uint8_t enable); void select_device(uint8_t device); void set_reset(uint8_t high); void set_clock(uint8_t high); uint8_t has_memrq(); void send_memrq(uint8_t high); void enable_memrq_out(uint8_t enable); uint8_t has_ioreq(); uint8_t has_m1(); uint8_t has_rd(); void send_rd(uint8_t high); void enable_rd_out(uint8_t enable); uint8_t has_wr(); void send_wr(uint8_t high); void enable_wr_out(uint8_t enable); uint8_t has_busak(); void send_busrq(uint8_t control); void send_int(uint8_t control); #endif