diff --git a/CANLibrary/CanSignal.py b/CANLibrary/CanSignal.py index 0107a1e..6af2574 100644 --- a/CANLibrary/CanSignal.py +++ b/CANLibrary/CanSignal.py @@ -14,12 +14,8 @@ class CanSignal(object): A Signal has a Begin, a Length and Data. The Label is a textual tag that identifies the Signal to a human. ''' - Begin = 0; - Length = 0; - Data = []; - Label = '' - def __init__(self, SignalBegin, SignalLength, SignalData, SignalLabel): + def __init__(self, SignalBegin, SignalLength, SignalOffset, SignalScaling, SignalData, SignalLabel): ''' Constructor. @param SignalBegin: At which bit does the Signal begin in a CAN message? @@ -28,15 +24,16 @@ class CanSignal(object): ''' self.Begin = SignalBegin self.Length = SignalLength + self.Offset = SignalOffset + self.Scaling = SignalScaling + self.Label = SignalLabel + self.Data = [] - for i in range(0, int(SignalLength/8)+1): - self.Data.append ( (SignalData >> 8) & 0xff ) - - #self.Data = SignalData + self.SetData(SignalData) + - - def SetData(self, Data): + def SetData(self, SignalData): ''' Updated the data of the Signal. The data is given to the Signal as full bytes, but only the bits up to Length may be used! @@ -44,4 +41,6 @@ class CanSignal(object): ''' #if not (len(Data) == self.Length): # sys.exit('Data has invalid length') - self.Data = Data \ No newline at end of file + tmpData = int((SignalData+self.Offset)*self.Scaling) + for i in range(0, int(self.Length/8)+1): + self.Data.append ( (tmpData >> 8) & 0xff ) \ No newline at end of file diff --git a/CANLibrary/CanSignal.pyc b/CANLibrary/CanSignal.pyc index b05993c..90bfd0f 100644 Binary files a/CANLibrary/CanSignal.pyc and b/CANLibrary/CanSignal.pyc differ diff --git a/CANLibrary/PCan.py b/CANLibrary/PCan.py index 322a423..9e259cd 100644 --- a/CANLibrary/PCan.py +++ b/CANLibrary/PCan.py @@ -62,4 +62,4 @@ class PcanAdapter (object): msg.DATA[0:len(Message.Data)] = Message.Data self.Pcan.Write(self.Channel, msg) - #print ('Message ' + Message.Label + ' written.\n') \ No newline at end of file + #print ('Message ' + Message.Label + ' written.') \ No newline at end of file diff --git a/CANLibrary/PCan.pyc b/CANLibrary/PCan.pyc index 4dbe897..22d961f 100644 Binary files a/CANLibrary/PCan.pyc and b/CANLibrary/PCan.pyc differ