Exemplo n.º 1
0
 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')
Exemplo n.º 2
0
 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')
Exemplo n.º 3
0
 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')
Exemplo n.º 4
0
 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())
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
 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())
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
    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)
Exemplo n.º 10
0
    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")
Exemplo n.º 11
0
 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)
Exemplo n.º 12
0
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)
Exemplo n.º 13
0
    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))