*
* <b>Low Level API Example:</b>
* \code
- * // Initialize the TWI driver before first use
- * TWI_Init(TWI_BIT_PRESCALE_1, 10);
+ * // Initialize the TWI driver before first use at 200KHz
+ * TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 200000));
*
* // Start a write session to device at device address 0xA0, internal address 0xDC with a 10ms timeout
* if (TWI_StartTransmission(0xA0 | TWI_ADDRESS_WRITE, 10) == TWI_ERROR_NoError)
* }
* }
* \endcode
- *
+ *
* <b>High Level API Example:</b>
* \code
- * // Initialize the TWI driver before first use
- * TWI_Init(TWI_BIT_PRESCALE_1, 10);
+ * // Initialize the TWI driver before first use at 200KHz
+ * TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 200000));
*
* // Start a write session to device at device address 0xA0, internal address 0xDC with a 10ms timeout
* uint8_t InternalWriteAddress = 0xDC;
* or \ref TWI_ADDRESS_WRITE to obtain the device's read and write address respectively.
*/
#define TWI_DEVICE_ADDRESS_MASK 0xFE
-
+
/** Bit length prescaler for \ref TWI_Init(). This mask multiplies the TWI bit length prescaler by 1. */
#define TWI_BIT_PRESCALE_1 ((0 << TWPS1) | (0 << TWPS0))
-
+
/** Bit length prescaler for \ref TWI_Init(). This mask multiplies the TWI bit length prescaler by 4. */
#define TWI_BIT_PRESCALE_4 ((0 << TWPS1) | (1 << TWPS0))
/** Bit length prescaler for \ref TWI_Init(). This mask multiplies the TWI bit length prescaler by 64. */
#define TWI_BIT_PRESCALE_64 ((1 << TWPS1) | (1 << TWPS0))
-
+
/** Calculates the length of each bit on the TWI bus for a given target frequency. This may be used with
* the \ref TWI_Init() function to convert a bus frequency to a number of clocks for the \c BitLength
* parameter.
*
- * \param[in] Prescaler Prescaler set on the TWI bus.
+ * \param[in] Prescale Prescaler set on the TWI bus.
* \param[in] Frequency Desired TWI bus frequency in Hz.
*
* \return Bit length in clocks for the given TWI bus frequency at the given prescaler value.
TWI_ERROR_SlaveNotReady = 4, /**< Slave NAKed the TWI bus START condition. */
TWI_ERROR_SlaveNAK = 5, /**< Slave NAKed whilst attempting to send data to the device. */
};
-
+
/* Inline Functions: */
/** Initializes the TWI hardware into master mode, ready for data transmission and reception. This must be
* before any other TWI operations.
const bool LastByte) ATTR_NON_NULL_PTR_ARG(1);
bool TWI_ReceiveByte(uint8_t* const Byte,
const bool LastByte);
-
+
/** High level function to perform a complete packet transfer over the TWI bus to the specified
* device.
*