1#ifndef PFLIB_BITTWARE_AXILITE
2#define PFLIB_BITTWARE_AXILITE 1
16 AxiLite(
const uint32_t base_address,
const char*
dev,
17 const uint32_t mask_space = 0x3FFFFF);
21 const char*
dev()
const;
25 uint32_t
read(uint32_t addr);
28 void write(uint32_t addr, uint32_t value);
31 uint32_t
readMasked(uint32_t addr, uint32_t mask);
34 void writeMasked(uint32_t addr, uint32_t mask, uint32_t value);
36 bool isSet(uint32_t addr,
int ibit) {
40 void setclear(uint32_t addr,
int ibit,
bool true_for_set =
false) {
41 writeMasked(addr, (1 << ibit), (true_for_set) ? (1) : (0));
This class provides access to read and write via the ioctl path to the AXILite targets within the Bit...
Definition bittware_axilite.h:14
bool isSet(uint32_t addr, int ibit)
check to see if a given bit is set
Definition bittware_axilite.h:36
uint32_t read(uint32_t addr)
Read a register, throws an exception if bits are set outside the addr mask space (or in the two LSB)
Definition bittware_axilite.cxx:47
uint32_t base_
path to device
Definition bittware_axilite.h:52
uint32_t get_hardware_type()
get the hardware type from the standard register 0
Definition bittware_axilite.h:45
void write(uint32_t addr, uint32_t value)
Write a register, throws an exception if bits are set outside the addr mask space (or in the two LSB)
Definition bittware_axilite.cxx:62
const char * dev() const
get the device path this AxiLite is connected to
Definition bittware_axilite.cxx:45
void setclear(uint32_t addr, int ibit, bool true_for_set=false)
set or clear a given bit
Definition bittware_axilite.h:40
void writeMasked(uint32_t addr, uint32_t mask, uint32_t value)
Write a register, doing shifts as necessary, throws an exception if bits are set outside the addr mas...
Definition bittware_axilite.cxx:83
uint32_t readMasked(uint32_t addr, uint32_t mask)
Read a register, doing shifts as necessary, throws an exception if bits are set outside the addr mask...
Definition bittware_axilite.cxx:78
uint32_t get_firmware_version()
get the firmware version from the standard register 0
Definition bittware_axilite.h:48
This version of the fast control code interfaces with the CMS Fast control library which can be contr...
Definition Backend.cxx:3