Re: Konstanten in Struct-Form in Python

Peter Otten <__peter__-S0/[email protected]>
Newsgroups gmane.comp.python.general.german
Message-ID <[email protected]>
On 19/02/2021 15:27, Michael S. wrote:
> Hallo Leute,
> Ich möchte ein Python Toolset schreiben, mit dem ich sehr einfach auf 
> Signale in CAN-Botschaften zugreifen kann, die als CAN-Trace vorliegen. 
> Das parsen des Traces läuft. Nun möchte ich aber die ganzen Infos zu den 
> CAN-Signalen in einem "Include"-File möglichst einfach zugänglich machen.
> Daran scheitere ich.
> 
> 
> Tatsächlich gibt es zu jeder CAN-Botschaft mehrere Eigenschaften. Ich 
> hatte das erstmal so codiert:
> 
> class CAN_AC_Voltage:
>    def __init__(self):
>      self.ID = 16FC8B11
>      self.BitOffset = 48
>      self.BitLength = 8
>      self.Gain = 1
>      self.ValueOffset = 0
>      self.Unit = "V"
>      self.Rate = 0.5
> 
> 
> Dann könnte ich so zugreifen:
> CAN_ACV = CAN_AC_Voltage()
> 
> ID   = CAN_ACV.ID
> Unit = CAN_ACV.Unit
> 
> Was mich dran nervt ist, dass jede einzelne CAN-Botschaft eine eigene 
> Klasse ist und ich die im Code erstmal instanzieren muss, bevor ich sie 
> nutzen kann. Das muss doch auch einfacher gehen.


from types import SimpleNamespace

CAN_AC_Voltage = SimpleNamespace(
     ID=16FC8B11
     BitOffset=48
     BitLength=8,
     ...
)

_______________________________________________
python-de maillist  -  [email protected]
https://mail.python.org/mailman/listinfo/python-de
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.