core.signal_mapper 源代码

import os
import json
from logging import getLogger
import yaml

[文档] class SignalMapper:
[文档] def __init__(self, can_json_path, lin_json_path): self.can_json_file = can_json_path self.lin_json_file = lin_json_path self.can_json = {} self.lin_json = {} self.logger = getLogger(__name__) self.get_bus_json() self.get_config()
[文档] def get_config(self): with open(r'config\conf.yaml', 'r', encoding='utf-8') as f: self.config = yaml.safe_load(f)
[文档] def get_bus_json(self): with open(self.can_json_file , 'r', encoding='utf-8') as f: self.can_json = json.load(f) with open(self.lin_json_file, 'r', encoding='utf-8') as f: self.lin_json = json.load(f)
[文档] def get_signal_info(self, signal_name : classmethod): bus_list = list(self.can_json[signal_name.name][signal_name.node].keys()) message_list = [] for bus in bus_list: message_list.append(self.can_json[signal_name.name][signal_name.node][bus]['message_name']) return bus_list, message_list
if __name__ == '__main__': signal_mapper = SignalMapper(r'temp\can_bus.json', r'temp\lin_bus.json') signal_mapper.get_bus_json() signal_mapper.get_config() # source_can, source_message = signal_mapper.get_signal_info(buslib.PwrModSts_FZCU_can) # print(source_can, source_message)