diff --git a/depthai-core b/depthai-core index 63ac4f1ae..16e65db48 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 63ac4f1ae98eae3e77ce7ded0c6a3d6bc7f9fea2 +Subproject commit 16e65db48705ef6a7e05fddd1776e195d3a1ce09 diff --git a/examples/bootloader_version.py b/examples/bootloader_version.py new file mode 100755 index 000000000..e5ae3c480 --- /dev/null +++ b/examples/bootloader_version.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 + +import depthai as dai + +(res, info) = dai.DeviceBootloader.getFirstAvailableDevice() + +if res == True: + print(f'Found device with name: {info.desc.name}'); + bl = dai.DeviceBootloader(info) + print(f'Version: {bl.getVersion()}'); +else: + print('No devices found') diff --git a/src/DeviceBindings.cpp b/src/DeviceBindings.cpp index 67d45461a..f2c8d3c72 100644 --- a/src/DeviceBindings.cpp +++ b/src/DeviceBindings.cpp @@ -231,6 +231,7 @@ void DeviceBindings::bind(pybind11::module& m){ .def("getDeviceInfo", &Device::getDeviceInfo, DOC(dai, Device, getDeviceInfo)) .def("setSystemInformationLoggingRate", &Device::setSystemInformationLoggingRate, py::arg("rateHz"), DOC(dai, Device, setSystemInformationLoggingRate)) .def("getSystemInformationLoggingRate", &Device::getSystemInformationLoggingRate, DOC(dai, Device, getSystemInformationLoggingRate)) + .def("getMxId", &Device::getMxId, DOC(dai, Device, getMxId)) .def("getConnectedCameras", &Device::getConnectedCameras, DOC(dai, Device, getConnectedCameras)) .def("getDdrMemoryUsage", &Device::getDdrMemoryUsage, DOC(dai, Device, getDdrMemoryUsage)) .def("getCmxMemoryUsage", &Device::getCmxMemoryUsage, DOC(dai, Device, getCmxMemoryUsage)) diff --git a/src/DeviceBootloaderBindings.cpp b/src/DeviceBootloaderBindings.cpp index e8fb23d87..888236b53 100644 --- a/src/DeviceBootloaderBindings.cpp +++ b/src/DeviceBootloaderBindings.cpp @@ -19,6 +19,21 @@ void DeviceBootloaderBindings::bind(pybind11::module& m){ .def("__gt__", &DeviceBootloader::Version::operator>) ; + py::enum_(deviceBootloader, "Type") + .value("USB", DeviceBootloader::Type::USB) + .value("NETWORK", DeviceBootloader::Type::NETWORK) + ; + py::enum_(deviceBootloader, "Memory") + .value("FLASH", DeviceBootloader::Memory::FLASH) + .value("EMMC", DeviceBootloader::Memory::EMMC) + ; + py::enum_(deviceBootloader, "Section") + .value("HEADER", DeviceBootloader::Section::HEADER) + .value("BOOTLOADER", DeviceBootloader::Section::BOOTLOADER) + .value("BOOTLOADER_CONFIG", DeviceBootloader::Section::BOOTLOADER_CONFIG) + .value("APPLICATION", DeviceBootloader::Section::APPLICATION) + ; + deviceBootloader // Python only methods .def("__enter__", [](py::object obj){ return obj; }) @@ -36,9 +51,11 @@ void DeviceBootloaderBindings::bind(pybind11::module& m){ .def(py::init(), py::arg("deviceDesc"), py::arg("pathToCmd"), DOC(dai, DeviceBootloader, DeviceBootloader, 2)) .def("flash", &DeviceBootloader::flash, py::arg("progressCallback"), py::arg("pipeline"), DOC(dai, DeviceBootloader, flash)) .def("flashDepthaiApplicationPackage", &DeviceBootloader::flashDepthaiApplicationPackage, py::arg("progressCallback"), py::arg("package"), DOC(dai, DeviceBootloader, flashDepthaiApplicationPackage)) - .def("flashBootloader", &DeviceBootloader::flashBootloader, py::arg("progressCallback"), py::arg("path") = "", DOC(dai, DeviceBootloader, flashBootloader)) + .def("flashBootloader", py::overload_cast, std::string>(&DeviceBootloader::flashBootloader), py::arg("progressCallback"), py::arg("path") = "", DOC(dai, DeviceBootloader, flashBootloader)) + .def("flashBootloader", py::overload_cast, std::string>(&DeviceBootloader::flashBootloader), py::arg("memory"), py::arg("type"), py::arg("progressCallback"), py::arg("path") = "", DOC(dai, DeviceBootloader, flashBootloader, 2)) + //.def("flashCustom", &DeviceBootloader::flashCustom, py::arg("memory"), py::arg("offset"), py::arg("progressCallback"), py::arg("data"), DOC(dai, DeviceBootloader, flashCustom)) .def("getVersion", &DeviceBootloader::getVersion, DOC(dai, DeviceBootloader, getVersion)) .def("isEmbeddedVersion", &DeviceBootloader::isEmbeddedVersion, DOC(dai, DeviceBootloader, isEmbeddedVersion)) ; -} \ No newline at end of file +} diff --git a/src/XLinkConnectionBindings.cpp b/src/XLinkConnectionBindings.cpp index 15dc3fe8f..d2f77f215 100644 --- a/src/XLinkConnectionBindings.cpp +++ b/src/XLinkConnectionBindings.cpp @@ -39,6 +39,7 @@ void XLinkConnectionBindings::bind(pybind11::module& m){ .value("X_LINK_USB_VSC", X_LINK_USB_VSC) .value("X_LINK_USB_CDC", X_LINK_USB_CDC) .value("X_LINK_PCIE", X_LINK_PCIE) + .value("X_LINK_TCP_IP", X_LINK_TCP_IP) .value("X_LINK_IPC", X_LINK_IPC) .value("X_LINK_NMB_OF_PROTOCOLS", X_LINK_NMB_OF_PROTOCOLS) .value("X_LINK_ANY_PROTOCOL", X_LINK_ANY_PROTOCOL)