#include #include #include #include #include #include "icsneo/device/idevicesettings.h" #include namespace icsneo { struct DeviceSettingsNamespace { using EthLinkMode = AELinkMode; using LinkSpeed = EthLinkSpeed; }; void init_idevicesettings(pybind11::module_& m) { pybind11::classh settings(m, "Settings"); pybind11::enum_(settings, "EthernetLinkMode") .value("Auto", DeviceSettingsNamespace::EthLinkMode::AE_LINK_AUTO) .value("Slave", DeviceSettingsNamespace::EthLinkMode::AE_LINK_SLAVE) .value("Master", DeviceSettingsNamespace::EthLinkMode::AE_LINK_MASTER); pybind11::enum_(settings, "EthernetLinkSpeed") .value("Speed10M", DeviceSettingsNamespace::LinkSpeed::ETH_SPEED_10) .value("Speed100M", DeviceSettingsNamespace::LinkSpeed::ETH_SPEED_100) .value("Speed1G", DeviceSettingsNamespace::LinkSpeed::ETH_SPEED_1000) .value("Speed2_5G", DeviceSettingsNamespace::LinkSpeed::ETH_SPEED_2500) .value("Speed5G", DeviceSettingsNamespace::LinkSpeed::ETH_SPEED_5000) .value("Speed10G", DeviceSettingsNamespace::LinkSpeed::ETH_SPEED_10000); pybind11::classh(m, "IDeviceSettings") .def("apply", &IDeviceSettings::apply, pybind11::arg("temporary") = 0, pybind11::call_guard()) .def("apply_defaults", &IDeviceSettings::applyDefaults, pybind11::arg("temporary") = 0, pybind11::call_guard()) .def("get_phy_enable", &IDeviceSettings::getPhyEnable, pybind11::call_guard()) .def("get_phy_mode", &IDeviceSettings::getPhyMode, pybind11::call_guard()) .def("get_phy_speed", &IDeviceSettings::getPhySpeed, pybind11::call_guard()) .def("set_phy_enable", &IDeviceSettings::setPhyEnable, pybind11::call_guard()) .def("set_phy_mode", &IDeviceSettings::setPhyMode, pybind11::call_guard()) .def("set_phy_speed", &IDeviceSettings::setPhySpeed, pybind11::call_guard()) .def("refresh", &IDeviceSettings::refresh, pybind11::call_guard()); } } // namespace icsneo