def testConstructor(self): fr_def = canframe_definition.CanFrameDefinition(1, 'testframedef', 3) self.assertEqual(fr_def.frame_id, 1) self.assertEqual(fr_def.dlc, 3) self.assertEqual(fr_def.name, 'testframedef') self.assertEqual(fr_def.cycletime, None) self.assertEqual(fr_def.frame_format, 'standard')
def testConstructorNamedArguments(self): fr_def = canframe_definition.CanFrameDefinition(frame_id=1, name='testframedef', dlc=3, cycletime=28) self.assertEqual(fr_def.frame_id, 1) self.assertEqual(fr_def.dlc, 3) self.assertEqual(fr_def.name, 'testframedef') self.assertEqual(fr_def.cycletime, 28) self.assertEqual(fr_def.frame_format, 'standard')
def testConstructorCycletimeNone(self): fr_def = canframe_definition.CanFrameDefinition(0x1FFFFFFF, 'testframedef', 3, None, frame_format='extended') self.assertEqual(fr_def.frame_id, 0x1FFFFFFF) self.assertEqual(fr_def.dlc, 3) self.assertEqual(fr_def.name, 'testframedef') self.assertEqual(fr_def.cycletime, None) self.assertEqual(fr_def.frame_format, 'extended')
def testReprNoSignals(self): fr_def = canframe_definition.CanFrameDefinition(1, 'testframedef') result = repr(fr_def) known_result = "CAN frame definition. ID=1 (0x001, standard) 'testframedef', DLC=8, " + \ "cycletime None ms, producers: [], no throttling, contains 0 signals" self.assertEqual(result.strip(), known_result.strip())
def setUp(self): self.frame_def = canframe_definition.CanFrameDefinition( 1, 'testframedef') self.frame_def.producer_ids = set(["9"]) sig1 = cansignal.CanSignalDefinition( 'testsignal', 56, 1) # Least significant bit in last byte self.frame_def.signaldefinitions.append(sig1)
def testReprThrottling(self): fr_def = canframe_definition.CanFrameDefinition(123) fr_def.throttle_time = 30 # ms result = repr(fr_def) known_result = "CAN frame definition. ID=123 (0x07B, standard) '', DLC=8, " + \ "cycletime None ms, producers: [], throttling 30 ms, contains 0 signals" self.assertEqual(result.strip(), known_result.strip())
def testWriteKcdFileNoProducerGiven(self): with contextlib.suppress(FileNotFoundError): os.remove(self.OUTPUT_FILENAME_10) config = configuration.Configuration() fr_def = canframe_definition.CanFrameDefinition(1, 'testframedef10') config.add_framedefinition(fr_def) filehandler_kcd.FilehandlerKcd.write(config, self.OUTPUT_FILENAME_10)
def testWriteKcdFileNoProducerGiven(self): try: os.remove(self.OUTPUT_FILENAME_10) except FileNotFoundError: pass config = configuration.Configuration() fr_def = canframe_definition.CanFrameDefinition(1, 'testframedef10') config.add_framedefinition(fr_def) filehandler_kcd.FilehandlerKcd.write(config, self.OUTPUT_FILENAME_10)
def setUp(self): self.frame = canframe.CanFrame(1, b'\x00\x02\x00\x08\x00\x00\x00\xff') self.testsig1 = cansignal.CanSignalDefinition( 'testsignal1', 56, 1) # Least significant bit in last byte self.testsig2 = cansignal.CanSignalDefinition( 'testsignal2', 8, 16, endianness='big') # Two leftmost bytes self.testsig3 = cansignal.CanSignalDefinition( 'testsignal3', 24, 16, endianness='little', maxvalue=1200) # Two center bytes self.testsig4 = cansignal.CanSignalDefinition( 'testsignal4', 48, 8, signaltype='signed') # Second last byte self.frame_def = canframe_definition.CanFrameDefinition( 1, 'testmessage') self.frame_def.signaldefinitions.append(self.testsig1) self.frame_def.signaldefinitions.append(self.testsig2) self.frame_def.signaldefinitions.append(self.testsig3) self.frame_def.signaldefinitions.append(self.testsig4)
def testConstructor(self): config = configuration.Configuration() self.assertEqual(config.framedefinitions, {}) self.assertEqual(config.busname, None) config = configuration.Configuration(None, "ABC") self.assertEqual(config.framedefinitions, {}) self.assertEqual(config.busname, "ABC") config = configuration.Configuration(None, "ABC", ["1", "2", "3"]) self.assertEqual(config.framedefinitions, {}) self.assertEqual(config.busname, "ABC") self.assertEqual(config.ego_node_ids, set(["1", "2", "3"])) fr_def = canframe_definition.CanFrameDefinition(1, 'testframedef') sig1 = cansignal.CanSignalDefinition('testsignal', 56, 1) # Least significant bit in last byte fr_def.signaldefinitions.append(sig1) config = configuration.Configuration({1:fr_def}, "DEF") self.assertEqual(config.framedefinitions[1], fr_def) self.assertEqual(config.busname, "DEF")
def testAddFramedefinition(self): config = configuration.Configuration() fr_def = canframe_definition.CanFrameDefinition(1, 'testframedef') config.add_framedefinition(fr_def) self.assertEqual(config.framedefinitions[1], fr_def) self.assertEqual(config.busname, None)
assert sys.version_info >= (3, 3, 0), "Python version 3.3 or later required!" from can4python import canframe_definition from can4python import cansignal from can4python import configuration from can4python import exceptions FRAME_ID_SEND = 7 FRAME_ID_RECEIVE = 12 NON_EXISTING_FRAME_ID = 99 testsig1 = cansignal.CanSignalDefinition('testsignal1', 56, 1) # Least significant bit in last byte testsig2 = cansignal.CanSignalDefinition('testsignal2', 8, 16, endianness='big') # Two leftmost bytes testsig3 = cansignal.CanSignalDefinition('testsignal3', 24, 16, endianness='little') # Two center bytes testsig4 = cansignal.CanSignalDefinition('testsignal4', 59, 4, endianness='big', signaltype='signed') fr_def1 = canframe_definition.CanFrameDefinition(FRAME_ID_SEND, 'testframedef_send') fr_def1.producer_ids = ["1"] fr_def1.signaldefinitions.append(testsig1) fr_def1.signaldefinitions.append(testsig2) fr_def1.signaldefinitions.append(testsig3) fr_def1.signaldefinitions.append(testsig4) testsig11 = cansignal.CanSignalDefinition('testsignal11', 56, 1) # Least significant bit in last byte testsig12 = cansignal.CanSignalDefinition('testsignal12', 8, 16, endianness='big') # Two leftmost bytes testsig13 = cansignal.CanSignalDefinition('testsignal13', 24, 16, endianness='little') # Two center bytes testsig14 = cansignal.CanSignalDefinition('testsignal14', 59, 4, endianness='big', signaltype='signed') fr_def2 = canframe_definition.CanFrameDefinition(FRAME_ID_RECEIVE, 'testframedef_receive') fr_def2.producer_ids = ["77"] fr_def2.signaldefinitions.append(testsig11) fr_def2.signaldefinitions.append(testsig12) fr_def2.signaldefinitions.append(testsig13) fr_def2.signaldefinitions.append(testsig14)
def __init__(self): print("Distance for both sensors:", distance) self.bus = BCM('can0', timeout=5.0) print("Bus created") #byte position 1 & bit position 4 --> startbit=10 & signal size 3 self.signals = [ cansignal.CanSignalDefinition('ParkAssitVolumeState', 48, 3), cansignal.CanSignalDefinition('SensorAvailabilityFrontCenter', 34, 1), cansignal.CanSignalDefinition('SensorAvailabilityFrontleft', 33, 1), cansignal.CanSignalDefinition('SensorAvailabilityFrontRight', 41, 1), cansignal.CanSignalDefinition('SensorAvailabilityRearCenter', 55, 1), cansignal.CanSignalDefinition('SensorAvailabilityRearLeft', 54, 1), cansignal.CanSignalDefinition('SensorAvailabilityRearRight', 53, 1), cansignal.CanSignalDefinition('SonarObstacleDistanceDisplay', 44, 4), cansignal.CanSignalDefinition('UPA_ClosingAuthorization', 58, 1), cansignal.CanSignalDefinition('UPA_Image_DisplayRequest', 17, 2), cansignal.CanSignalDefinition('UPA_Obstacle_Zone_Front_Center', 31, 3), cansignal.CanSignalDefinition('UPA_Obstacle_zone_front_left', 15, 3), cansignal.CanSignalDefinition('UPA_Obstacle_zone_front_Right', 12, 3), cansignal.CanSignalDefinition('UPA_Obstacle_zone_Rear_Center', 29, 3), cansignal.CanSignalDefinition('UPA_Obstacle_zone_Rear_Left', 23, 3), cansignal.CanSignalDefinition('UPA_Obstacle_zone_Rear_Right', 20, 3), cansignal.CanSignalDefinition('UPA_SoundActivationBeep ', 24, 1), cansignal.CanSignalDefinition('UPA_SoundErrorBeep', 25, 1), cansignal.CanSignalDefinition('UPA_SoundObstacleZone', 34, 3), cansignal.CanSignalDefinition('UPA_SoundReccurencePeriod', 1, 7), cansignal.CanSignalDefinition('UPA_SoundReccurenceType', 0, 1), cansignal.CanSignalDefinition('UPA_SystemState', 9, 2), cansignal.CanSignalDefinition('UPAStatusDisplayRequest', 39, 3) ] #byte position 1 & bit position 7 --> startbit=13 & signal size 3 #self.signals[1] = cansignal.CanSignalDefinition('UPA_Obstacle_zone_front_left', 13, 3) #ajout des signaux sur la trame global self.frame_def = canframe_definition.CanFrameDefinition(1, 'sonarA4') self.frame_def.signaldefinitions.append(self.signals[0]) self.frame_def.signaldefinitions.append(self.signals[1]) self.frame_def.signaldefinitions.append(self.signals[2]) self.frame_def.signaldefinitions.append(self.signals[3]) self.frame_def.signaldefinitions.append(self.signals[4]) self.frame_def.signaldefinitions.append(self.signals[5]) self.frame_def.signaldefinitions.append(self.signals[6]) self.frame_def.signaldefinitions.append(self.signals[7]) self.frame_def.signaldefinitions.append(self.signals[2]) self.frame_def.signaldefinitions.append(self.signals[9]) self.frame_def.signaldefinitions.append(self.signals[10]) self.frame_def.signaldefinitions.append(self.signals[11]) self.frame_def.signaldefinitions.append(self.signals[12]) self.frame_def.signaldefinitions.append(self.signals[13]) self.frame_def.signaldefinitions.append(self.signals[14]) self.frame_def.signaldefinitions.append(self.signals[15]) self.frame_def.signaldefinitions.append(self.signals[16]) self.frame_def.signaldefinitions.append(self.signals[17]) self.frame_def.signaldefinitions.append(self.signals[18]) self.frame_def.signaldefinitions.append(self.signals[19]) self.frame_def.signaldefinitions.append(self.signals[20]) self.frame = CanFrame(0x53D, frame_data=[0, 0, 0, 0, 0, 0, 0, 0], frame_format='standard') print("Frame created") self.th1 = threading.Thread(target=self.sensor_reader, args=(triggers[SENSOR_2_ID], echos[SENSOR_2_ID], SENSOR_2_ID))