nuimo-linux-python icon indicating copy to clipboard operation
nuimo-linux-python copied to clipboard

LED Matrix not working

Open hifiberry opened this issue 7 years ago • 8 comments

I can't get the LED matrix writer to work with my Nuimo. Also the dots.py demo code isn't displaying anything

After debugging the Nuimo code, I found that _matrix_writer.led_matrix_characteristic is None

In the code I see this: self._matrix_writer.led_matrix_characteristic = next(( characteristic for characteristic in nuimo_service.characteristics if characteristic.uuid == self.LED_MATRIX_CHARACTERISTIC_UUID), None) # TODO: Fallback to legacy led matrix service # This is needed for older Nuimo firmware were the LED characteristic was a separate service)

I've updated the firmware with the iPhone app, but it doesn't change anything. Is it possible that the firmware is still old even after I updated it with the iPhone app?

hifiberry avatar Feb 25 '18 19:02 hifiberry

Any news on this?

hifiberry avatar Mar 31 '18 16:03 hifiberry

@hifiberry, can you please let us know the firmware version of your Nuimo? You can find it in the side menu of your Nuimo iPhone app. With Nuimo connected to your iPhone, slide Nuimo in the side menu to the left/right until "Details" appears. When you tap on the details, you get the firmware version presented.

larsblumberg avatar Apr 01 '18 02:04 larsblumberg

Hardware 1.4 Firmware 2.5.0

hifiberry avatar Apr 01 '18 06:04 hifiberry

These are to my knowledge the latest versions of both HW and FW. Does the Nuimo iPhone app show LED icons on Nuimo? If yes, the dots.py might be broken as the Nuimo SDK for Linux/Python is supposed to work fine.

larsblumberg avatar Apr 01 '18 22:04 larsblumberg

Yes, the iPhone app shows icons.

hifiberry avatar Apr 02 '18 05:04 hifiberry

Good. Can you follow the tutorial on https://github.com/getsenic/nuimo-linux-python/blob/master/README.md and see if that works for you?

larsblumberg avatar Apr 03 '18 06:04 larsblumberg

I did this. Events work fine only the LEDs don't. That's what's written in my initial post. Here is where it breaks: self._matrix_writer.led_matrix_characteristic = next(( characteristic for characteristic in nuimo_service.characteristics if characteristic.uuid == self.LED_MATRIX_CHARACTERISTIC_UUID), None) # TODO: Fallback to legacy led matrix service # This is needed for older Nuimo firmware were the LED characteristic was a separate service)

When I debug the SDK code, the self._matrix_writer.led_matrix_characteristic is set to None

hifiberry avatar Apr 03 '18 07:04 hifiberry

Hello @hifiberry, I have Hardware 1.4 and Firmware 2.5.0 and running example on Linux system(Ubuntu 17.10), python 3.6.3 BlueZ version 5.46 and when I run python dots.py MAC-ID it starts printing the 9x9 LED Matrix dots. For me, self.controller._matrix_writer.led_matrix_characteristic.uuid is not None but value of self.controller.NUIMO_SERVICE_UUID, f29b1525-cb19-40f3-be5c-7241ecb82fd2 Can you try to change that if condition to :

self._matrix_writer.led_matrix_characteristic = next((
    characteristic for characteristic in nuimo_service.characteristics
    if characteristic.uuid == self.LEGACY_LED_MATRIX_CHARACTERISTIC_UUID), None)

and confirm that it works? If not we will dig more into it.

baali avatar Apr 05 '18 14:04 baali