34 py::class_<timing::I2CMasterNode, uhal::Node>(m,
"I2CMasterNode")
35 .def(py::init<const uhal::Node&>())
40 py::arg(
"i2c_device_address"),
41 py::arg(
"i2c_reg_address"),
43 py::arg(
"send_stop") =
true)
45 .def(
"write_i2cArray",
47 py::arg(
"i2c_device_address"),
48 py::arg(
"i2c_reg_address"),
50 py::arg(
"send_stop") =
true)
52 .def(
"write_i2cPrimitive",
54 py::arg(
"i2c_device_address"),
56 py::arg(
"send_stop") =
true)
65 py::class_<timing::I2CSlave>(m,
"I2CSlave")
73 py::arg(
"i2c_reg_address"),
75 py::arg(
"send_stop") =
true)
76 .def<void (
timing::I2CSlave::*)(uint32_t, uint32_t, uint8_t, bool)
const>(
"write_i2c",
78 py::arg(
"i2c_device_address"),
79 py::arg(
"i2c_reg_address"),
81 py::arg(
"send_stop") =
true)
85 .def<std::vector<uint8_t> (
timing::I2CSlave::*)(uint32_t, uint32_t, uint32_t)
const>(
88 .def<void (
timing::I2CSlave::*)(uint32_t, std::vector<uint8_t>, bool)
const>(
91 py::arg(
"i2c_reg_address"),
93 py::arg(
"send_stop") =
true)
94 .def<void (
timing::I2CSlave::*)(uint32_t, uint32_t, std::vector<uint8_t>, bool)
const>(
97 py::arg(
"i2c_device_address"),
98 py::arg(
"i2c_reg_address"),
100 py::arg(
"send_stop") =
true)
106 py::class_<timing::SIChipSlave, timing::I2CSlave>(m,
"SIChipSlave")
107 .def(py::init<const timing::I2CMasterNode*, uint8_t>())
115 py::class_<timing::SI534xSlave, timing::SIChipSlave>(m,
"SI534xSlave")
116 .def(py::init<const timing::I2CMasterNode*, uint8_t>())
117 .def(
"configure", &timing::SI534xSlave::configure)
118 .def(
"read_config_id", &timing::SI534xSlave::read_config_id)
123 py::class_<timing::SI534xNode, timing::SI534xSlave, timing::I2CMasterNode>(m,
"SI534xNode")
124 .def(py::init<const uhal::Node&>());
127 py::class_<timing::I2CExpanderSlave, timing::I2CSlave>(m,
"I2CExpanderSlave")
128 .def(py::init<const timing::I2CMasterNode*, uint8_t>())
129 .def(
"set_io", &timing::I2CExpanderSlave::set_io)
130 .def(
"set_inversion", &timing::I2CExpanderSlave::set_inversion)
131 .def(
"set_outputs", &timing::I2CExpanderSlave::set_outputs)
132 .def(
"read_inputs", &timing::I2CExpanderSlave::read_inputs)
133 .def(
"debug", &timing::I2CExpanderSlave::debug);
140 py::class_<timing::DACSlave, timing::I2CSlave>(m,
"DACSlave")
141 .def(py::init<const timing::I2CMasterNode*, uint8_t>())
146 py::class_<timing::DACNode, timing::DACSlave, timing::I2CMasterNode>(m,
"DACNode").def(py::init<const uhal::Node&>());