Skip to content

Commit

Permalink
Apply formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
Matevz Morato committed Jan 26, 2025
1 parent c7db23b commit f7a0924
Show file tree
Hide file tree
Showing 108 changed files with 4,523 additions and 3,537 deletions.
2 changes: 1 addition & 1 deletion bindings/python/external/pybind11_opencv_numpy
199 changes: 162 additions & 37 deletions bindings/python/src/CalibrationHandlerBindings.cpp

Large diffs are not rendered by default.

12 changes: 5 additions & 7 deletions bindings/python/src/DatatypeBindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ void bind_imagealignconfig(pybind11::module& m, void* pCallstack);
void bind_imageannotations(pybind11::module& m, void* pCallstack);

void DatatypeBindings::addToCallstack(std::deque<StackFunction>& callstack) {
// Bind common datatypebindings
// Bind common datatypebindings
callstack.push_front(DatatypeBindings::bind);

// Bind all datatypes (order matters)
Expand Down Expand Up @@ -70,10 +70,10 @@ void DatatypeBindings::addToCallstack(std::deque<StackFunction>& callstack) {
callstack.push_front(bind_pointclouddata);
callstack.push_front(bind_transformdata);
callstack.push_front(bind_imagealignconfig);
callstack.push_front(bind_imageannotations);
callstack.push_front(bind_imageannotations);
}

void DatatypeBindings::bind(pybind11::module& m, void* pCallstack){
void DatatypeBindings::bind(pybind11::module& m, void* pCallstack) {
using namespace dai;

py::enum_<DatatypeEnum> datatypeEnum(m, "DatatypeEnum", DOC(dai, DatatypeEnum));
Expand All @@ -82,7 +82,7 @@ void DatatypeBindings::bind(pybind11::module& m, void* pCallstack){
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
// Call the rest of the type defines, then perform the actual bindings
Callstack* callstack = (Callstack*) pCallstack;
Callstack* callstack = (Callstack*)pCallstack;
auto cb = callstack->top();
callstack->pop();
cb(m, pCallstack);
Expand Down Expand Up @@ -123,7 +123,5 @@ void DatatypeBindings::bind(pybind11::module& m, void* pCallstack){
.value("PointCloudConfig", DatatypeEnum::PointCloudConfig)
.value("PointCloudData", DatatypeEnum::PointCloudData)
.value("ImageAlignConfig", DatatypeEnum::ImageAlignConfig)
.value("ImgAnnotations", DatatypeEnum::ImgAnnotations)
;

.value("ImgAnnotations", DatatypeEnum::ImgAnnotations);
}
3 changes: 2 additions & 1 deletion bindings/python/src/DatatypeBindings.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@

struct DatatypeBindings {
static void addToCallstack(std::deque<StackFunction>& callstack);
private:

private:
static void bind(pybind11::module& m, void* pCallstack);
};

Expand Down
1,106 changes: 774 additions & 332 deletions bindings/python/src/DeviceBindings.cpp

Large diffs are not rendered by default.

437 changes: 359 additions & 78 deletions bindings/python/src/DeviceBootloaderBindings.cpp

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions bindings/python/src/MessageQueueBindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "depthai/pipeline/MessageQueue.hpp"
#include "depthai/pipeline/datatype/ADatatype.hpp"

py::object messageQueueException; // Needed to be able to catch in C++ after it's raised on the Python side
py::object messageQueueException; // Needed to be able to catch in C++ after it's raised on the Python side

void MessageQueueBindings::bind(pybind11::module& m, void* pCallstack) {
using namespace dai;
Expand Down Expand Up @@ -44,17 +44,17 @@ void MessageQueueBindings::bind(pybind11::module& m, void* pCallstack) {
pybind11::object result = inspectModule.attr("signature")(cb).attr("parameters");
auto numParams = pybind11::len(result);

if (numParams == 2) {
if(numParams == 2) {
return q.addCallback([cb](std::string msg, std::shared_ptr<ADatatype> data) {
pybind11::gil_scoped_acquire gil;
cb(msg, data);
});
} else if (numParams == 1) {
} else if(numParams == 1) {
return q.addCallback([cb](std::shared_ptr<ADatatype> data) {
pybind11::gil_scoped_acquire gil;
cb(data);
});
} else if (numParams == 0) {
} else if(numParams == 0) {
return q.addCallback([cb]() {
pybind11::gil_scoped_acquire gil;
cb();
Expand Down
12 changes: 4 additions & 8 deletions bindings/python/src/VersionBindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
// depthai
#include "depthai/device/Version.hpp"

void VersionBindings::bind(pybind11::module& m, void* pCallstack){

void VersionBindings::bind(pybind11::module& m, void* pCallstack) {
using namespace dai;

// Type definitions
Expand All @@ -14,7 +13,7 @@ void VersionBindings::bind(pybind11::module& m, void* pCallstack){
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
// Call the rest of the type defines, then perform the actual bindings
Callstack* callstack = (Callstack*) pCallstack;
Callstack* callstack = (Callstack*)pCallstack;
auto cb = callstack->top();
callstack->pop();
cb(m, pCallstack);
Expand All @@ -23,15 +22,12 @@ void VersionBindings::bind(pybind11::module& m, void* pCallstack){
///////////////////////////////////////////////////////////////////////

// Bind DeviceBootloader
version
.def(py::init<const std::string&>(), py::arg("v"), DOC(dai, Version, Version))
version.def(py::init<const std::string&>(), py::arg("v"), DOC(dai, Version, Version))
.def(py::init<unsigned, unsigned, unsigned>(), py::arg("major"), py::arg("minor"), py::arg("patch"), DOC(dai, Version, Version, 2))
.def("__str__", &Version::toString, DOC(dai, Version, toString))
.def("__eq__", &Version::operator==)
.def("__lt__", &Version::operator<)
.def("__gt__", &Version::operator>)
.def("toStringSemver", &Version::toStringSemver, DOC(dai, Version, toStringSemver))
.def("getBuildInfo", &Version::getBuildInfo, DOC(dai, Version, getBuildInfo))
;

.def("getBuildInfo", &Version::getBuildInfo, DOC(dai, Version, getBuildInfo));
}
107 changes: 48 additions & 59 deletions bindings/python/src/XLinkBindings.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "XLinkBindings.hpp"

#include <warnings.h>

// std
Expand All @@ -9,10 +10,7 @@
#include "depthai/xlink/XLinkConnection.hpp"
#include "depthai/xlink/XLinkStream.hpp"


void XLinkBindings::bind(pybind11::module &m, void *pCallstack)
{

void XLinkBindings::bind(pybind11::module& m, void* pCallstack) {
using namespace dai;

// Type definitions
Expand All @@ -33,16 +31,15 @@ void XLinkBindings::bind(pybind11::module &m, void *pCallstack)
auto xlinkReadError = py::register_exception<XLinkReadError>(m, "XLinkReadError", xlinkError.ptr());
auto xlinkWriteError = py::register_exception<XLinkWriteError>(m, "XLinkWriteError", xlinkError.ptr());

//py::class_<XLinkError> xLinkError(m, "XLinkError", DOC(dai, XLinkError));
//py::class_<XLinkReadError, XLinkError> xLinkReadError(m, "XLinkReadError", DOC(dai, XLinkReadError));
//py::class_<XLinkWriteError, XLinkError> xLinkWriteError(m, "XLinkWriteError", DOC(dai, XLinkWriteError));

// py::class_<XLinkError> xLinkError(m, "XLinkError", DOC(dai, XLinkError));
// py::class_<XLinkReadError, XLinkError> xLinkReadError(m, "XLinkReadError", DOC(dai, XLinkReadError));
// py::class_<XLinkWriteError, XLinkError> xLinkWriteError(m, "XLinkWriteError", DOC(dai, XLinkWriteError));

///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
// Call the rest of the type defines, then perform the actual bindings
Callstack *callstack = (Callstack *)pCallstack;
Callstack* callstack = (Callstack*)pCallstack;
auto cb = callstack->top();
callstack->pop();
cb(m, pCallstack);
Expand All @@ -62,7 +59,13 @@ void XLinkBindings::bind(pybind11::module &m, void *pCallstack)
DOC(dai, DeviceInfo, DeviceInfo, 2))
.def(py::init<std::string>(), py::arg("deviceIdOrName"), DOC(dai, DeviceInfo, DeviceInfo, 3))
.def(py::init<const deviceDesc_t&>(), DOC(dai, DeviceInfo, DeviceInfo, 4))
.def("getMxId", [](DeviceInfo& info) { PyErr_WarnEx(PyExc_DeprecationWarning, "getMxId is deprecated, use getDeviceId instead.", 1); return info.getMxId(); }, DOC(dai, DeviceInfo, getMxId))
.def(
"getMxId",
[](DeviceInfo& info) {
PyErr_WarnEx(PyExc_DeprecationWarning, "getMxId is deprecated, use getDeviceId instead.", 1);
return info.getMxId();
},
DOC(dai, DeviceInfo, getMxId))
.def("getDeviceId", &DeviceInfo::getDeviceId, DOC(dai, DeviceInfo, getDeviceId))
.def("getXLinkDeviceDesc", &DeviceInfo::getXLinkDeviceDesc)
.def_readwrite("name", &DeviceInfo::name)
Expand All @@ -73,87 +76,77 @@ void XLinkBindings::bind(pybind11::module &m, void *pCallstack)
.def_readwrite("status", &DeviceInfo::status)
.def("__repr__", &DeviceInfo::toString)
// deprecated
.def_property("desc", [](py::object& self) {
// Issue an deprecation warning
PyErr_WarnEx(PyExc_DeprecationWarning, "desc field is deprecated, use name/mxid and others instead.", 1);
return self;
},[](DeviceInfo& i, DeviceInfo di){
// Issue an deprecation warning
PyErr_WarnEx(PyExc_DeprecationWarning, "desc field is deprecated, use name/mxid and others instead.", 1);
i = di;
})
;

deviceDesc
.def(py::init<>())
.def_property(
"desc",
[](py::object& self) {
// Issue an deprecation warning
PyErr_WarnEx(PyExc_DeprecationWarning, "desc field is deprecated, use name/mxid and others instead.", 1);
return self;
},
[](DeviceInfo& i, DeviceInfo di) {
// Issue an deprecation warning
PyErr_WarnEx(PyExc_DeprecationWarning, "desc field is deprecated, use name/mxid and others instead.", 1);
i = di;
});

deviceDesc.def(py::init<>())
.def_readwrite("protocol", &deviceDesc_t::protocol)
.def_readwrite("platform", &deviceDesc_t::platform)
.def_readwrite("state", &deviceDesc_t::state)
.def_readwrite("status", &deviceDesc_t::status)
.def_property(
"name",
[](deviceDesc_t &o)
{ return std::string(o.name); },
[](deviceDesc_t &o, std::string n)
{
[](deviceDesc_t& o) { return std::string(o.name); },
[](deviceDesc_t& o, std::string n) {
memset(o.name, 0, sizeof(o.name));
std::strncpy(o.name, n.c_str(), sizeof(o.name));
})
.def_property(
"mxid",
[](deviceDesc_t &o)
{ return std::string(o.mxid); },
[](deviceDesc_t &o, std::string n)
{
[](deviceDesc_t& o) { return std::string(o.mxid); },
[](deviceDesc_t& o, std::string n) {
memset(o.mxid, 0, sizeof(o.mxid));
std::strncpy(o.mxid, n.c_str(), sizeof(o.mxid));
})
;
});

xLinkDeviceState
.value("X_LINK_ANY_STATE", X_LINK_ANY_STATE)
xLinkDeviceState.value("X_LINK_ANY_STATE", X_LINK_ANY_STATE)
.value("X_LINK_BOOTED", X_LINK_BOOTED)
.value("X_LINK_UNBOOTED", X_LINK_UNBOOTED)
.value("X_LINK_BOOTLOADER", X_LINK_BOOTLOADER)
.value("X_LINK_FLASH_BOOTED", X_LINK_BOOTED_NON_EXCLUSIVE)
.value("X_LINK_BOOTED_NON_EXCLUSIVE", X_LINK_BOOTED_NON_EXCLUSIVE)
.value("X_LINK_GATE", X_LINK_GATE)
.value("X_LINK_GATE_BOOTED", X_LINK_GATE_BOOTED)
.export_values()
;
.export_values();

xLinkProtocol
.value("X_LINK_USB_VSC", X_LINK_USB_VSC)
xLinkProtocol.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)
.export_values()
;
.export_values();

xLinkPlatform.value("X_LINK_ANY_PLATFORM", X_LINK_ANY_PLATFORM)
.value("X_LINK_MYRIAD_2", X_LINK_MYRIAD_2)
.value("X_LINK_MYRIAD_X", X_LINK_MYRIAD_X)
.value("X_LINK_RVC3", X_LINK_RVC3)
.value("X_LINK_RVC4", X_LINK_RVC4)
.export_values()
;

xLinkConnection
.def(py::init<const DeviceInfo &, std::vector<std::uint8_t> >())
.def(py::init<const DeviceInfo &, std::string>())
.def(py::init<const DeviceInfo &>())
.def_static("getAllConnectedDevices", &XLinkConnection::getAllConnectedDevices, py::arg("state") = X_LINK_ANY_STATE, py::arg("skipInvalidDevices") = true)
.export_values();

xLinkConnection.def(py::init<const DeviceInfo&, std::vector<std::uint8_t> >())
.def(py::init<const DeviceInfo&, std::string>())
.def(py::init<const DeviceInfo&>())
.def_static(
"getAllConnectedDevices", &XLinkConnection::getAllConnectedDevices, py::arg("state") = X_LINK_ANY_STATE, py::arg("skipInvalidDevices") = true)
.def_static("getFirstDevice", &XLinkConnection::getFirstDevice, py::arg("state") = X_LINK_ANY_STATE, py::arg("skipInvalidDevice") = true)
.def_static("getDeviceById", &XLinkConnection::getDeviceById, py::arg("deviceId"), py::arg("state") = X_LINK_ANY_STATE, py::arg("skipInvalidDevice") = true)
.def_static(
"getDeviceById", &XLinkConnection::getDeviceById, py::arg("deviceId"), py::arg("state") = X_LINK_ANY_STATE, py::arg("skipInvalidDevice") = true)
.def_static("bootBootloader", &XLinkConnection::bootBootloader, py::arg("devInfo"))
.def_static("getGlobalProfilingData", &XLinkConnection::getGlobalProfilingData, DOC(dai, XLinkConnection, getGlobalProfilingData))
;
.def_static("getGlobalProfilingData", &XLinkConnection::getGlobalProfilingData, DOC(dai, XLinkConnection, getGlobalProfilingData));

xLinkError
.value("X_LINK_SUCCESS", X_LINK_SUCCESS)
xLinkError.value("X_LINK_SUCCESS", X_LINK_SUCCESS)
.value("X_LINK_ALREADY_OPEN", X_LINK_ALREADY_OPEN)
.value("X_LINK_COMMUNICATION_NOT_OPEN", X_LINK_COMMUNICATION_NOT_OPEN)
.value("X_LINK_COMMUNICATION_FAIL", X_LINK_COMMUNICATION_FAIL)
Expand All @@ -168,9 +161,7 @@ void XLinkBindings::bind(pybind11::module &m, void *pCallstack)
.value("X_LINK_INIT_USB_ERROR", X_LINK_INIT_USB_ERROR)
.value("X_LINK_INIT_TCP_IP_ERROR", X_LINK_INIT_TCP_IP_ERROR)
.value("X_LINK_INIT_PCIE_ERROR", X_LINK_INIT_PCIE_ERROR)
.export_values()
;

.export_values();

//// Exceptions

Expand All @@ -186,6 +177,4 @@ void XLinkBindings::bind(pybind11::module &m, void *pCallstack)
//
// xLinkWriteError
// .def(py::init<XLinkError_t, const std::string &>());


}
5 changes: 2 additions & 3 deletions bindings/python/src/XLinkBindings.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
// pybind
#include "pybind11_common.hpp"

struct XLinkBindings
{
static void bind(pybind11::module &m, void *pCallstack);
struct XLinkBindings {
static void bind(pybind11::module& m, void* pCallstack);
};
1 change: 0 additions & 1 deletion bindings/python/src/common/ModelTypeBindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

#include <depthai/common/ModelType.hpp>


PYBIND11_MAKE_OPAQUE(std::vector<uint8_t>);

void ModelTypeBindings::bind(pybind11::module& m, void* pCallstack) {
Expand Down
20 changes: 6 additions & 14 deletions bindings/python/src/log/LogBindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,18 @@
#include "depthai/log/LogLevel.hpp"
#include "depthai/log/LogMessage.hpp"

void LogBindings::bind(pybind11::module& m, void* pCallstack){

void LogBindings::bind(pybind11::module& m, void* pCallstack) {
using namespace dai;

// Bind LogLevel
py::enum_<LogLevel> logLevel(m, "LogLevel");
py::class_<LogMessage> logMessage(m, "LogMessage", DOC(dai, LogMessage));


///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
// Call the rest of the type defines, then perform the actual bindings
Callstack* callstack = (Callstack*) pCallstack;
Callstack* callstack = (Callstack*)pCallstack;
auto cb = callstack->top();
callstack->pop();
cb(m, pCallstack);
Expand All @@ -26,24 +24,18 @@ void LogBindings::bind(pybind11::module& m, void* pCallstack){
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////


logLevel
.value("TRACE", LogLevel::TRACE)
logLevel.value("TRACE", LogLevel::TRACE)
.value("DEBUG", LogLevel::DEBUG)
.value("INFO", LogLevel::INFO)
.value("WARN", LogLevel::WARN)
.value("ERR", LogLevel::ERR)
.value("CRITICAL", LogLevel::CRITICAL)
.value("OFF", LogLevel::OFF)
;
.value("OFF", LogLevel::OFF);

logMessage
.def_readwrite("nodeIdName", &LogMessage::nodeIdName)
logMessage.def_readwrite("nodeIdName", &LogMessage::nodeIdName)
.def_readwrite("level", &LogMessage::level)
.def_readwrite("time", &LogMessage::time)
.def_readwrite("colorRangeStart", &LogMessage::colorRangeStart)
.def_readwrite("colorRangeEnd", &LogMessage::colorRangeEnd)
.def_readwrite("payload", &LogMessage::payload)
;

.def_readwrite("payload", &LogMessage::payload);
}
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ void NNModelDescriptionBindings::bind(pybind11::module& m, void* pCallstack) {
.def(py::init<const std::string&, const std::string&, const std::string&, const std::string&>(),
py::arg("teamName") = "",
py::arg("modelSlug") = "",
py::arg("modelVariantSlug")= "",
py::arg("modelVariantSlug") = "",
py::arg("modelRef") = "")
.def("merge", &SlugComponents::merge, DOC(dai, SlugComponents, merge))
.def_static("split", &SlugComponents::split, py::arg("slug"), DOC(dai, SlugComponents, split))
Expand Down
Loading

0 comments on commit f7a0924

Please sign in to comment.