13#include <pybind11/pybind11.h>
14#include <pybind11/stl.h>
16namespace py = pybind11;
25 py::class_<timing::MasterNode, uhal::Node>(m,
"MasterNode")
26 .def(py::init<const uhal::Node&>())
37 py::arg(
"number_of_commands") = 1)
38 .def<void (
timing::MasterNode::*)(uint32_t, uint32_t, double, bool, uint32_t)
const>(
"enable_periodic_fl_cmd",
44 py::arg(
"clock_frequency_hz"))
52 py::arg(
"endpoint_address"),
56 py::class_<timing::UpstreamCDRNode, uhal::Node>(m,
"UpstreamCDRNode")
57 .def(py::init<const uhal::Node&>())
61 py::class_<timing::IRIGTimestampNode, uhal::Node>(m,
"IRIGTimestampNode")
62 .def(py::init<const uhal::Node&>())
std::string get_status(bool print_out=false) const override
Print the status of the timing node.
void set_irig_epoch(IRIGEpoch irig_epoch) const
Set IRIG epoch: TAI/UNIX.
virtual void enable_periodic_fl_cmd(uint32_t channel, double rate, bool poisson, uint32_t clock_frequency_hz) const
Configure fake trigger generator.
virtual void disable_periodic_fl_cmd(uint32_t channel) const
Clear fake trigger configuration.
Class for PD-II/DUNE master timing nodes.
std::string get_status(bool print_out=false) const override
Print the status of the timing node.
std::string get_status_with_date(uint32_t clock_frequency_hz, bool print_out=false) const
Print the status of the timing node.
std::vector< uint32_t > transmit_async_packet(const std::vector< uint32_t > &packet, int timeout=500) const
Send an async packet.
void enable_timestamp_broadcast() const
Enable timestamp sending.
std::vector< uint32_t > read_endpoint_data(uint16_t endpoint_address, uint8_t reg_address, uint8_t data_length, bool address_mode) const
Read some data from endpoint registers.
void switch_endpoint_sfp(uint32_t address, bool turn_on) const override
Control the tx line of endpoint sfp.
void disable_timestamp_broadcast() const
Disable timestamp sending.
void enable_upstream_endpoint() const override
Enable RTT endpoint.
void sync_timestamp(TimestampSource source) const override
Set timestamp to current machine time.
void configure_endpoint_command_decoder(uint16_t endpoint_address, uint8_t slot, uint8_t command) const
Configure endpoint command decoder.
void reset_command_counters() const
Read some data from endpoint registers.
void write_endpoint_data(uint16_t endpoint_address, uint8_t reg_address, std::vector< uint8_t > data, bool address_mode) const
Write some data to endpoint registers.
void send_fl_cmd(uint32_t command, uint32_t channel, uint32_t number_of_commands=1) const override
Send a fixed length command.
void resync() const
Reync CDR.
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
void register_master(py::module &m)