00001 #ifndef DRIVER_H 00002 #define DRIVER_H 00003 00004 #include <stdint.h> 00005 #include "common.h" 00006 00042 typedef GATE_RESULT (*GATE_READ)(uint8_t reg, uint8_t* data, uint8_t* data_len); 00043 00057 typedef GATE_RESULT (*GATE_WRITE)(uint8_t reg, uint8_t* data, uint8_t data_len); 00058 00066 typedef GATE_RESULT (*GATE_INIT)(void); 00067 00071 typedef struct GATE_DRIVER_ { 00072 uint8_t* registers; 00073 uint8_t num_registers; 00074 struct GATE_DRIVER_* next; /*<< Указатель на следующий драйвер в списке */ 00075 GATE_READ read; 00076 GATE_WRITE write; 00077 GATE_INIT init; 00078 } GATE_DRIVER; 00079 00089 GATE_RESULT gate_driver_register(GATE_DRIVER* driver); 00090 00104 GATE_RESULT gate_register_read(uint8_t reg, uint8_t* data, uint8_t* data_len); 00105 00120 GATE_RESULT gate_register_write(uint8_t reg, uint8_t* data, uint8_t data_len); 00121 00124 #endif
1.5.6