Set min jpeg size. Organize logging into single method. Use auto GC instead of manual. Better file handling.
This commit is contained in:
@@ -1,2 +1,2 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
convert "$1" -resize '800x480!' -define modulate:colorspace=HSB -modulate 100,120 -level 2% -quality 70 "${1%.*}.inky.jpeg"
|
convert "$1" -resize '800x480!' -define modulate:colorspace=HSB -modulate 100,120 -level 2% -quality 60 -define jpeg:extent=120kb "${1%.*}.inky.jpeg"
|
||||||
|
|||||||
19
main.py
19
main.py
@@ -5,20 +5,25 @@ import inky_frame
|
|||||||
import gc
|
import gc
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
def write_err(text):
|
||||||
|
with open('/sd/errors.log', 'a+') as error_log:
|
||||||
|
error_log.write(f'{text} \n')
|
||||||
|
|
||||||
|
gc.enable()
|
||||||
|
gc.threshold(50000)
|
||||||
|
|
||||||
sd_spi = machine.SPI(0, sck=machine.Pin(18, machine.Pin.OUT), mosi=machine.Pin(19, machine.Pin.OUT), miso=machine.Pin(16, machine.Pin.OUT))
|
sd_spi = machine.SPI(0, sck=machine.Pin(18, machine.Pin.OUT), mosi=machine.Pin(19, machine.Pin.OUT), miso=machine.Pin(16, machine.Pin.OUT))
|
||||||
sd = sdcard.SDCard(sd_spi, machine.Pin(22))
|
sd = sdcard.SDCard(sd_spi, machine.Pin(22))
|
||||||
uos.mount(sd, "/sd")
|
uos.mount(sd, "/sd")
|
||||||
gc.collect()
|
|
||||||
|
|
||||||
from secrets import WIFI_SSID, WIFI_PASSWORD, NEXTCLOUD_USERNAME, NEXTCLOUD_PASSWORD
|
from secrets import WIFI_SSID, WIFI_PASSWORD, NEXTCLOUD_USERNAME, NEXTCLOUD_PASSWORD
|
||||||
try:
|
try:
|
||||||
ih.network_connect_better(WIFI_SSID, WIFI_PASSWORD)
|
ih.network_connect_better(WIFI_SSID, WIFI_PASSWORD)
|
||||||
except RuntimeError as e:
|
except RuntimeError as e:
|
||||||
print(e)
|
print(e)
|
||||||
with open('/sd/errors.log', 'a+') as error_log:
|
write_err(e)
|
||||||
error_log.write(f'{e} \n')
|
|
||||||
#Likely a network oops, try starting again
|
#Likely a network oops, try starting again
|
||||||
|
uos.umount("/sd")
|
||||||
machine.soft_reset()
|
machine.soft_reset()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -27,9 +32,9 @@ try:
|
|||||||
response = nc.get_folder_items("eink-frame")
|
response = nc.get_folder_items("eink-frame")
|
||||||
except OSError as e:
|
except OSError as e:
|
||||||
print(e)
|
print(e)
|
||||||
with open('/sd/errors.log', 'a+') as error_log:
|
write_err(e)
|
||||||
error_log.write(f'{e} \n')
|
|
||||||
#Likely a network oops, try starting again
|
#Likely a network oops, try starting again
|
||||||
|
uos.umount("/sd")
|
||||||
machine.soft_reset()
|
machine.soft_reset()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -48,9 +53,8 @@ if response != None:
|
|||||||
with open('/sd/last_wallpaper', 'w+') as update_last:
|
with open('/sd/last_wallpaper', 'w+') as update_last:
|
||||||
update_last.write(ran.url_path)
|
update_last.write(ran.url_path)
|
||||||
print(ran.url_path)
|
print(ran.url_path)
|
||||||
gc.collect()
|
print(gc.mem_free())
|
||||||
nc.download_file_to_path(ran.url_path, "/sd/current_image.jpg")
|
nc.download_file_to_path(ran.url_path, "/sd/current_image.jpg")
|
||||||
gc.collect()
|
|
||||||
from picographics import PicoGraphics, DISPLAY_INKY_FRAME_7 as DISPLAY
|
from picographics import PicoGraphics, DISPLAY_INKY_FRAME_7 as DISPLAY
|
||||||
from jpegdec import JPEG
|
from jpegdec import JPEG
|
||||||
graphics = PicoGraphics(DISPLAY)
|
graphics = PicoGraphics(DISPLAY)
|
||||||
@@ -60,4 +64,5 @@ if response != None:
|
|||||||
j.decode()
|
j.decode()
|
||||||
graphics.update()
|
graphics.update()
|
||||||
|
|
||||||
|
uos.umount("/sd")
|
||||||
inky_frame.sleep_for(180)
|
inky_frame.sleep_for(180)
|
||||||
|
|||||||
Reference in New Issue
Block a user