pimoroni / inky

Combined library for V2/V3 Inky pHAT and Inky wHAT.
https://shop.pimoroni.com/?q=inky
MIT License
575 stars 121 forks source link

Saturated Palette in InkyMockImpression not reachable #196

Open PALcod3 opened 2 months ago

PALcod3 commented 2 months ago
File "/home/user/PycharmProjects/inky_weatherstation/.venv/lib/python3.12/site-packages/inky/mock.py", line 262, in set_image
    palette = inky_uc8159.Inky._palette_blend(self, saturation)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/PycharmProjects/inky_weatherstation/.venv/lib/python3.12/site-packages/inky/inky_uc8159.py", line 196, in _palette_blend
    rs, gs, bs = [c * saturation for c in self.SATURATED_PALETTE[i]]
                                          ^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'InkyMockImpression' object has no attribute 'SATURATED_PALETTE'

When I try to mock the 7 color e-ink display it does not work because ot the missing SATURATED_PALETTE. As a quick workaround I add the following from inky:uc8159.py into the InkyMockImpression class from mock.py:

SATURATED_PALETTE = [
        [57, 48, 57],
        [255, 255, 255],
        [58, 91, 70],
        [61, 59, 94],
        [156, 72, 75],
        [208, 190, 71],
        [177, 106, 73],
        [255, 255, 255]]

There must be a better way because inky_uc8159.py already contains the SATURATED_PALETTE two(!) times.

I got inky 1.5.0 installed on my IDE.