Bindings: Python: Add get_chip_versions
parent
495632ddb7
commit
5d672d48d4
|
|
@ -39,6 +39,8 @@ pybind11_add_module(icsneopy
|
||||||
icsneopy/communication/message/filter/messagefilter.cpp
|
icsneopy/communication/message/filter/messagefilter.cpp
|
||||||
icsneopy/flexray/flexray.cpp
|
icsneopy/flexray/flexray.cpp
|
||||||
icsneopy/disk/diskdriver.cpp
|
icsneopy/disk/diskdriver.cpp
|
||||||
|
icsneopy/device/chipid.cpp
|
||||||
|
icsneopy/device/versionreport.cpp
|
||||||
icsneopy/device/device.cpp
|
icsneopy/device/device.cpp
|
||||||
icsneopy/device/extensions/deviceextension.cpp
|
icsneopy/device/extensions/deviceextension.cpp
|
||||||
icsneopy/device/idevicesettings.cpp
|
icsneopy/device/idevicesettings.cpp
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
#include <pybind11/pybind11.h>
|
||||||
|
#include <pybind11/stl.h>
|
||||||
|
#include <pybind11/functional.h>
|
||||||
|
|
||||||
|
#include "icsneo/device/chipid.h"
|
||||||
|
|
||||||
|
namespace icsneo {
|
||||||
|
|
||||||
|
void init_chipid(pybind11::module_& m) {
|
||||||
|
pybind11::enum_<ChipID>(m, "ChipID")
|
||||||
|
.value("neoVIFIRE_MCHIP", ChipID::neoVIFIRE_MCHIP)
|
||||||
|
.value("neoVIFIRE_LCHIP", ChipID::neoVIFIRE_LCHIP)
|
||||||
|
.value("neoVIFIRE_UCHIP", ChipID::neoVIFIRE_UCHIP)
|
||||||
|
.value("neoVIFIRE_JCHIP", ChipID::neoVIFIRE_JCHIP)
|
||||||
|
.value("ValueCAN3_MCHIP", ChipID::ValueCAN3_MCHIP)
|
||||||
|
.value("neoVIECU_MPIC", ChipID::neoVIECU_MPIC)
|
||||||
|
.value("neoVIIEVB_MPIC", ChipID::neoVIIEVB_MPIC)
|
||||||
|
.value("neoVIPENDANT_MPIC", ChipID::neoVIPENDANT_MPIC)
|
||||||
|
.value("neoVIFIRE_VNET_MCHIP", ChipID::neoVIFIRE_VNET_MCHIP)
|
||||||
|
.value("neoVIFIRE_VNET_LCHIP", ChipID::neoVIFIRE_VNET_LCHIP)
|
||||||
|
.value("neoVIPLASMA_Core", ChipID::neoVIPLASMA_Core)
|
||||||
|
.value("neoVIPLASMA_HID", ChipID::neoVIPLASMA_HID)
|
||||||
|
.value("neoVIANALOG_MPIC", ChipID::neoVIANALOG_MPIC)
|
||||||
|
.value("neoVIPLASMA_ANALOG_Core", ChipID::neoVIPLASMA_ANALOG_Core)
|
||||||
|
.value("neoVIPLASMA_FlexRay_Core", ChipID::neoVIPLASMA_FlexRay_Core)
|
||||||
|
.value("neoVIPLASMA_Core_1_12", ChipID::neoVIPLASMA_Core_1_12)
|
||||||
|
.value("neoVIFIRE_Slave_VNET_MCHIP", ChipID::neoVIFIRE_Slave_VNET_MCHIP)
|
||||||
|
.value("neoVIFIRE_Slave_VNET_LCHIP", ChipID::neoVIFIRE_Slave_VNET_LCHIP)
|
||||||
|
.value("neoVIION_Core", ChipID::neoVIION_Core)
|
||||||
|
.value("neoVIION_HID", ChipID::neoVIION_HID)
|
||||||
|
.value("neoVIION_Core_Loader", ChipID::neoVIION_Core_Loader)
|
||||||
|
.value("neoVIION_HID_Loader", ChipID::neoVIION_HID_Loader)
|
||||||
|
.value("neoVIION_FPGA_BIT", ChipID::neoVIION_FPGA_BIT)
|
||||||
|
.value("neoVIFIRE_VNET_EP_MCHIP", ChipID::neoVIFIRE_VNET_EP_MCHIP)
|
||||||
|
.value("neoVIFIRE_VNET_EP_LCHIP", ChipID::neoVIFIRE_VNET_EP_LCHIP)
|
||||||
|
.value("neoVIAnalogOut_MCHIP", ChipID::neoVIAnalogOut_MCHIP)
|
||||||
|
.value("neoVIMOST25_MCHIP", ChipID::neoVIMOST25_MCHIP)
|
||||||
|
.value("neoVIMOST50_MCHIP", ChipID::neoVIMOST50_MCHIP)
|
||||||
|
.value("neoVIMOST150_MCHIP", ChipID::neoVIMOST150_MCHIP)
|
||||||
|
.value("ValueCAN4_4_MCHIP", ChipID::ValueCAN4_4_MCHIP)
|
||||||
|
.value("ValueCAN4_4_SCHIP", ChipID::ValueCAN4_4_SCHIP)
|
||||||
|
.value("cmProbe_ZYNQ", ChipID::cmProbe_ZYNQ)
|
||||||
|
.value("EEVB_STM32", ChipID::EEVB_STM32)
|
||||||
|
.value("neoVIFIRE_Slave_VNET_EP_MCHIP", ChipID::neoVIFIRE_Slave_VNET_EP_MCHIP)
|
||||||
|
.value("neoVIFIRE_Slave_VNET_EP_LCHIP", ChipID::neoVIFIRE_Slave_VNET_EP_LCHIP)
|
||||||
|
.value("RADStar_MCHIP", ChipID::RADStar_MCHIP)
|
||||||
|
.value("ValueCANrf_MCHIP", ChipID::ValueCANrf_MCHIP)
|
||||||
|
.value("neoVIFIRE2_MCHIP", ChipID::neoVIFIRE2_MCHIP)
|
||||||
|
.value("neoVIFIRE2_CCHIP", ChipID::neoVIFIRE2_CCHIP)
|
||||||
|
.value("neoVIFIRE2_Core", ChipID::neoVIFIRE2_Core)
|
||||||
|
.value("neoVIFIRE2_BLECHIP", ChipID::neoVIFIRE2_BLECHIP)
|
||||||
|
.value("neoVIFIRE2_ZYNQ", ChipID::neoVIFIRE2_ZYNQ)
|
||||||
|
.value("neoVIFIRE2_SECURITYCHIP", ChipID::neoVIFIRE2_SECURITYCHIP)
|
||||||
|
.value("RADGalaxy_ZYNQ", ChipID::RADGalaxy_ZYNQ)
|
||||||
|
.value("neoVIFIRE2_VNET_MCHIP", ChipID::neoVIFIRE2_VNET_MCHIP)
|
||||||
|
.value("neoVIFIRE2_Slave_VNET_A_MCHIP", ChipID::neoVIFIRE2_Slave_VNET_A_MCHIP)
|
||||||
|
.value("neoVIFIRE2_Slave_VNET_A_CCHIP", ChipID::neoVIFIRE2_Slave_VNET_A_CCHIP)
|
||||||
|
.value("neoVIFIRE2_VNET_CCHIP", ChipID::neoVIFIRE2_VNET_CCHIP)
|
||||||
|
.value("neoVIFIRE2_VNET_Core", ChipID::neoVIFIRE2_VNET_Core)
|
||||||
|
.value("RADStar2_ZYNQ", ChipID::RADStar2_ZYNQ)
|
||||||
|
.value("VividCAN_MCHIP", ChipID::VividCAN_MCHIP)
|
||||||
|
.value("neoOBD2SIM_MCHIP", ChipID::neoOBD2SIM_MCHIP)
|
||||||
|
.value("neoVIFIRE2_VNETZ_MCHIP", ChipID::neoVIFIRE2_VNETZ_MCHIP)
|
||||||
|
.value("neoVIFIRE2_VNETZ_ZYNQ", ChipID::neoVIFIRE2_VNETZ_ZYNQ)
|
||||||
|
.value("neoVIFIRE2_Slave_VNETZ_A_MCHIP", ChipID::neoVIFIRE2_Slave_VNETZ_A_MCHIP)
|
||||||
|
.value("neoVIFIRE2_Slave_VNETZ_A_ZYNQ", ChipID::neoVIFIRE2_Slave_VNETZ_A_ZYNQ)
|
||||||
|
.value("VividCAN_EXT_FLASH", ChipID::VividCAN_EXT_FLASH)
|
||||||
|
.value("VividCAN_NRF52", ChipID::VividCAN_NRF52)
|
||||||
|
.value("cmProbe_ZYNQ_Unused", ChipID::cmProbe_ZYNQ_Unused)
|
||||||
|
.value("neoOBD2PRO_MCHIP", ChipID::neoOBD2PRO_MCHIP)
|
||||||
|
.value("ValueCAN4_1_MCHIP", ChipID::ValueCAN4_1_MCHIP)
|
||||||
|
.value("ValueCAN4_2_MCHIP", ChipID::ValueCAN4_2_MCHIP)
|
||||||
|
.value("ValueCAN4_4_2EL_Core", ChipID::ValueCAN4_4_2EL_Core)
|
||||||
|
.value("neoOBD2PRO_SCHIP", ChipID::neoOBD2PRO_SCHIP)
|
||||||
|
.value("ValueCAN4_2EL_MCHIP", ChipID::ValueCAN4_2EL_MCHIP)
|
||||||
|
.value("neoECUAVBTSN_MCHIP", ChipID::neoECUAVBTSN_MCHIP)
|
||||||
|
.value("neoOBD2PRO_Core", ChipID::neoOBD2PRO_Core)
|
||||||
|
.value("RADSupermoon_ZYNQ", ChipID::RADSupermoon_ZYNQ)
|
||||||
|
.value("RADMoon2_ZYNQ", ChipID::RADMoon2_ZYNQ)
|
||||||
|
.value("VividCANPRO_MCHIP", ChipID::VividCANPRO_MCHIP)
|
||||||
|
.value("VividCANPRO_EXT_FLASH", ChipID::VividCANPRO_EXT_FLASH)
|
||||||
|
.value("RADPluto_MCHIP", ChipID::RADPluto_MCHIP)
|
||||||
|
.value("RADMars_ZYNQ", ChipID::RADMars_ZYNQ)
|
||||||
|
.value("neoECU12_MCHIP", ChipID::neoECU12_MCHIP)
|
||||||
|
.value("RADIOCANHUB_MCHIP", ChipID::RADIOCANHUB_MCHIP)
|
||||||
|
.value("FlexRay_VNETZ_ZCHIP", ChipID::FlexRay_VNETZ_ZCHIP)
|
||||||
|
.value("neoOBD2_LCBADGE_MCHIP", ChipID::neoOBD2_LCBADGE_MCHIP)
|
||||||
|
.value("neoOBD2_LCBADGE_SCHIP", ChipID::neoOBD2_LCBADGE_SCHIP)
|
||||||
|
.value("RADMoonDuo_MCHIP", ChipID::RADMoonDuo_MCHIP)
|
||||||
|
.value("neoVIFIRE3_ZCHIP", ChipID::neoVIFIRE3_ZCHIP)
|
||||||
|
.value("FlexRay_VNETZ_FCHIP", ChipID::FlexRay_VNETZ_FCHIP)
|
||||||
|
.value("RADJupiter_MCHIP", ChipID::RADJupiter_MCHIP)
|
||||||
|
.value("ValueCAN4Industrial_MCHIP", ChipID::ValueCAN4Industrial_MCHIP)
|
||||||
|
.value("EtherBADGE_MCHIP", ChipID::EtherBADGE_MCHIP)
|
||||||
|
.value("RADMars_3_ZYNQ", ChipID::RADMars_3_ZYNQ)
|
||||||
|
.value("RADGigastar_USBZ_ZYNQ", ChipID::RADGigastar_USBZ_ZYNQ)
|
||||||
|
.value("RADGigastar_ZYNQ", ChipID::RADGigastar_ZYNQ)
|
||||||
|
.value("RAD4G_MCHIP", ChipID::RAD4G_MCHIP)
|
||||||
|
.value("neoVIFIRE3_SCHIP", ChipID::neoVIFIRE3_SCHIP)
|
||||||
|
.value("RADEpsilon_MCHIP", ChipID::RADEpsilon_MCHIP)
|
||||||
|
.value("RADA2B_ZCHIP", ChipID::RADA2B_ZCHIP)
|
||||||
|
.value("neoOBD2Dev_MCHIP", ChipID::neoOBD2Dev_MCHIP)
|
||||||
|
.value("neoOBD2Dev_SCHIP", ChipID::neoOBD2Dev_SCHIP)
|
||||||
|
.value("neoOBD2SIMDoIP_MCHIP", ChipID::neoOBD2SIMDoIP_MCHIP)
|
||||||
|
.value("SFPModule_MCHIP", ChipID::SFPModule_MCHIP)
|
||||||
|
.value("RADEpsilonT_MCHIP", ChipID::RADEpsilonT_MCHIP)
|
||||||
|
.value("RADEpsilonExpress_MCHIP", ChipID::RADEpsilonExpress_MCHIP)
|
||||||
|
.value("RADProxima_MCHIP", ChipID::RADProxima_MCHIP)
|
||||||
|
.value("NewDevice57_ZCHIP", ChipID::NewDevice57_ZCHIP)
|
||||||
|
.value("RAD_GALAXY_2_ZMPCHIP_ID", ChipID::RAD_GALAXY_2_ZMPCHIP_ID)
|
||||||
|
.value("NewDevice59_MCHIP", ChipID::NewDevice59_MCHIP)
|
||||||
|
.value("RADMoon2_Z7010_ZYNQ", ChipID::RADMoon2_Z7010_ZYNQ)
|
||||||
|
.value("neoVIFIRE2_CORE_SG4", ChipID::neoVIFIRE2_CORE_SG4)
|
||||||
|
.value("RADBMS_MCHIP", ChipID::RADBMS_MCHIP)
|
||||||
|
.value("RADMoon2_ZL_MCHIP", ChipID::RADMoon2_ZL_MCHIP)
|
||||||
|
.value("RADGigastar_USBZ_Z7010_ZYNQ", ChipID::RADGigastar_USBZ_Z7010_ZYNQ)
|
||||||
|
.value("neoVIFIRE3_LINUX", ChipID::neoVIFIRE3_LINUX)
|
||||||
|
.value("RADGigastar_USBZ_Z7007S_ZYNQ", ChipID::RADGigastar_USBZ_Z7007S_ZYNQ)
|
||||||
|
.value("VEM_01_8DW_ZCHIP", ChipID::VEM_01_8DW_ZCHIP)
|
||||||
|
.value("RADGalaxy_FFG_Zynq", ChipID::RADGalaxy_FFG_Zynq)
|
||||||
|
.value("RADMoon3_MCHIP", ChipID::RADMoon3_MCHIP)
|
||||||
|
.value("RADComet_ZYNQ", ChipID::RADComet_ZYNQ)
|
||||||
|
.value("VEM_02_FR_ZCHIP", ChipID::VEM_02_FR_ZCHIP)
|
||||||
|
.value("RADA2B_REVB_ZCHIP", ChipID::RADA2B_REVB_ZCHIP)
|
||||||
|
.value("RADGigastar_FFG_ZYNQ", ChipID::RADGigastar_FFG_ZYNQ)
|
||||||
|
.value("VEM_02_FR_FCHIP", ChipID::VEM_02_FR_FCHIP)
|
||||||
|
.value("Connect_ZCHIP", ChipID::Connect_ZCHIP)
|
||||||
|
.value("RADGALAXY2_SYSMON_CHIP", ChipID::RADGALAXY2_SYSMON_CHIP)
|
||||||
|
.value("RADCOMET3_ZCHIP", ChipID::RADCOMET3_ZCHIP)
|
||||||
|
.value("Connect_LINUX", ChipID::Connect_LINUX)
|
||||||
|
.value("RADGigastar2_ZYNQ", ChipID::RADGigastar2_ZYNQ)
|
||||||
|
.value("Invalid", ChipID::Invalid);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace icsneo
|
||||||
|
|
@ -56,6 +56,7 @@ void init_device(pybind11::module_& m) {
|
||||||
.def("upload_coremini", [](Device& device, std::string& path, Disk::MemoryType memType) { std::ifstream ifs(path, std::ios::binary); return device.uploadCoremini(ifs, memType); }, pybind11::call_guard<pybind11::gil_scoped_release>())
|
.def("upload_coremini", [](Device& device, std::string& path, Disk::MemoryType memType) { std::ifstream ifs(path, std::ios::binary); return device.uploadCoremini(ifs, memType); }, pybind11::call_guard<pybind11::gil_scoped_release>())
|
||||||
.def("write_macsec_config", &Device::writeMACsecConfig, pybind11::call_guard<pybind11::gil_scoped_release>())
|
.def("write_macsec_config", &Device::writeMACsecConfig, pybind11::call_guard<pybind11::gil_scoped_release>())
|
||||||
.def("send_eth_phy_msg", &Device::sendEthPhyMsg, pybind11::arg("message"), pybind11::arg("timeout") = std::chrono::milliseconds(50), pybind11::call_guard<pybind11::gil_scoped_release>())
|
.def("send_eth_phy_msg", &Device::sendEthPhyMsg, pybind11::arg("message"), pybind11::arg("timeout") = std::chrono::milliseconds(50), pybind11::call_guard<pybind11::gil_scoped_release>())
|
||||||
|
.def("get_chip_versions", &Device::getChipVersions, pybind11::arg("refreshComponents") = true, pybind11::call_guard<pybind11::gil_scoped_release>())
|
||||||
.def_readonly("settings", &Device::settings);
|
.def_readonly("settings", &Device::settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
#include <pybind11/pybind11.h>
|
||||||
|
#include <pybind11/stl.h>
|
||||||
|
#include <pybind11/functional.h>
|
||||||
|
|
||||||
|
#include "icsneo/device/versionreport.h"
|
||||||
|
|
||||||
|
namespace icsneo {
|
||||||
|
|
||||||
|
void init_versionreport(pybind11::module_& m) {
|
||||||
|
pybind11::class_<VersionReport>(m, "VersionReport")
|
||||||
|
.def_readonly("id", &VersionReport::id)
|
||||||
|
.def_readonly("name", &VersionReport::name)
|
||||||
|
.def_readonly("major", &VersionReport::major)
|
||||||
|
.def_readonly("minor", &VersionReport::minor)
|
||||||
|
.def_readonly("maintenance", &VersionReport::maintenance)
|
||||||
|
.def_readonly("build", &VersionReport::build);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace icsneo
|
||||||
|
|
@ -26,6 +26,8 @@ void init_macsecmessage(pybind11::module_&);
|
||||||
void init_scriptstatusmessage(pybind11::module_&);
|
void init_scriptstatusmessage(pybind11::module_&);
|
||||||
void init_diskdriver(pybind11::module_&);
|
void init_diskdriver(pybind11::module_&);
|
||||||
void init_deviceextension(pybind11::module_&);
|
void init_deviceextension(pybind11::module_&);
|
||||||
|
void init_chipid(pybind11::module_&);
|
||||||
|
void init_versionreport(pybind11::module_&);
|
||||||
void init_device(pybind11::module_&);
|
void init_device(pybind11::module_&);
|
||||||
void init_messagefilter(pybind11::module_&);
|
void init_messagefilter(pybind11::module_&);
|
||||||
void init_messagecallback(pybind11::module_&);
|
void init_messagecallback(pybind11::module_&);
|
||||||
|
|
@ -63,6 +65,8 @@ PYBIND11_MODULE(icsneopy, m) {
|
||||||
init_diskdriver(m);
|
init_diskdriver(m);
|
||||||
init_flexray(m);
|
init_flexray(m);
|
||||||
init_ethphymessage(m);
|
init_ethphymessage(m);
|
||||||
|
init_chipid(m);
|
||||||
|
init_versionreport(m);
|
||||||
init_device(m);
|
init_device(m);
|
||||||
init_deviceextension(m);
|
init_deviceextension(m);
|
||||||
init_idevicesettings(m);
|
init_idevicesettings(m);
|
||||||
|
|
|
||||||
|
|
@ -66,3 +66,11 @@ Complete Ethernet Example
|
||||||
|
|
||||||
.. literalinclude:: ../../examples/python/ethernet/ethernet_complete_example.py
|
.. literalinclude:: ../../examples/python/ethernet/ethernet_complete_example.py
|
||||||
:language: python
|
:language: python
|
||||||
|
|
||||||
|
Device Firmware/Chip Versions
|
||||||
|
=============================
|
||||||
|
|
||||||
|
:download:`Download example <../../examples/python/device/chip_versions.py>`
|
||||||
|
|
||||||
|
.. literalinclude:: ../../examples/python/device/chip_versions.py
|
||||||
|
:language: python
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
import icsneopy
|
||||||
|
|
||||||
|
def chip_versions():
|
||||||
|
devices = icsneopy.find_all_devices()
|
||||||
|
|
||||||
|
if len(devices) == 0:
|
||||||
|
print("no devices found")
|
||||||
|
return False
|
||||||
|
|
||||||
|
device = devices[0]
|
||||||
|
print(f"selected {device}")
|
||||||
|
|
||||||
|
if not device.open():
|
||||||
|
print("unable to open device")
|
||||||
|
return False
|
||||||
|
|
||||||
|
chip_versions = device.get_chip_versions()
|
||||||
|
if not chip_versions:
|
||||||
|
print("no chip versions")
|
||||||
|
return False
|
||||||
|
|
||||||
|
print("chip versions:")
|
||||||
|
for i in chip_versions:
|
||||||
|
version = f"{i.major}.{i.minor}.{i.maintenance}.{i.build}"
|
||||||
|
print(f" id: {i.id}, name: {i.name}, version: {version}")
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
chip_versions()
|
||||||
Loading…
Reference in New Issue