1#ifndef pflib_lpgbt_I2C_h_included
2#define pflib_lpgbt_I2C_h_included 1
5#include "pflib/lpGBT.h"
17 virtual void write_byte(uint8_t i2c_dev_addr, uint8_t data);
18 virtual uint8_t
read_byte(uint8_t i2c_dev_addr);
34 virtual void write_byte(uint8_t i2c_dev_addr, uint8_t data);
35 virtual uint8_t
read_byte(uint8_t i2c_dev_addr);
40 uint8_t muxaddr_, wval_;
Base class which encapsulates the I2C interface, represents a single bus.
Definition I2C.h:18
Class which provides an interface with an lpGBT ASIC as mounted on an LDMX mezzanine.
Definition lpGBT.h:52
Synchronous I2C implementation.
Definition I2C.h:11
virtual uint8_t read_byte(uint8_t i2c_dev_addr)
Read a single byte using the efficient interface.
Definition I2C.cxx:17
virtual int get_bus_speed()
Get the speed for the bus in kbps.
Definition I2C.cxx:11
virtual void set_bus_speed(int speed=100)
Set the speed for the bus in kbps.
Definition I2C.cxx:6
virtual std::vector< uint8_t > general_write_read(uint8_t i2c_dev_addr, const std::vector< uint8_t > &wdata, int nread=0)
Carry out a write of zero or more bytes followed a by a read of zero or more bytes.
Definition I2C.cxx:23
virtual void write_byte(uint8_t i2c_dev_addr, uint8_t data)
Write a single byte using the efficient interface, and wait for completion.
Definition I2C.cxx:13
Synchronous I2C implementation.
Definition I2C.h:29
virtual uint8_t read_byte(uint8_t i2c_dev_addr)
Read a single byte using the efficient interface.
Definition I2C.cxx:46
virtual std::vector< uint8_t > general_write_read(uint8_t i2c_dev_addr, const std::vector< uint8_t > &wdata, int nread=0)
Carry out a write of zero or more bytes followed a by a read of zero or more bytes.
Definition I2C.cxx:50
virtual void write_byte(uint8_t i2c_dev_addr, uint8_t data)
Write a single byte using the efficient interface, and wait for completion.
Definition I2C.cxx:42
This version of the fast control code interfaces with the CMS Fast control library which can be contr...
Definition Backend.cxx:3