1
0

Bench testing to find out contents of EPROM

This commit is contained in:
Aiden
2026-05-25 23:48:22 +10:00
parent 3f9f03388c
commit 1e4f87675d
4 changed files with 246 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
import unittest
from h8536.bench_connect_lcd import frame_checksum_ok
from h8536.serial_table_dump import build_read_frame, decode_table_read_response, encode_selector
class SerialTableDumpTest(unittest.TestCase):
def test_encode_selector_matches_rom_loc_622b_ranges(self):
self.assertEqual((encode_selector(0x000).frame_hi, encode_selector(0x000).frame_lo), (0x00, 0x00))
self.assertEqual((encode_selector(0x07F).frame_hi, encode_selector(0x07F).frame_lo), (0x00, 0x7F))
self.assertEqual((encode_selector(0x080).frame_hi, encode_selector(0x080).frame_lo), (0x01, 0x00))
self.assertEqual((encode_selector(0x17F).frame_hi, encode_selector(0x17F).frame_lo), (0x01, 0xFF))
self.assertEqual((encode_selector(0x180).frame_hi, encode_selector(0x180).frame_lo), (0x02, 0x00))
self.assertEqual((encode_selector(0x1FF).frame_hi, encode_selector(0x1FF).frame_lo), (0x02, 0x7F))
def test_build_read_frame_uses_command_1_and_checksum(self):
frame = build_read_frame(0x180)
self.assertEqual(frame[:5], bytes.fromhex("01 02 00 00 00"))
self.assertTrue(frame_checksum_ok(frame))
def test_decode_table_read_response_extracts_value_candidate(self):
frame = bytes.fromhex("04 00 12 80 80 4C")
self.assertEqual(decode_table_read_response(frame), (0x12, 0x8080))
def test_decode_table_read_response_ignores_non_readback(self):
self.assertIsNone(decode_table_read_response(bytes.fromhex("00 00 00 00 80 DA")))
if __name__ == "__main__":
unittest.main()