aluminum-ice / pwnagotchi

(⌐■_■) - Deep Reinforcement Learning instrumenting bettercap for WiFi pwning.
https://pwnagotchi.ai/
Other
769 stars 55 forks source link

Support e-Ink Waveshare 2.13" model G (silver Sticker) #105 #107

Closed Opalinus closed 9 months ago

Opalinus commented 10 months ago

Description

added minimal support of e-Ink Waveshare 2.13" model G. Only b/w supported although the display also supports yellow and red.

Motivation and Context

Original files pulled from https://github.com/waveshareteam/e-Paper/ to fix this issue

How Has This Been Tested?

This does not work when using AUTO mode but only MANU mode. I tried setting ui.fps = 0.00016 and = 1 in AUTO mode, but the display still refreshed multiple times per second.

So this is basically unusable until I understand what is going on. I might open another issue...

Types of changes

Checklist:

Opalinus commented 10 months ago

I would love some help to understand why my display is flashing so often. I can contribute a video/gif

Jubblin commented 10 months ago

I've tried to test this on my rig as I have the same requirement and see the following output:

[2024-01-17 12:44:47,802] [INFO] [led] plugin loaded for /sys/class/leds/led0/brightness
Traceback (most recent call last):
  File "/usr/local/bin/pwnagotchi", line 154, in <module>
    display = Display(config=config, state={'name': '%s>' % pwnagotchi.name()})
[2024-01-17 12:44:47,805] [DEBUG] [led] event 'loaded' set
  File "/usr/local/lib/python3.7/dist-packages/pwnagotchi/ui/display.py", line 12, in __init__
    super(Display, self).__init__(config, hw.display_for(config), state)
  File "/usr/local/lib/python3.7/dist-packages/pwnagotchi/ui/hw/__init__.py", line 74, in display_for
[2024-01-17 12:44:47,808] [DEBUG] [led] using pattern 'oo  oo  oo oo  oo  oo  oo' ...
    return Waveshare213g(config)
NameError: name 'Waveshare213g' is not defined

Can be resolved by adding the import to pwnagotchi/ui/hw/init.py

Opalinus commented 10 months ago

Thank you @Jubblin for testing and the very helpful log. I have added the changes and it should work know.

And yes I have messed up the commit, I'm still new to git.

Jubblin commented 10 months ago

Am seeing the same issue on my device, have ordered up a black and white screen to compare

Opalinus commented 10 months ago

Am seeing the same issue on my device, have ordered up a black and white screen to compare

Thanks for confirming. I did also run both waveshare examples in python and C and it looked the same.

I also noticed this model does not support partial refresh (its mentioned in the datasheets but not implemented)