From b2164b43b65ea3245eb38b1583798bae76bb73d1 Mon Sep 17 00:00:00 2001 From: minssen_pie <pierre.minssen@supelec.fr> Date: Mon, 10 Dec 2018 10:34:51 +0100 Subject: [PATCH] commentaire de code --- viscaoveriplib/controleur.py | 33 ++++++++++++++++------ viscaoveriplib/inquiry_responds_library.py | 4 ++- viscaoveriplib/responds_messages.py | 4 +-- 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/viscaoveriplib/controleur.py b/viscaoveriplib/controleur.py index 8df431f..31b66f1 100644 --- a/viscaoveriplib/controleur.py +++ b/viscaoveriplib/controleur.py @@ -3,25 +3,42 @@ from viscaoveriplib.listener import Listener import viscaoveriplib.inquiry_responds_library as inq_resp import viscaoveriplib.responds_messages as default_resp + class Controller: def __init__(self, c: Camera, l: Listener): self.camera = c self.listener = l - def decompose_reception(self): - reception = self.listener.message + @staticmethod + def decompose_reception(reception: str): + """ + decomposes the hex received messaged + + :param reception: str hex eg '01110003000085029051ff' + :return: list of str hex [payload_type, payload_length, sequence_number, payload] eg ['0111', '0003', '00008502', '9051ff'] + """ payload_type = reception[0:4] payload_length = reception[4:8] sequence_number = reception[8:16] payload = reception[16:] return [payload_type, payload_length, sequence_number, payload] - def payload2meaning(self, payload: str, comandetype="default"): - #TODO - if comandetype in inq_resp.inq_list: - return inq_resp.inq_list.get(comandetype).get(payload) - + @staticmethod + def payload2meaning(payload: str, command_type="default"): + """ + Reveal the meaning of the visca respond + :param payload: payload recieved in str hex eg '9051ff' + :param command_type: type of command, the respond's meaning depends on the inquiry/command + :return: the meaning in str + """ + meaning = "Not known" + if command_type in inq_resp.inq_list: + # if payload is not in the dictionary meaning = None + meaning = inq_resp.inq_list.get(command_type).get(payload) else: - return default_resp.liste_respond.get(payload) + meaning = default_resp.liste_respond.get(payload) + if meaning is None: + meaning = "Respond not understood" + return meaning diff --git a/viscaoveriplib/inquiry_responds_library.py b/viscaoveriplib/inquiry_responds_library.py index 53899cc..2f61d73 100644 --- a/viscaoveriplib/inquiry_responds_library.py +++ b/viscaoveriplib/inquiry_responds_library.py @@ -1,4 +1,6 @@ -# liste de dico non exaustif +""" +Dictionary of responds depending on the inquiry command +""" respond = {'y05002FF': "On", 'y05003FF': "Off", "y05000FF": "auto/standard"} diff --git a/viscaoveriplib/responds_messages.py b/viscaoveriplib/responds_messages.py index a0a6626..f734198 100644 --- a/viscaoveriplib/responds_messages.py +++ b/viscaoveriplib/responds_messages.py @@ -1,3 +1,3 @@ -liste_respond = {'904yff': "Ackknowledge", '905yff': "Completion", "006002ff": "Syntax Error", - "906003ff": "Command Buffer Full", "906y04ff": "Command Conceled", "906y05ff": "No Socket", +liste_respond = {'904yff': "Acknowledge", '905yff': "Completion", "006002ff": "Syntax Error", + "906003ff": "Command Buffer Full", "906y04ff": "Command Canceled", "906y05ff": "No Socket", "906y41ff": "Command Not Executable"} -- GitLab