From d68702a92628d2b2d1f3fedeefccd5360a73f54e Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Thu, 17 Jun 2021 11:19:53 +0200 Subject: [PATCH 01/13] Added bindings --- depthai-core | 2 +- src/DeviceBootloaderBindings.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/depthai-core b/depthai-core index 9e1ac1bbd..4a0e00d7b 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 9e1ac1bbdc8838ebce9b95931c3dd0b44a731b82 +Subproject commit 4a0e00d7b8dfe50e1f6683caff8981440e53c672 diff --git a/src/DeviceBootloaderBindings.cpp b/src/DeviceBootloaderBindings.cpp index e8fb23d87..80029f3d7 100644 --- a/src/DeviceBootloaderBindings.cpp +++ b/src/DeviceBootloaderBindings.cpp @@ -36,7 +36,8 @@ 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("type"), py::arg("progressCallback"), py::arg("path") = "", DOC(dai, DeviceBootloader, flashBootloader, 2)) .def("getVersion", &DeviceBootloader::getVersion, DOC(dai, DeviceBootloader, getVersion)) .def("isEmbeddedVersion", &DeviceBootloader::isEmbeddedVersion, DOC(dai, DeviceBootloader, isEmbeddedVersion)) ; From 24ef13f7f1d3af33737d9db161793b0fcd65643c Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Fri, 18 Jun 2021 14:03:41 +0200 Subject: [PATCH 02/13] Added X_LINK_TCP_IP binding --- src/XLinkConnectionBindings.cpp | 1 + 1 file changed, 1 insertion(+) 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) From cd1e29341398cbc69689fae1accb48495f0ca758 Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Fri, 18 Jun 2021 14:04:24 +0200 Subject: [PATCH 03/13] Updated core --- depthai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depthai-core b/depthai-core index 4a0e00d7b..09bc4dd34 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 4a0e00d7b8dfe50e1f6683caff8981440e53c672 +Subproject commit 09bc4dd34ac228d2fa47f8a425ff99c473689b2c From 10828a84b5a6b8fe26483a84ccadc621682e57aa Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Mon, 21 Jun 2021 00:40:42 +0200 Subject: [PATCH 04/13] Updated core --- depthai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depthai-core b/depthai-core index 09bc4dd34..eb3391983 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 09bc4dd34ac228d2fa47f8a425ff99c473689b2c +Subproject commit eb33919834578f974dffb7ec4952d51e6a5f63c3 From 4a3b9d65e5fd0eb1b575825f4b1c6074946a4368 Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Mon, 21 Jun 2021 02:36:47 +0200 Subject: [PATCH 05/13] Updated core --- depthai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depthai-core b/depthai-core index eb3391983..35850e665 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit eb33919834578f974dffb7ec4952d51e6a5f63c3 +Subproject commit 35850e665824a140d4794d66658c7e9e66eb5215 From a59aedae3f860438cd616318dab3b60a1b40a8ff Mon Sep 17 00:00:00 2001 From: alex-luxonis Date: Tue, 22 Jun 2021 01:38:10 +0300 Subject: [PATCH 06/13] Update core (ETH related), add flash_bootloader.py --- depthai-core | 2 +- examples/flash_bootloader.py | 29 +++++++++++++++++++++++++++++ src/DeviceBootloaderBindings.cpp | 7 ++++++- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100755 examples/flash_bootloader.py diff --git a/depthai-core b/depthai-core index 35850e665..6800cba6c 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 35850e665824a140d4794d66658c7e9e66eb5215 +Subproject commit 6800cba6cfdc56bef80db408a10427e616dea4cd diff --git a/examples/flash_bootloader.py b/examples/flash_bootloader.py new file mode 100755 index 000000000..93543b632 --- /dev/null +++ b/examples/flash_bootloader.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 + +import depthai as dai +import sys +import time + +blType = dai.DeviceBootloader.Type.USB + +if len(sys.argv) > 1: + if sys.argv[1] == 'usb': + blType = dai.DeviceBootloader.Type.USB + elif sys.argv[1] == 'eth': + blType = dai.DeviceBootloader.Type.ETHERNET + else: + print("Specify either 'usb' or 'eth' bootloader type") + quit() + +(res, info) = dai.DeviceBootloader.getFirstAvailableDevice() + +bl = dai.DeviceBootloader(info) +progress = lambda p : print(f'Flashing progress: {p*100:.1f}%') + +print("=== Flashing", blType.name, "bootloader...") +startTime = time.monotonic() +(res, message) = bl.flashBootloader(blType, progress) +if res: + print("Flashing successful. Took", time.monotonic() - startTime, "seconds") +else: + print("Flashing failed:", message) diff --git a/src/DeviceBootloaderBindings.cpp b/src/DeviceBootloaderBindings.cpp index 80029f3d7..0eee24fca 100644 --- a/src/DeviceBootloaderBindings.cpp +++ b/src/DeviceBootloaderBindings.cpp @@ -19,6 +19,11 @@ void DeviceBootloaderBindings::bind(pybind11::module& m){ .def("__gt__", &DeviceBootloader::Version::operator>) ; + py::enum_(deviceBootloader, "Type") + .value("USB", DeviceBootloader::Type::USB) + .value("ETHERNET", DeviceBootloader::Type::ETHERNET) + ; + deviceBootloader // Python only methods .def("__enter__", [](py::object obj){ return obj; }) @@ -42,4 +47,4 @@ void DeviceBootloaderBindings::bind(pybind11::module& m){ .def("isEmbeddedVersion", &DeviceBootloader::isEmbeddedVersion, DOC(dai, DeviceBootloader, isEmbeddedVersion)) ; -} \ No newline at end of file +} From 121f9dd93c1dacb05b363775b759db678b138d08 Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Wed, 23 Jun 2021 16:13:41 +0200 Subject: [PATCH 07/13] Updated core with sync fix --- depthai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depthai-core b/depthai-core index 6800cba6c..320c7cba0 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 6800cba6cfdc56bef80db408a10427e616dea4cd +Subproject commit 320c7cba09198fd9dcd3c2ba1e98da76e7ff61d2 From 0bf9ead147105fb22d74f8e74d85bdef9e181033 Mon Sep 17 00:00:00 2001 From: Martin Peterlin Date: Thu, 24 Jun 2021 02:33:09 +0200 Subject: [PATCH 08/13] Added getMxId binding --- depthai-core | 2 +- src/DeviceBindings.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/depthai-core b/depthai-core index 320c7cba0..7a9e959c0 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 320c7cba09198fd9dcd3c2ba1e98da76e7ff61d2 +Subproject commit 7a9e959c06b19c86188659cfa4c6512a0af6df1c 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)) From f002b799b805944673bb3b2638e7da91871eccd5 Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Fri, 9 Jul 2021 13:22:53 +0200 Subject: [PATCH 09/13] Updated flash_bootloader example --- depthai-core | 2 +- examples/flash_bootloader.py | 4 ++-- src/DeviceBootloaderBindings.cpp | 15 +++++++++++++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/depthai-core b/depthai-core index 85681d932..d234157ad 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 85681d932a0c038916f2cedc43e206a004a2a23e +Subproject commit d234157ade6ec541b09d6a6c20f2252c2fc0ab85 diff --git a/examples/flash_bootloader.py b/examples/flash_bootloader.py index 93543b632..59b5a8499 100755 --- a/examples/flash_bootloader.py +++ b/examples/flash_bootloader.py @@ -10,7 +10,7 @@ if sys.argv[1] == 'usb': blType = dai.DeviceBootloader.Type.USB elif sys.argv[1] == 'eth': - blType = dai.DeviceBootloader.Type.ETHERNET + blType = dai.DeviceBootloader.Type.NETWORK else: print("Specify either 'usb' or 'eth' bootloader type") quit() @@ -22,7 +22,7 @@ print("=== Flashing", blType.name, "bootloader...") startTime = time.monotonic() -(res, message) = bl.flashBootloader(blType, progress) +(res, message) = bl.flashBootloader(dai.DeviceBootloader.Memory.FLASH, blType, progress) if res: print("Flashing successful. Took", time.monotonic() - startTime, "seconds") else: diff --git a/src/DeviceBootloaderBindings.cpp b/src/DeviceBootloaderBindings.cpp index 0eee24fca..888236b53 100644 --- a/src/DeviceBootloaderBindings.cpp +++ b/src/DeviceBootloaderBindings.cpp @@ -21,7 +21,17 @@ void DeviceBootloaderBindings::bind(pybind11::module& m){ py::enum_(deviceBootloader, "Type") .value("USB", DeviceBootloader::Type::USB) - .value("ETHERNET", DeviceBootloader::Type::ETHERNET) + .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 @@ -42,7 +52,8 @@ void DeviceBootloaderBindings::bind(pybind11::module& m){ .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", 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("type"), py::arg("progressCallback"), py::arg("path") = "", DOC(dai, DeviceBootloader, flashBootloader, 2)) + .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)) ; From 7fdd515c2ff5fb8daf5db09f54527fdc543e9e93 Mon Sep 17 00:00:00 2001 From: SzabolcsGergely Date: Mon, 12 Jul 2021 17:48:22 +0300 Subject: [PATCH 10/13] Update depthai-core submodule --- depthai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depthai-core b/depthai-core index 63ac4f1ae..fdb11cb9d 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 63ac4f1ae98eae3e77ce7ded0c6a3d6bc7f9fea2 +Subproject commit fdb11cb9da6eff50e293a10d7ab81f0f0792453a From f6173f96d350c4ebee4e59d1bfe7068ecdf7d2b6 Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Mon, 12 Jul 2021 23:21:04 +0200 Subject: [PATCH 11/13] Updated examples --- depthai-core | 2 +- examples/bootloader_version.py | 12 ++++++++++++ examples/flash_bootloader.py | 29 ----------------------------- 3 files changed, 13 insertions(+), 30 deletions(-) create mode 100755 examples/bootloader_version.py delete mode 100755 examples/flash_bootloader.py diff --git a/depthai-core b/depthai-core index 105436dd1..ee2a04e58 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 105436dd15ff4bcbfae517fcd1f900eb54fae0c5 +Subproject commit ee2a04e58b995e1bfa0cb03b91f83a45d446ca7f 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/examples/flash_bootloader.py b/examples/flash_bootloader.py deleted file mode 100755 index 59b5a8499..000000000 --- a/examples/flash_bootloader.py +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env python3 - -import depthai as dai -import sys -import time - -blType = dai.DeviceBootloader.Type.USB - -if len(sys.argv) > 1: - if sys.argv[1] == 'usb': - blType = dai.DeviceBootloader.Type.USB - elif sys.argv[1] == 'eth': - blType = dai.DeviceBootloader.Type.NETWORK - else: - print("Specify either 'usb' or 'eth' bootloader type") - quit() - -(res, info) = dai.DeviceBootloader.getFirstAvailableDevice() - -bl = dai.DeviceBootloader(info) -progress = lambda p : print(f'Flashing progress: {p*100:.1f}%') - -print("=== Flashing", blType.name, "bootloader...") -startTime = time.monotonic() -(res, message) = bl.flashBootloader(dai.DeviceBootloader.Memory.FLASH, blType, progress) -if res: - print("Flashing successful. Took", time.monotonic() - startTime, "seconds") -else: - print("Flashing failed:", message) From 80b4dd6d163451a5694dddcce93abad4fe63d3e8 Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Tue, 13 Jul 2021 01:00:47 +0200 Subject: [PATCH 12/13] Bump to 2.7.0.0 --- depthai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depthai-core b/depthai-core index 2a14d0ebc..543e9bdce 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 2a14d0ebc4b63c512b396baf7d3b95260dfdfcce +Subproject commit 543e9bdce443e1e7b3fd9b38c01dc6fecbf2d748 From 0745a5e34c72d63b46c2bb80e4704ab14ec5605f Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Tue, 13 Jul 2021 01:52:26 +0200 Subject: [PATCH 13/13] Updated core --- depthai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depthai-core b/depthai-core index 543e9bdce..16e65db48 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 543e9bdce443e1e7b3fd9b38c01dc6fecbf2d748 +Subproject commit 16e65db48705ef6a7e05fddd1776e195d3a1ce09