Line data Source code
1 : /**
2 : * @file timing_wrapper.cpp
3 : *
4 : * This is part of the DUNE DAQ Software Suite, copyright 2020.
5 : * Licensing/copyright details are in the COPYING file that you should have
6 : * received with this code.
7 : */
8 :
9 : #include <pybind11/pybind11.h>
10 : #include <pybind11/stl.h>
11 :
12 : namespace py = pybind11;
13 :
14 : namespace dunedaq {
15 : namespace timing {
16 : namespace python {
17 :
18 : extern void register_i2c(py::module &);
19 : extern void register_endpoint(py::module &);
20 : extern void register_io(py::module &);
21 : extern void register_master(py::module &);
22 : extern void register_top_designs(py::module &);
23 : extern void register_definitions(py::module &);
24 : extern void register_toolbox(py::module &);
25 :
26 0 : PYBIND11_MODULE(_daq_timing_py, top_module) {
27 :
28 0 : top_module.doc() = "c++ implementation of timing python modules"; // optional module docstring
29 :
30 : // timing.core
31 0 : py::module_ core_module = top_module.def_submodule("core");
32 :
33 0 : timing::python::register_i2c(core_module);
34 0 : timing::python::register_endpoint(core_module);
35 0 : timing::python::register_io(core_module);
36 0 : timing::python::register_master(core_module);
37 0 : timing::python::register_top_designs(core_module);
38 :
39 : // timing.common
40 0 : py::module_ common_module = top_module.def_submodule("common");
41 :
42 : // timing.common.definitions
43 0 : py::module_ defs_module = common_module.def_submodule("definitions");
44 0 : timing::python::register_definitions(defs_module);
45 :
46 : // timing.common.toolbox
47 0 : py::module_ toolbox_module = common_module.def_submodule("toolbox");
48 0 : timing::python::register_toolbox(toolbox_module);
49 0 : }
50 :
51 : } // namespace python
52 : } // namespace timing
53 : } // namespace dunedaq
|