From 4bd44139b1d120e73c6b8863578b0ef6996f7368 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 25 Jan 2010 13:02:25 +0000 Subject: Move TWI.c driver into the straight LUFA/Drivers/Peripheral/ directory. Fix TemperatureDataLogger and Webserver project builds. --- LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.c | 54 --------------------------------- LUFA/Drivers/Peripheral/TWI.c | 54 +++++++++++++++++++++++++++++++++ LUFA/Drivers/Peripheral/TWI.h | 2 +- 3 files changed, 55 insertions(+), 55 deletions(-) delete mode 100644 LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.c create mode 100644 LUFA/Drivers/Peripheral/TWI.c (limited to 'LUFA/Drivers/Peripheral') diff --git a/LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.c b/LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.c deleted file mode 100644 index dda88f8ba..000000000 --- a/LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.c +++ /dev/null @@ -1,54 +0,0 @@ -/* - Copyright (C) Dean Camera, 2010. - - dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com -*/ - -#include "../TWI.h" - -bool TWI_StartTransmission(uint8_t SlaveAddress) -{ - for (;;) - { - uint8_t IterationsRemaining = 50; - bool BusCaptured = false; - - while (IterationsRemaining-- && !BusCaptured) - { - TWCR = ((1 << TWINT) | (1 << TWSTA) | (1 << TWEN)); - while (!(TWCR & (1 << TWINT))); - - switch (TWSR & TW_STATUS_MASK) - { - case TW_START: - case TW_REP_START: - BusCaptured = true; - break; - case TW_MT_ARB_LOST: - continue; - default: - return false; - } - } - - if (!(BusCaptured)) - return false; - - TWDR = SlaveAddress; - TWCR = ((1 << TWINT) | (1 << TWEN)); - while (!(TWCR & (1 << TWINT))); - - GPIOR0 = (TWSR & TW_STATUS_MASK); - - switch (TWSR & TW_STATUS_MASK) - { - case TW_MT_SLA_ACK: - case TW_MR_SLA_ACK: - return true; - default: - TWI_StopTransmission(); - break; - } - } -} diff --git a/LUFA/Drivers/Peripheral/TWI.c b/LUFA/Drivers/Peripheral/TWI.c new file mode 100644 index 000000000..6028bbae9 --- /dev/null +++ b/LUFA/Drivers/Peripheral/TWI.c @@ -0,0 +1,54 @@ +/* + Copyright (C) Dean Camera, 2010. + + dean [at] fourwalledcubicle [dot] com + www.fourwalledcubicle.com +*/ + +#include "TWI.h" + +bool TWI_StartTransmission(uint8_t SlaveAddress) +{ + for (;;) + { + uint8_t IterationsRemaining = 50; + bool BusCaptured = false; + + while (IterationsRemaining-- && !BusCaptured) + { + TWCR = ((1 << TWINT) | (1 << TWSTA) | (1 << TWEN)); + while (!(TWCR & (1 << TWINT))); + + switch (TWSR & TW_STATUS_MASK) + { + case TW_START: + case TW_REP_START: + BusCaptured = true; + break; + case TW_MT_ARB_LOST: + continue; + default: + return false; + } + } + + if (!(BusCaptured)) + return false; + + TWDR = SlaveAddress; + TWCR = ((1 << TWINT) | (1 << TWEN)); + while (!(TWCR & (1 << TWINT))); + + GPIOR0 = (TWSR & TW_STATUS_MASK); + + switch (TWSR & TW_STATUS_MASK) + { + case TW_MT_SLA_ACK: + case TW_MR_SLA_ACK: + return true; + default: + TWI_StopTransmission(); + break; + } + } +} diff --git a/LUFA/Drivers/Peripheral/TWI.h b/LUFA/Drivers/Peripheral/TWI.h index 2a97e1899..7432a1691 100644 --- a/LUFA/Drivers/Peripheral/TWI.h +++ b/LUFA/Drivers/Peripheral/TWI.h @@ -41,7 +41,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.c (for U4, U6 and U7 AVR models) + * - LUFA/Drivers/Peripheral/TWI.c * * \section Module Description * Master Mode Hardware TWI driver. This module provides an easy to use driver for the hardware -- cgit v1.2.3