1
0
forked from me/IronOS-Meta

Empty frame marker

This commit is contained in:
Ben V. Brown
2022-03-06 21:32:50 +11:00
parent 806e6a266d
commit 29c63fc6f8

View File

@@ -22,6 +22,7 @@ LCD_PAGE_SIZE = 1024
DATA_PROGRAMMED_MARKER = 0xAA DATA_PROGRAMMED_MARKER = 0xAA
FULL_FRAME_MARKER = 0xFF FULL_FRAME_MARKER = 0xFF
EMPTY_FRAME_MARKER = 0xFE # If this marker is used to start a frame, the frame is a 0-length delta frame
class MiniwareSettings: class MiniwareSettings:
@@ -103,7 +104,9 @@ def get_screen_blob(previous_frame: bytearray, this_frame: bytearray):
""" """
outputData = [] outputData = []
delta = calculate_frame_delta_encode(previous_frame, this_frame) delta = calculate_frame_delta_encode(previous_frame, this_frame)
if len(delta) < (len(this_frame)): if len(delta) == 0:
outputData.append(EMPTY_FRAME_MARKER)
elif len(delta) < (len(this_frame)):
outputData.append(len(delta)) outputData.append(len(delta))
outputData.extend(delta) outputData.extend(delta)
# print("delta encoded frame") # print("delta encoded frame")