From c98847382734d6733029b9068829b37ae673b8bb Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Sun, 20 Feb 2022 22:37:15 +0100 Subject: [PATCH 1/2] Added bindings for bootloader improvements --- depthai-core | 2 +- src/DeviceBootloaderBindings.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/depthai-core b/depthai-core index 5a1e6338c..abe0aad49 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 5a1e6338c18f607dffe5004a98993a3d00ef1b13 +Subproject commit abe0aad49327d9b5865008efe0d2d6650b75d1ac diff --git a/src/DeviceBootloaderBindings.cpp b/src/DeviceBootloaderBindings.cpp index 81b2a37d9..7f9ad16fe 100644 --- a/src/DeviceBootloaderBindings.cpp +++ b/src/DeviceBootloaderBindings.cpp @@ -148,6 +148,16 @@ void DeviceBootloaderBindings::bind(pybind11::module& m, void* pCallstack){ .def("isEmbeddedVersion", &DeviceBootloader::isEmbeddedVersion, DOC(dai, DeviceBootloader, isEmbeddedVersion)) .def("getType", &DeviceBootloader::getType, DOC(dai, DeviceBootloader, getType)) .def("isAllowedFlashingBootloader", &DeviceBootloader::isAllowedFlashingBootloader, DOC(dai, DeviceBootloader, isAllowedFlashingBootloader)) + + .def("flashClear", [](DeviceBootloader& db) { py::gil_scoped_release release; return db.flashClear(); }, DOC(dai, DeviceBootloader, flashClear)) + .def("flashGpioModeBootHeader", [](DeviceBootloader& db, DeviceBootloader::Memory memory, int mode) { py::gil_scoped_release release; return db.flashGpioModeBootHeader(memory, mode); }, py::arg("memory"), py::arg("mode"), DOC(dai, DeviceBootloader, flashGpioModeBootHeader)) + .def("flashUsbRecoveryBootHeader", [](DeviceBootloader& db, DeviceBootloader::Memory memory) { py::gil_scoped_release release; return db.flashUsbRecoveryBootHeader(memory); }, py::arg("memory"), DOC(dai, DeviceBootloader, flashUsbRecoveryBootHeader)) + .def("flashBootHeader", [](DeviceBootloader& db, DeviceBootloader::Memory memory, int64_t offset, int64_t location, int32_t dummyCycles, int32_t frequency) { py::gil_scoped_release release; return db.flashBootHeader(memory, offset, location, dummyCycles, frequency); }, py::arg("memory"), py::arg("offset") = -1, py::arg("location") = -1, py::arg("dummyCycles") = -1, py::arg("frequency") = -1, DOC(dai, DeviceBootloader, flashBootHeader)) + .def("flashFastBootHeader", [](DeviceBootloader& db, DeviceBootloader::Memory memory, int64_t offset, int64_t location, int32_t dummyCycles, int32_t frequency) { py::gil_scoped_release release; return db.flashFastBootHeader(memory, offset, location, dummyCycles, frequency); }, py::arg("memory"), py::arg("offset") = -1, py::arg("location") = -1, py::arg("dummyCycles") = -1, py::arg("frequency") = -1, DOC(dai, DeviceBootloader, flashFastBootHeader)) + .def("flashCustom", [](DeviceBootloader& db, DeviceBootloader::Memory memory, size_t offset, const std::vector& data, std::function progressCb) { py::gil_scoped_release release; return db.flashCustom(memory, offset, data, progressCb); }, py::arg("memory"), py::arg("offset"), py::arg("data"), py::arg("progressCallback") = nullptr, DOC(dai, DeviceBootloader, flashCustom)) + .def("flashCustom", [](DeviceBootloader& db, DeviceBootloader::Memory memory, size_t offset, std::string filename, std::function progressCb) { py::gil_scoped_release release; return db.flashCustom(memory, offset, filename, progressCb); }, py::arg("memory"), py::arg("offset"), py::arg("filename"), py::arg("progressCallback") = nullptr, DOC(dai, DeviceBootloader, flashCustom)) + .def("readCustom", [](DeviceBootloader& db, DeviceBootloader::Memory memory, size_t offset, size_t size, std::string filename, std::function progressCb) { py::gil_scoped_release release; return db.readCustom(memory, offset, size, filename, progressCb); }, py::arg("memory"), py::arg("offset"), py::arg("size"), py::arg("filename"), py::arg("progressCallback") = nullptr, DOC(dai, DeviceBootloader, readCustom)) + .def("readCustom", [](DeviceBootloader& db, DeviceBootloader::Memory memory, size_t offset, size_t size, std::function progressCb) { py::gil_scoped_release release; return db.readCustom(memory, offset, size, progressCb); }, py::arg("memory"), py::arg("offset"), py::arg("size"), py::arg("progressCallback") = nullptr, DOC(dai, DeviceBootloader, readCustom)) ; } From b539dcde66dc8e0b91e45f9179983267bd4d39b3 Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Sun, 20 Feb 2022 22:47:09 +0100 Subject: [PATCH 2/2] Updated core --- depthai-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depthai-core b/depthai-core index abe0aad49..1c2b305d3 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit abe0aad49327d9b5865008efe0d2d6650b75d1ac +Subproject commit 1c2b305d313880a310fba20914d54ebb69cf0f62