When i try to call set_info_block either 1 or 2 on a Blinkstick Strip i get the following error
Traceback (most recent call last):
File "/Users/user/Desktop/test/test.py", line 4, in <module>
bstick.set_info_block1("test")
File "/usr/local/lib/python2.7/site-packages/blinkstick/blinkstick.py", line 610, in set_info_block1
self._usb_ctrl_transfer(0x20, 0x9, 0x0002, 0, self._data_to_message(data))
File "/usr/local/lib/python2.7/site-packages/blinkstick/blinkstick.py", line 244, in _usb_ctrl_transfer
return self.device.ctrl_transfer(bmRequestType, bRequest, wValue, wIndex, data_or_wLength)
File "/usr/local/lib/python2.7/site-packages/usb/core.py", line 711, in ctrl_transfer
self.__get_timeout(timeout)
File "/usr/local/lib/python2.7/site-packages/usb/backend/libusb1.py", line 836, in ctrl_transfer
timeout))
File "/usr/local/lib/python2.7/site-packages/usb/backend/libusb1.py", line 571, in _check
raise USBError(_str_error[ret], ret, _libusb_errno[ret])
usb.core.USBError: [Errno 5] Input/output error
The string is set anyway (albeit most of the time it’s corrupted and not actually what i wrote) but the program crashes and i can’t understand why or how to solve it, on a Blinkstick Square it works only for set_info_block1 but not for set_info_block2. Can anyone help me fix this or understand what is the problem?
EDIT: ok i have no idea what’s happening, i tried to set the info_block2 on the Square with the command line instead of using python. The first 2 times it threw the error and after those 2 it’s now working both on the command line and on the python IDE. There clearly is something wrong in the implementation