From a120ae1fa7be5bac98e77755a6220df59e443b16 Mon Sep 17 00:00:00 2001 From: gatecat Date: Tue, 14 Dec 2021 18:47:35 +0000 Subject: [PATCH] python: Bind getBelLocation/getPipLocation Signed-off-by: gatecat --- common/arch_pybindings_shared.h | 4 ++++ common/pybindings.cc | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/common/arch_pybindings_shared.h b/common/arch_pybindings_shared.h index f44aa70e..b3dc0506 100644 --- a/common/arch_pybindings_shared.h +++ b/common/arch_pybindings_shared.h @@ -48,6 +48,8 @@ fn_wrapper_2a_v, conv_from_str>::def_wrap(ctx_cls, "getBelType"); +fn_wrapper_1a, + conv_from_str>::def_wrap(ctx_cls, "getBelLocation"); fn_wrapper_1a, conv_from_str>::def_wrap(ctx_cls, "checkBelAvail"); fn_wrapper_1a, @@ -92,6 +94,8 @@ fn_wrapper_0a, conv_from_str>::def_wrap(ctx_cls, "getPipChecksum"); +fn_wrapper_1a, + conv_from_str>::def_wrap(ctx_cls, "getPipLocation"); fn_wrapper_3a_v, addr_and_unwrap, pass_through>::def_wrap(ctx_cls, "bindPip"); fn_wrapper_1a_v>::def_wrap( diff --git a/common/pybindings.cc b/common/pybindings.cc index f9ee9eb7..eef460ce 100644 --- a/common/pybindings.cc +++ b/common/pybindings.cc @@ -83,6 +83,8 @@ template <> struct string_converter } // namespace PythonConversion +std::string loc_repr_py(Loc loc) { return stringf("Loc(%d, %d, %d)", loc.x, loc.y, loc.z); } + PYBIND11_EMBEDDED_MODULE(MODULE_NAME, m) { py::register_exception_translator([](std::exception_ptr p) { @@ -175,7 +177,8 @@ PYBIND11_EMBEDDED_MODULE(MODULE_NAME, m) .def(py::init()) .def_readwrite("x", &Loc::x) .def_readwrite("y", &Loc::y) - .def_readwrite("z", &Loc::z); + .def_readwrite("z", &Loc::z) + .def("__repr__", loc_repr_py); auto ci_cls = py::class_>(m, "CellInfo"); readwrite_wrapper,