00001 #ifndef _DEV_TWIBUS_AT91_H_ 00002 #define _DEV_TWIBUS_AT91_H_ 00003 00004 #include <sys/types.h> 00005 #include <cfg/arch.h> 00006 00007 typedef struct _NUTTWIICB NUTTWIICB; 00008 /* 00009 * Runtime Data container. 00010 * This is installed in heap at initializaton 00011 * of a bus. 00012 */ 00013 struct _NUTTWIICB { 00014 /********** Master mode *********/ 00015 00018 volatile uint_fast16_t tw_mm_sla; 00019 00022 volatile uint_fast8_t tw_mm_err; 00023 00026 volatile uint_fast8_t tw_mm_error; 00027 00030 uint8_t *tw_mm_buf; 00031 00034 volatile uint_fast16_t tw_mm_len; 00035 00038 volatile uint_fast16_t tw_mm_idx; 00039 00042 HANDLE tw_mm_mtx; 00043 }; 00044 00045 extern NUTTWIBUS At91TwiBus; 00046 00047 #ifndef DEF_TWIBUS 00048 #define DEF_TWIBUS At91TwiBus 00049 #endif 00050 00051 #endif /* _DEV_TWIBUS_AT91_H_ */