diff --git a/depthai-core b/depthai-core index 5a1e6338c..1c2b305d3 160000 --- a/depthai-core +++ b/depthai-core @@ -1 +1 @@ -Subproject commit 5a1e6338c18f607dffe5004a98993a3d00ef1b13 +Subproject commit 1c2b305d313880a310fba20914d54ebb69cf0f62 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)) ; }