@@ -621,6 +621,12 @@ PyMethodDef IcsMethods[] = {
621621 meth_request_set_neovi_miscio,
622622 METH_VARARGS,
623623 _DOC_REQUEST_SET_NEOVI_MISCIO),
624+ _EZ_ICS_STRUCT_METHOD (" get_firmware_variant" ,
625+ " icsneoGetFirmwareVariant" ,
626+ " GetFirmwareVariant" ,
627+ meth_get_firmware_variant,
628+ METH_VARARGS,
629+ _DOC_GET_FIRMWARE_VARIANT),
624630
625631 { " override_library_name" , (PyCFunction)meth_override_library_name, METH_VARARGS, _DOC_OVERRIDE_LIBRARY_NAME },
626632 { " get_library_path" , (PyCFunction)meth_get_library_path, METH_NOARGS, " " },
@@ -5029,8 +5035,8 @@ PyObject* meth_uart_read(PyObject* self, PyObject* args)
50295035 size_t bytesActuallyRead = 0 ;
50305036 // int _stdcall icsneoUartRead(void* hObject, const EUartPort_t uart, void* bData, const size_t bytesToRead,
50315037 // size_t* bytesActuallyRead, uint8_t* flags)
5032- ice::Function<int __stdcall (void *, const EUartPort_t, void *, const size_t , size_t *, uint8_t *)>
5033- icsneoUartRead ( lib, " icsneoUartRead" );
5038+ ice::Function<int __stdcall (void *, const EUartPort_t, void *, const size_t , size_t *, uint8_t *)> icsneoUartRead (
5039+ lib, " icsneoUartRead" );
50345040 auto gil = PyAllowThreads ();
50355041 if (!icsneoUartRead (handle, port, buffer, bytesToRead, &bytesActuallyRead, &flags)) {
50365042 gil.restore ();
@@ -5611,3 +5617,38 @@ PyObject* meth_request_set_neovi_miscio(PyObject* self, PyObject* args) // icsne
56115617 return set_ics_exception (exception_runtime_error (), (char *)ex.what ());
56125618 }
56135619}
5620+
5621+ PyObject* meth_get_firmware_variant (PyObject* self, PyObject* args) // icsneoGetFirmwareVariant
5622+ {
5623+ (void )self;
5624+ PyObject* obj = NULL ;
5625+ if (!PyArg_ParseTuple (args, arg_parse (" O:" , __FUNCTION__), &obj)) {
5626+ return NULL ;
5627+ }
5628+ if (!PyNeoDeviceEx_CheckExact (obj)) {
5629+ return set_ics_exception (exception_runtime_error (), " Argument must be of type " MODULE_NAME " .PyNeoDeviceEx" );
5630+ }
5631+ void * handle = NULL ;
5632+ if (!PyNeoDeviceEx_GetHandle (obj, &handle)) {
5633+ return NULL ;
5634+ }
5635+ try {
5636+ ice::Library* lib = dll_get_library ();
5637+ if (!lib) {
5638+ char buffer[512 ];
5639+ return set_ics_exception (exception_runtime_error (), dll_get_error (buffer));
5640+ }
5641+ // int __stdcall icsneoGetFirmwareVariant(void* hObject, uint32_t* variant)
5642+ ice::Function<int __stdcall (void *, uint32_t *)> icsneoGetFirmwareVariant (lib, " icsneoGetFirmwareVariant" );
5643+ auto gil = PyAllowThreads ();
5644+ uint32_t variant = 0 ;
5645+ if (!icsneoGetFirmwareVariant (handle, &variant)) {
5646+ gil.restore ();
5647+ return set_ics_exception (exception_runtime_error (), " icsneoGetFirmwareVariant() Failed" );
5648+ }
5649+ gil.restore ();
5650+ return Py_BuildValue (" I" , variant);
5651+ } catch (ice::Exception& ex) {
5652+ return set_ics_exception (exception_runtime_error (), (char *)ex.what ());
5653+ }
5654+ }
0 commit comments