From 853653aa7bf59ee570a36b4e15211d5a653c1b95 Mon Sep 17 00:00:00 2001 From: Ben Gardiner Date: Sun, 22 Nov 2020 20:43:01 +0000 Subject: seven_segment: expand to a full alphabet Expand the list of characters that will be recognized by the seven segment decoder to include many display character 'encodings.' Including some punctuation characters and tricky letters like W and V. Signed-off-by: Ben Gardiner [ gsi: sort by ASCII codes (keep ignoring letter case) ] --- decoders/seven_segment/pd.py | 49 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) (limited to 'decoders/seven_segment') diff --git a/decoders/seven_segment/pd.py b/decoders/seven_segment/pd.py index eedacf9..d090cff 100644 --- a/decoders/seven_segment/pd.py +++ b/decoders/seven_segment/pd.py @@ -24,6 +24,13 @@ class ChannelError(Exception): digits = { (0, 0, 0, 0, 0, 0, 0): ' ', + (0, 1, 0, 0, 0, 1, 0): '"', + (1, 1, 0, 1, 1, 1, 1): "&", + (0, 0, 0, 0, 0, 1, 0): "'", + (0, 1, 0, 0, 0, 0, 0): "'", + (0, 0, 1, 1, 0, 0, 0): ',', + (0, 0, 0, 0, 0, 0, 1): '-', + (0, 0, 0, 0, 1, 0, 0): '.', (1, 1, 1, 1, 1, 1, 0): '0', (0, 1, 1, 0, 0, 0, 0): '1', (1, 1, 0, 1, 1, 0, 1): '2', @@ -31,15 +38,53 @@ digits = { (0, 1, 1, 0, 0, 1, 1): '4', (1, 0, 1, 1, 0, 1, 1): '5', (1, 0, 1, 1, 1, 1, 1): '6', + (1, 1, 1, 0, 0, 1, 0): '7', (1, 1, 1, 0, 0, 0, 0): '7', (1, 1, 1, 1, 1, 1, 1): '8', (1, 1, 1, 1, 0, 1, 1): '9', + (1, 0, 0, 0, 0, 0, 1): '=', + (0, 0, 0, 1, 0, 0, 1): '=', + (1, 1, 0, 0, 1, 0, 1): '?', (1, 1, 1, 0, 1, 1, 1): 'A', - (0, 0, 1, 1, 1, 1, 1): 'B', + (1, 1, 1, 1, 1, 0, 1): 'a', + (0, 0, 1, 1, 1, 1, 1): 'b', (1, 0, 0, 1, 1, 1, 0): 'C', - (0, 1, 1, 1, 1, 0, 1): 'D', + (0, 0, 0, 1, 1, 0, 1): 'c', + (0, 1, 1, 1, 1, 0, 1): 'd', (1, 0, 0, 1, 1, 1, 1): 'E', (1, 0, 0, 0, 1, 1, 1): 'F', + (1, 0, 1, 1, 1, 1, 0): 'G', + (0, 1, 1, 0, 1, 1, 1): 'H', + (0, 0, 1, 0, 1, 1, 1): 'h', + (0, 0, 0, 0, 1, 1, 0): 'I', + (1, 0, 0, 0, 1, 0, 0): 'i', + (0, 0, 1, 0, 0, 0, 0): 'i', + (0, 1, 1, 1, 1, 0, 0): 'J', + (0, 1, 1, 1, 0, 0, 0): 'J', + (1, 0, 1, 1, 0, 0, 0): 'j', + (1, 0, 1, 0, 1, 1, 1): 'K', + (0, 0 ,0, 1, 1, 1, 0): 'L', + (1, 0, 1, 0, 1, 0, 0): 'M', + (1, 0, 1, 0, 1, 0, 1): 'M', + (1, 1, 1, 0, 1, 1, 0): 'N', + (0, 0, 1, 0, 1, 0, 1): 'n', + (0, 0, 1, 1, 1, 0, 1): 'o', + (1, 1, 0, 0, 1, 1, 1): 'p', + (1, 1, 1, 0, 0, 1, 1): 'q', + (1, 1, 0, 0, 1, 1, 0): 'R', + (0, 0, 0, 0, 1, 0, 1): 'r', + (0, 0, 0, 1, 1, 1, 1): 't', + (0, 0, 1, 1, 1, 0, 0): 'u', + (0, 1, 0, 1, 0, 1, 0): 'V', + (0, 1, 0, 0, 1, 1, 1): 'V', + (0, 1, 1, 1, 1, 1, 0): 'V', + (0, 1, 0, 0, 0, 1, 1): 'v', + (0, 1, 0, 1, 0, 1, 1): 'W', + (0, 0, 1, 0, 1, 0, 0): 'x', + (0, 1, 1, 1, 0, 1, 1): 'y', + (1, 1, 0, 1, 1, 0, 0): 'Z', + (1, 1, 0, 0, 0, 1, 0): '^', + (0, 0, 0, 1, 0, 0, 0): '_', } class Decoder(srd.Decoder): -- cgit v1.2.3-70-g09d2