Many changes from 2018
[owSlave2.git] / common / I2C / USI_TWI_Master.h
index f91c41b..19f3e88 100644 (file)
 \r
 // Defines controlling timing limits\r
 #define TWI_FAST_MODE\r
-\r
+#ifdef  __4MHZ__\r
+#define SYS_CLK  4000.0  // [kHz]\r
+#else\r
 #define SYS_CLK   8000.0  // [kHz]\r
+#endif\r
+\r
+\r
 \r
 #ifdef TWI_FAST_MODE               // TWI FAST mode timing limits. SCL = 100-400kHz\r
   #define T2_TWI    ((SYS_CLK *1300) /1000000) +1 // >1,3us\r
 #define PIN_USI_SCL         PINA4\r
 #endif\r
 \r
+\r
+#if defined(__AVR_ATmega328__) | defined(__AVR_ATmega328P__) | defined(__AVR_ATmega328PB__)\r
+#define DDR_USI             DDRC\r
+#define PORT_USI            PORTC\r
+#define PIN_USI             PINC\r
+#define PORT_USI_SDA        PORTC4\r
+#define PORT_USI_SCL        PORTC5\r
+#define PIN_USI_SDA         PINC4\r
+#define PIN_USI_SCL         PINC5\r
+#endif\r
+\r
 // General defines\r
 #define TRUE  1\r
 #define FALSE 0\r
 \r
-#define ACK (1<<TWI_NACK_BIT )\r
-#define NO_ACK 0\r
+//#define ACK (1<<TWI_NACK_BIT )\r
+//#define NO_ACK 0\r
 \r
 \r
 //********** Prototypes **********//\r