def add_request(self, _id, _service, _subcommand, _data):
        if _id not in self.sessions:
            self.start_session(_id)
            self.sessions[_id][_service] = {
                'sub': _subcommand,
                'data': _data,
                'response': {
                    'id': None, 'sub': None, 'data': None, 'error': None
                },
                'status': 0
            }
            if not _subcommand:
                _subcommand = []
            else:
                _subcommand = [_subcommand]
            byte_data = [_service] + _subcommand + _data
            return ISOTPMessage.generate_can(_id, byte_data)
dataset/ETHPy150Open eik00d/CANToolz/libs/uds.py/UDSMessage.add_request/original