39 std::vector<uint8_t> splitRegister(T reg)
41 std::vector<uint8_t> result;
42 const size_t size =
sizeof(T);
43 for (
size_t i = 0;
i < size; ++
i) {
44 result.push_back(
static_cast<uint8_t
>(reg >> (8 * (size - 1 -
i))));
50 int readRegisterImpl(T reg, uint8_t *
buf,
size_t len)
52 std::vector<uint8_t> splitReg = splitRegister(reg);
58 int writeRegisterImpl(T reg, uint8_t val)
60 std::vector<uint8_t> splitReg = splitRegister(reg);
66 int writeRegisterImpl(T reg, uint8_t *
buf,
size_t len)
68 std::vector<uint8_t> splitReg = splitRegister(reg);
74 int writeRegisterImpl(T reg, uint8_t norVal, uint8_t orVal)
76 std::vector<uint8_t> splitReg = splitRegister(reg);
85 std::vector<uint8_t> splitReg = splitRegister(reg);
93 return readRegisterImpl(reg,
buf, len);
100 return writeRegisterImpl(reg, val);
107 return writeRegisterImpl(reg,
buf, len);
114 return writeRegisterImpl(reg, norVal, orVal);