modm API documentation
modm::Itg3200< I2cMaster > Class Template Reference

#include <modm/driver/inertial/itg3200.hpp>

Inheritance diagram for modm::Itg3200< I2cMaster >:
modm::I2cDevice< I2cMaster >

Classes

struct  Data
 

Public Typedefs

typedef Configuration< Power_t, ClockSource,(Bit2|Bit1|Bit0) > ClockSource_t
 

Public Types

enum  LowPassFilter : uint8_t
 
enum  Interrupt : uint8_t
 The bit masks of the INT_CFG register.
 
enum  Status : uint8_t
 The bit masks of the INT_STATUS register.
 
enum  Power : uint8_t
 The bit masks of the PWR_MGM register.
 
enum  ClockSource : uint8_t
 

Public Member Functions

 MODM_FLAGS8 (Interrupt)
 
 MODM_FLAGS8 (Status)
 
 MODM_FLAGS8 (Power)
 
 Itg3200 (Data &data, uint8_t address=0x68)
 Constructor, requires an itg3200::Data object, sets address to default of 0x68 (AD0 low: 0x69)
 
bool configure (LowPassFilter filter=LowPassFilter::Hz20, uint8_t divider=0)
 
bool readRotation ()
 reads the temperature and gyro registers and buffer the results
 
bool setLowPassFilter (LowPassFilter filter)
 
bool setSampleRateDivider (uint8_t divider)
 
bool updateInterrupt (Interrupt_t setMask, Interrupt_t clearMask=Interrupt_t (0xf5))
 
bool updatePower (Power_t setMask, Power_t clearMask=Power_t (0xff))
 
LowPassFilter getLowPassFilter ()
 
Interrupt_t getInterrupt ()
 
Power_t getPower ()
 
Status_t getStatus ()
 
bool readStatus ()
 
DatagetData ()
 Get the data object for this sensor.
 
void attachConfigurationHandler (I2c::ConfigurationHandler handler)
 
bool ping ()
 
bool read (uint8_t *buffer, std::size_t size)
 Starts a write transaction and waits until finished.
 
void setAddress (uint8_t address)
 
bool write (const uint8_t *buffer, std::size_t size)
 Starts a write transaction and waits until finished.
 
bool writeRead (const uint8_t *writeBuffer, std::size_t writeSize, uint8_t *readBuffer, std::size_t readSize)
 Starts a write-read transaction and waits until finished.
 

Protected Member Functions

bool isTransactionRunning ()
 
bool runTransaction ()
 Starts our own transaction and waits until finished.
 
bool startTransaction ()
 Starts the transaction with our own transaction object.
 
bool startTransaction (modm::I2cTransaction *transaction)
 Starts the transaction with a separate transaction object.
 
bool wasTransactionSuccessful ()
 

Protected Attributes

I2cWriteReadTransaction transaction
 

Detailed Description

template<typename I2cMaster>
class modm::Itg3200< I2cMaster >

Author
Niklas Hauser

Member Function Documentation

void modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::attachConfigurationHandler ( I2c::ConfigurationHandler  handler)
inheritedinline

Attaches a configuration handler, which is called before a transaction, whenever the configuration has to be changed.

bool modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::isTransactionRunning ( )
inheritedinlineprotected
Returns
true when transaction is busy.
bool modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::ping ( )
inheritedinline
Return Values
truedevice responds to address
falseno device with address found
void modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::setAddress ( uint8_t  address)
inheritedinline

Sets a new address of the slave device.

Parameters
addressthe slave address not yet shifted left (address < 128).
bool modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::wasTransactionSuccessful ( )
inheritedinlineprotected
Returns
true when transaction did not return an error.

The documentation for this class was generated from the following file: