loiccoyle / tinyticker

🚀 A tiny Raspberry Pi powered ePaper ticker
https://loiccoyle.com/tinyticker
MIT License
16 stars 3 forks source link

Ticker Data is backwards #63

Closed IzzoYourNizzo closed 2 months ago

IzzoYourNizzo commented 3 months ago

First, I want to say that this project is awesome. Thank you for making it.

I just installed the latest build of tinyticker from the image hosted on google drive. The problem I'm seeing is that all the data displayed on the e-paper display is all backwards.

See attached image for reference. Any idea as to what is causing this or how to fix it? This is a v2 waveshare 2.13in. No other packages or dependencies are installed. PXL_20240711_135927721 (1)

loiccoyle commented 3 months ago

Weird, can you paste the logs?

IzzoYourNizzo commented 3 months ago

This is the contents of the tinyticker-err.log, let me know if there is any other logs you want to see.

08:25:30 - tinyticker - INFO: Tinyticker version: 1.1.1 08:25:31 - tinyticker - INFO: PID file: /tmp/tinyticker/tinyticker_pid 08:25:31 - tinyticker - INFO: PID: 1284 08:25:31 - tinyticker - DEBUG: Args: Namespace(config=PosixPath('/home/tinyticker/.config/tinyticker/config.json'), verbose=2) 08:25:31 - tinyticker - INFO: Starting ticker task. 08:25:31 - tinyticker.display - INFO: Init ePaper display. 08:25:31 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:25:31 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:25:31 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:25:31 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:25:31 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:25:31 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:25:31 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:25:33 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:25:33 - tinyticker - DEBUG: Sequence(skip_outdated=False, skip_empty=True): Ticker crypto BTC 32x15m 60s 08:25:33 - tinyticker.tickers.crypto - INFO: Crypto tick: BTC 08:25:38 - tinyticker.tickers.crypto - DEBUG: resampling historical data 08:25:38 - tinyticker.tickers.crypto - DEBUG: crypto historical length: 33 08:25:38 - tinyticker.tickers.crypto - DEBUG: crypto historical length pruned: 32 08:25:42 - tinyticker - DEBUG: Ticker response len(historical): 32 08:25:42 - tinyticker - DEBUG: Ticker response current_price: 57441.78 08:25:44 - tinyticker.display - DEBUG: Image size: (250, 122) 08:25:44 - tinyticker.display - INFO: Wake up. 08:25:44 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:25:44 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:25:44 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:25:44 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:25:44 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:25:44 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:25:44 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:25:46 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:25:46 - tinyticker.display - INFO: Display sleep. 08:25:48 - tinyticker.waveshare_lib.device - DEBUG: spi end 08:25:48 - tinyticker.waveshare_lib.device - DEBUG: close 5V, Module enters 0 power consumption ... 08:25:48 - tinyticker.sequence - INFO: Sleeping 60s. 08:25:48 - tinyticker.socket - INFO: Server socket started: /tmp/tinyticker/tinyticker.sock 08:26:48 - tinyticker.tickers.crypto - INFO: Crypto tick: BTC 08:26:51 - tinyticker.tickers.crypto - DEBUG: resampling historical data 08:26:51 - tinyticker.tickers.crypto - DEBUG: crypto historical length: 33 08:26:51 - tinyticker.tickers.crypto - DEBUG: crypto historical length pruned: 32 08:26:54 - tinyticker - DEBUG: Ticker response len(historical): 32 08:26:54 - tinyticker - DEBUG: Ticker response current_price: 57417.02 08:26:55 - tinyticker.display - DEBUG: Image size: (250, 122) 08:26:55 - tinyticker.display - INFO: Wake up. 08:26:55 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:26:55 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:26:55 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:26:55 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:26:55 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:26:55 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:26:55 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy 08:26:57 - tinyticker.waveshare_lib.epd2in13_V2 - DEBUG: e-Paper busy release 08:26:57 - tinyticker.display - INFO: Display sleep. 08:26:59 - tinyticker.waveshare_lib.device - DEBUG: spi end 08:26:59 - tinyticker.waveshare_lib.device - DEBUG: close 5V, Module enters 0 power consumption ... 08:26:59 - tinyticker.sequence - INFO: Sleeping 60s.

IzzoYourNizzo commented 3 months ago

I just discovered one thing: I switched the config to use the v4 Waveshare version, and it's working. As displayed on the device, I clearly have a v2 screen. Could the drivers/binaries for v2 be the issue? The v1 and v3 configs do not allow the screen display to be properly displayed. But it is working perfectly with v4....

loiccoyle commented 3 months ago

I'm glad you got it working. Can you try to run the waveshare demo for the 2.13 v2, v3 and v4 and see if you get the same behavior.

They are in this repo: https://github.com/waveshareteam/e-Paper/tree/master/RaspberryPi_JetsonNano/python/examples

You'll probably need to stop tinyticker before running them:

systemctl --user stop tinyticker tinyticker-web
IzzoYourNizzo commented 3 months ago

When running the command to kill the services, I get the following:

Failed to stop tinyticker.service: Unit tinyticker.service not loaded. Failed to stop tinyticker-web.service: Unit tinyticker-web.service not loaded.

I took a look at the service files (/home/tinyticker/.config/systemd/user/tinyticker-web.service ) and didn't see anything wrong that would prevent me from stopping the service to test the demo files (which I have staged).

Furthermore, I see the services themselves running:

─user-1001.slice └─user@1001.service ├─app.slice │ ├─tinyticker-web.service │ │ ├─1125 sh -c "! type comitup-cli || comitup-cli i | grep -q \"CONNECTED\" && /home/tinyticker/.local/bin/tinyticker-web --por> │ │ └─1132 /usr/bin/python3 /home/tinyticker/.local/bin/tinyticker-web --port 80 --config /home/tinyticker/.config/tinyticker/con> │ └─tinyticker.service │ └─950 /usr/bin/python3 /home/tinyticker/.local/bin/tinyticker --config /home/tinyticker/.config/tinyticker/config.json -vv

Any idea on this or how else to kill the services?

loiccoyle commented 3 months ago

Are you logged in as the 'tinyticker' user? See https://loiccoyle.com/tinyticker

IzzoYourNizzo commented 3 months ago

Apologies for the delay. You were right in that I was using the wrong user... rookie mistake.

I'm having a hard time running the demo. I need to use the module waveshare_epd. However, when I execute the tests now, I'm getting the following error:

ImportError: cannot import name '_imagingft' from 'PIL' (/home/tinyticker/.local/lib/python3.11/site-packages/PIL/init.py)

I tried installing the PIL library but still no luck in getting the demo scripts running. I must admit, I'm a python novice and this just be my own issue. I'm not giving up but wanted to share an update.

loiccoyle commented 3 months ago

Thanks for the update.

FYI, pillow should already be installed for the tinyticker user as it is required for tinyticker.

I'll try to run the examples tomorrow and see if I run into the same issues.

loiccoyle commented 3 months ago

I was able to run a test by running:

git clone https://github.com/waveshareteam/e-Paper
cd e-Paper/RaspberryPi_JetsonNano/python
python examples/epd_2in7_V2.py

I didn't have to install any packages, and had no issue with pillow.

IzzoYourNizzo commented 2 months ago

Weird, I reran it using your method and cloned the repo, except I did it for the 2in13 models, and I'm still getting the same error.

python ./examples/epd_2in13_V2_test.py

It clears the screen on the display. Then throws the error:

ImportError: cannot import name '_imagingft' from 'PIL' (/home/tinyticker/.local/lib/python3.11/site-packages/PIL/__init__.py)

I see that the dependency files are in that path.

Oh well. TinyTicker is still working with the V4 driver for me and has been stable otherwise. Thanks for taking the time to look. Also, thanks for sharing a helpful tool with the world. I appreciate your time and efforts.

IzzoYourNizzo commented 2 months ago

I am closing as I cannot reproduce the test. Functionally, the tool works with V4 drivers despite having a V2 Waveshare 2.13 in display.