* \file
* <!--
* Copyright 2003, 2004, 2005 Develer S.r.l. (http://www.develer.com/)
- * This file is part of DevLib - See devlib/README for information.
+ * This file is part of DevLib - See README.devlib for information.
* -->
*
* \brief Driver for the AVR ATMega TWI (implementation)
/*#*
*#* $Log$
+ *#* Revision 1.4 2005/04/11 19:10:28 bernie
+ *#* Include top-level headers from cfg/ subdir.
+ *#*
+ *#* Revision 1.3 2005/03/01 23:26:00 bernie
+ *#* Header fix.
+ *#*
+ *#* Revision 1.2 2005/01/25 08:36:56 bernie
+ *#* CONFIG_TWI_FREQ: New config param.
+ *#*
*#* Revision 1.1 2005/01/06 16:09:40 aleph
*#* Split twi/eeprom functions from eeprom module in separate twi module
*#*
*#*/
#include "twi.h"
-#include "config.h"
-#include <debug.h>
+#include <cfg/config.h>
+#include <cfg/debug.h>
#include <hw.h>
-#include <cpu.h>
+#include <cfg/cpu.h>
+#include <cfg/macros.h> // BV()
-#include <avr/twi.h>
+#include <compat/twi.h>
/* Wait for TWINT flag set: bus is ready */
* Set speed:
* F = CLOCK_FREQ / (16 + 2*TWBR * 4^TWPS)
*/
- #define TWI_FREQ 300000L /* ~300 kHz */
+ #ifndef CONFIG_TWI_FREQ
+ #warning Using default value of 300000L for CONFIG_TWI_FREQ
+ #define CONFIG_TWI_FREQ 300000L /* ~300 kHz */
+ #endif
#define TWI_PRESC 1 /* 4 ^ TWPS */
- TWBR = (CLOCK_FREQ / (2 * TWI_FREQ * TWI_PRESC)) - (8 / TWI_PRESC);
+ TWBR = (CLOCK_FREQ / (2 * CONFIG_TWI_FREQ * TWI_PRESC)) - (8 / TWI_PRESC);
TWSR = 0;
TWCR = BV(TWEN);
);