def test_ParameterPitch(self): p = canfix.Parameter() p.node = 0x02 p.name = "Pitch Angle" p.value = -1.02 msg = p.msg self.assertEqual(msg.arbitration_id, 0x180) self.assertEqual(msg.data, bytearray([0x02, 0x00, 0x00, 0x9a, 0xff])) self.assertEqual(msg.dlc, 5)
def test_ParameterDate(self): p = canfix.Parameter() p.node = 0x02 p.name = "Date" p.value = [1970, 7, 27] msg = p.msg self.assertEqual(msg.arbitration_id, 0x581) self.assertEqual(msg.data, bytearray([0x02, 0x00, 0x00, 0xB2, 0x07, 7, 27])) self.assertEqual(msg.dlc, 7)
def test_ParameterTime(self): p = canfix.Parameter() p.node = 0x02 p.name = "Time" p.value = [13, 14, 15, 556] msg = p.msg self.assertEqual(msg.arbitration_id, 0x580) self.assertEqual(msg.data, bytearray([0x02, 0x00, 0x00, 13, 14, 15, 0x2C, 0x02])) self.assertEqual(msg.dlc, 8)
def test_ParameterLongitude(self): p = canfix.Parameter() p.node = 0x02 p.name = "Aircraft Position Longitude" p.value = -115.324 msg = p.msg self.assertEqual(msg.arbitration_id, 0x1C4) self.assertEqual(msg.data, bytearray([0x02, 0x00, 0x00, 0xE3, 0xA5, 0xE6, 0xC2])) self.assertEqual(msg.dlc, 7)
def test_ParameterIDsToNames(self): p = canfix.Parameter() p.identifier = 0x183 self.assertEqual(p.name, "Indicated Airspeed") p.identifier = 0x40B self.assertEqual(p.name, "Wind Direction") p.identifier = 0x38B self.assertEqual(p.name, "Fuel Pump Status #1") p.identifier = 0x281 self.assertEqual(p.name, "Cabin Altitude") p.identifier = 0x103 self.assertEqual(p.name, "Trim Switches #2")
def test_ParameterAircraftIdentifier(self): p = canfix.Parameter() p.node = 0x02 p.name = "Aircraft Identifier" p.value = '727WB' msg = p.msg self.assertEqual(msg.arbitration_id, 0x587) self.assertEqual( msg.data, bytearray([0x02, 0x00, 0x00, 0x37, 0x32, 0x37, 0x57, 0x42])) self.assertEqual(msg.dlc, 8)
def test_ParameterMetaData(self): p = canfix.Parameter() p.identifier = 0x200 p.node = 2 p.meta = "Low Warn" p.value = 1700 msg = p.msg self.assertEqual(msg.data, bytearray([0x02, 0x00, 0x40, 0xA4, 0x06])) self.assertEqual(msg.dlc, 5) p.meta = "Min" msg = p.msg self.assertEqual(msg.data, bytearray([0x02, 0x00, 0x10, 0xA4, 0x06])) self.assertEqual(msg.dlc, 5)
def listen(conn, msg_count, raw): count = 0 while True: try: msg = conn.recv(1.0) if msg: #print(str(msg) + canfix.parameters[msg.arbitration_id].name) x = canfix.parseMessage(msg) if raw: print(str(msg)) else: print(canfix.Parameter(msg)) count+=1 if msg_count != 0: if count > msg_count: break except KeyboardInterrupt: break except: print(str(msg))
def test_ParameterFlags(self): p = canfix.Parameter() p.node = 5 p.identifier = 0x220 p.value = 75.6 p.annunciate = True p.quality = False p.failure = False msg = p.msg self.assertEqual(msg.data, bytearray([0x05, 0x00, 0x01, 0x88, 0x1D])) self.assertEqual(msg.dlc, 5) p.annunciate = True p.quality = False p.failure = False msg = p.msg self.assertEqual(msg.data, bytearray([0x05, 0x00, 0x01, 0x88, 0x1D])) self.assertEqual(msg.dlc, 5) p.annunciate = False p.quality = True p.failure = False msg = p.msg self.assertEqual(msg.data, bytearray([0x05, 0x00, 0x02, 0x88, 0x1D])) self.assertEqual(msg.dlc, 5) p.annunciate = False p.quality = False p.failure = True msg = p.msg self.assertEqual(msg.data, bytearray([0x05, 0x00, 0x04, 0x88, 0x1D])) self.assertEqual(msg.dlc, 5) p.annunciate = True p.quality = False p.failure = True msg = p.msg self.assertEqual(msg.data, bytearray([0x05, 0x00, 0x05, 0x88, 0x1D])) self.assertEqual(msg.dlc, 5)
def addParameter(self, name, func): p = canfix.Parameter() p.node = self.node p.name = name self.parameters.append((p, func)) return p