[ TAG 132 ][31.08.2021] -Fehlgeschlagen -IAP-20210601-20210722-1145

Nachtrag[01.09.2021][2051]. Es geht um den Fehler im Beitrag [T131].

[Fehlerhafte STAND_BY-Methode]

def FLAG_STATE_STAND_BY(SHM_MKI0=None, set_=None):
global SYSTEM_INDX
global FLAG_STATE_STAND_BY_BIN

flg = FLAG_STATE_INIT_BIN
if set_ is None and SHM_MKI0 is not None:
b = SHM_MKI0.buf[SYSTEM_INDX] & flg
if b == flg: # [Fehler]
return True # [Fehler]
else:
return False # [Fehler]
elif set_ is True and SHM_MKI0 is not None:
SHM_MKI0.buf[SYSTEM_INDX] = SHM_MKI0.buf[SYSTEM_INDX] & ~flg
elif set_ is False and SHM_MKI0 is not None:
SHM_MKI0.buf[SYSTEM_INDX] = SHM_MKI0.buf[SYSTEM_INDX] | flg

Am [30.08.2021] habe ich Kontrollstrukturen zum Setzen des FLAGs überarbeitet. Ich habe den Fehler analysiert und das Ergebnis meiner Fehleranalyse bestand darin, dass der [STAND_BY-Null-Byte] so wie ich mir die Umsetzung vorgestellt habe, nicht umgesetzt werden kann. Es gab keine andere Möglichkeit als den Bit für INIT/STAND_BY auf [1] zu setzen. Letztendlich machte es einfach keinen Sinn einen Byte für STAND_BY-FLAG zu führen.

Den Setzungsmechanismus habe ich richtig umgesetzt. Weil ich jedoch den [FLAG_STATE_INIT_BIN]-Byte benutzte, habe ich vergessen den Auslesemechanismus der Methode zu aktualisieren.

[AUSGABE - Falsch]

mki_glb.FLAG_STATE_STAND_BY(shm_mki0, True)

mki_glb.FLAG_STATE_STAND_BY(shm_mki0): False [Fehler]

shm_mki0.buf[4]: 10000001 [Richtig]


mki_glb.FLAG_STATE_STAND_BY(shm_mki0, False)

mki_glb.FLAG_STATE_STAND_BY(shm_mki0): True [Fehler]

shm_mki0.buf[4]: 10000011 [Richtig]

[Berichtigte - Methode]

def FLAG_STATE_STAND_BY(SHM_MKI0=None, set_=None):
global SYSTEM_INDX
global FLAG_STATE_STAND_BY_BIN

flg = FLAG_STATE_INIT_BIN
if set_ is None and SHM_MKI0 is not None:
b = SHM_MKI0.buf[SYSTEM_INDX] & flg
if b == flg:
return False
else:
return True
elif set_ is True and SHM_MKI0 is not None:
SHM_MKI0.buf[SYSTEM_INDX] = SHM_MKI0.buf[SYSTEM_INDX] & ~flg
elif set_ is False and SHM_MKI0 is not None:
SHM_MKI0.buf[SYSTEM_INDX] = SHM_MKI0.buf[SYSTEM_INDX] | flg

[Richtige - Ausgabe]

mki_glb.FLAG_STATE_STAND_BY(shm_mki0, True)

mki_glb.FLAG_STATE_STAND_BY(shm_mki0): True [Richtig]

shm_mki0.buf[4]: 10000001 [Richtig]


mki_glb.FLAG_STATE_STAND_BY(shm_mki0, False)

mki_glb.FLAG_STATE_STAND_BY(shm_mki0): False [Richtig]

shm_mki0.buf[4]: 10000011 [Richtig]


Ich beende den Nachtrag um [01.09.2021][2123]

Kommentare

Beliebte Posts aus diesem Blog

[ TAG 38 ][29.05.2021] - Erfolgreich - Freelancer-Portale

[ TAG 747 ][07.04.2023] -Erfolgreich -BNKTRS -Google Code -Objekt und Methodenliste

[ TAG 52 ][12.06.2021] - Erfolgreich - IAP-20210601-20210609-2325