NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
i2c::Bus Class Reference

#include <i2c_new.h>

Public Types

using Ptr = std::shared_ptr< Bus >
 
using WeakPtr = std::weak_ptr< Bus >
 

Public Member Functions

 Bus (Bus const &other)=delete
 
 Bus (Bus &&other)=delete
 
Busoperator= (Bus const &other)=delete
 
Busoperator= (Bus &&other)=delete
 
 ~Bus ()
 
Device DeviceAt (const Address addr) const noexcept
 
int Write (const Address addr, const std::uint8_t *data, const std::size_t size, Error *ec)
 
int Read (const Address addr, std::uint8_t *data, const std::size_t size, Error *ec)
 
int ReadRegister (const Address addr, const std::uint8_t reg, std::uint8_t *data, const std::size_t size, Error *ec)
 
void SetRetries (const int retries) noexcept
 

Friends

Bus::Ptr Open (std::string const &, Error *)
 

Member Typedef Documentation

◆ Ptr

using i2c::Bus::Ptr = std::shared_ptr<Bus>

◆ WeakPtr

using i2c::Bus::WeakPtr = std::weak_ptr<Bus>

Constructor & Destructor Documentation

◆ Bus() [1/2]

i2c::Bus::Bus ( Bus const &  other)
delete

◆ Bus() [2/2]

i2c::Bus::Bus ( Bus &&  other)
delete

◆ ~Bus()

i2c::Bus::~Bus ( )

Member Function Documentation

◆ DeviceAt()

i2c::Device i2c::Bus::DeviceAt ( const Address  addr) const
noexcept

◆ operator=() [1/2]

Bus& i2c::Bus::operator= ( Bus &&  other)
delete

◆ operator=() [2/2]

Bus& i2c::Bus::operator= ( Bus const &  other)
delete

◆ Read()

int i2c::Bus::Read ( const Address  addr,
std::uint8_t *  data,
const std::size_t  size,
Error ec 
)

◆ ReadRegister()

int i2c::Bus::ReadRegister ( const Address  addr,
const std::uint8_t  reg,
std::uint8_t *  data,
const std::size_t  size,
Error ec 
)

◆ SetRetries()

void i2c::Bus::SetRetries ( const int  retries)
noexcept

◆ Write()

int i2c::Bus::Write ( const Address  addr,
const std::uint8_t *  data,
const std::size_t  size,
Error ec 
)

Friends And Related Function Documentation

◆ Open

Bus::Ptr Open ( std::string const &  ,
Error  
)
friend

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