From dbe19a561695a9eb9c02d34c6801a449f0d1e6ae Mon Sep 17 00:00:00 2001 From: Kyle Schwarz Date: Fri, 8 Nov 2024 15:06:45 -0500 Subject: [PATCH] Bindings: Python: Add MDIOMessage --- bindings/python/CMakeLists.txt | 1 + .../communication/message/mdiomessage.cpp | 35 +++++++++++++++++++ bindings/python/icsneopy/icsneocpp.cpp | 2 ++ 3 files changed, 38 insertions(+) create mode 100644 bindings/python/icsneopy/communication/message/mdiomessage.cpp diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt index 58b90d5..b2d8f07 100644 --- a/bindings/python/CMakeLists.txt +++ b/bindings/python/CMakeLists.txt @@ -14,6 +14,7 @@ pybind11_add_module(icsneopy icsneopy/communication/message/canmessage.cpp icsneopy/communication/message/ethernetmessage.cpp icsneopy/communication/message/tc10statusmessage.cpp + icsneopy/communication/message/mdiomessage.cpp icsneopy/communication/message/callback/messagecallback.cpp icsneopy/communication/message/filter/messagefilter.cpp icsneopy/device/device.cpp diff --git a/bindings/python/icsneopy/communication/message/mdiomessage.cpp b/bindings/python/icsneopy/communication/message/mdiomessage.cpp new file mode 100644 index 0000000..066ff5a --- /dev/null +++ b/bindings/python/icsneopy/communication/message/mdiomessage.cpp @@ -0,0 +1,35 @@ +#include +#include +#include + +#include "icsneo/communication/message/mdiomessage.h" + +namespace icsneo { + +void init_mdiomessage(pybind11::module_& m) { + pybind11::class_, Frame> mdioMessage(m, "MDIOMessage"); + pybind11::enum_(mdioMessage, "Clause") + .value("Clause45", MDIOMessage::Clause::Clause45) + .value("Clause22", MDIOMessage::Clause::Clause22); + pybind11::enum_(mdioMessage, "Direction") + .value("Write", MDIOMessage::Direction::Write) + .value("Read", MDIOMessage::Direction::Read); + mdioMessage + .def(pybind11::init()) + .def_readwrite("isTXMsg", &MDIOMessage::isTXMsg) + .def_readwrite("txTimeout", &MDIOMessage::txTimeout) + .def_readwrite("txAborted", &MDIOMessage::txAborted) + .def_readwrite("txInvalidBus", &MDIOMessage::txInvalidBus) + .def_readwrite("txInvalidPhyAddr", &MDIOMessage::txInvalidPhyAddr) + .def_readwrite("txInvalidRegAddr", &MDIOMessage::txInvalidRegAddr) + .def_readwrite("txInvalidClause", &MDIOMessage::txInvalidClause) + .def_readwrite("txInvalidOpcode", &MDIOMessage::txInvalidOpcode) + .def_readwrite("phyAddress", &MDIOMessage::phyAddress) + .def_readwrite("devAddress", &MDIOMessage::devAddress) + .def_readwrite("regAddress", &MDIOMessage::regAddress) + .def_readwrite("direction", &MDIOMessage::direction) + .def_readwrite("clause", &MDIOMessage::clause); +} + +} // namespace icsneo + diff --git a/bindings/python/icsneopy/icsneocpp.cpp b/bindings/python/icsneopy/icsneocpp.cpp index 9633067..98445f2 100644 --- a/bindings/python/icsneopy/icsneocpp.cpp +++ b/bindings/python/icsneopy/icsneocpp.cpp @@ -15,6 +15,7 @@ void init_message(pybind11::module_&); void init_canmessage(pybind11::module_&); void init_ethernetmessage(pybind11::module_&); void init_tc10statusmessage(pybind11::module_&); +void init_mdiomessage(pybind11::module_&); void init_device(pybind11::module_&); void init_messagefilter(pybind11::module_&); void init_messagecallback(pybind11::module_&); @@ -33,6 +34,7 @@ PYBIND11_MODULE(icsneopy, m) { init_canmessage(m); init_ethernetmessage(m); init_tc10statusmessage(m); + init_mdiomessage(m); init_messagefilter(m); init_messagecallback(m); init_device(m);