def generate_source(self, cfg: DriverConfig) -> None: # --------------------------------------------------------- # File header # --------------------------------------------------------- filename = "hld_{}_chimera.cpp".format(cfg.driver_name.lower()) desc = "Implementation of Chimera {} driver hooks".format( cfg.driver_name.upper()) header = FileDescription().format(filename=filename, description=desc, date=cfg.year, author=cfg.author, email=cfg.email) # --------------------------------------------------------- # Body # --------------------------------------------------------- body = self._get_source() body = body.format(driver_name_upper=cfg.driver_name.upper(), driver_name_lower=cfg.driver_name.lower()) # --------------------------------------------------------- # Write to file # --------------------------------------------------------- output = Path(cfg.output_dir, relative_output_path, cfg.driver_name.lower(), filename) output.parent.mkdir(parents=True, exist_ok=True) with output.open('w') as f: f.write(header) f.write(body)
def generate(self, cfg: DriverConfig) -> None: # --------------------------------------------------------- # File header # --------------------------------------------------------- filename = "{}_detail.hpp".format(cfg.driver_name.lower()) desc = "Includes the LLD specific headers for chip implementation details" header = FileDescription().format(filename=filename, description=desc, date=cfg.year, author=cfg.author, email=cfg.email) # --------------------------------------------------------- # Body # --------------------------------------------------------- body = self._get_header() body = body.format(driver_name_upper=cfg.driver_name.upper(), driver_name_lower=cfg.driver_name.lower()) # --------------------------------------------------------- # Write to file # --------------------------------------------------------- output = Path(cfg.output_dir, relative_output_path, cfg.driver_name.lower(), filename) output.parent.mkdir(parents=True, exist_ok=True) with output.open('w') as f: f.write(header) f.write(body)
def generate_source(self, cfg: DriverConfig) -> None: # --------------------------------------------------------- # File header # --------------------------------------------------------- filename = "{}_intf.cpp".format(cfg.driver_name.lower()) desc = "LLD interface functions that are processor independent" header = FileDescription().format(filename=filename, description=desc, date=cfg.year, author=cfg.author, email=cfg.email) # --------------------------------------------------------- # Body # --------------------------------------------------------- body = self._get_source() body = body.format(driver_name_upper=cfg.driver_name.upper(), driver_name_lower=cfg.driver_name.lower()) # --------------------------------------------------------- # Write to file # --------------------------------------------------------- output = Path(cfg.output_dir, relative_output_path, cfg.driver_name.lower(), filename) output.parent.mkdir(parents=True, exist_ok=True) with output.open('w') as f: f.write(header) f.write(body)
def generate(self, cfg: DriverConfig) -> None: # --------------------------------------------------------- # File header # --------------------------------------------------------- filename = "{}_prv_data.hpp".format(cfg.driver_name.lower()) desc = "Declaration of data that must be defined by the LLD implementation or is\n"\ "* shared among all possible drivers.".format(cfg.driver_name.upper()) header = FileDescription().format(filename=filename, description=desc, date=cfg.year, author=cfg.author, email=cfg.email) # --------------------------------------------------------- # Body # --------------------------------------------------------- body = self._get_header() body = body.format(driver_name_upper=cfg.driver_name.upper(), driver_name_lower=cfg.driver_name.lower()) # --------------------------------------------------------- # Write to file # --------------------------------------------------------- output = Path(cfg.output_dir, relative_output_path, cfg.driver_name.lower(), filename) output.parent.mkdir(parents=True, exist_ok=True) with output.open('w') as f: f.write(header) f.write(body)
def generate(self, cfg: DriverConfig): # --------------------------------------------------------- # File header # --------------------------------------------------------- filename = "{}_user.hpp".format(cfg.driver_name.lower()) desc = "Implements an interface to create a Chimera {} peripheral".format( cfg.driver_name.upper()) header = FileDescription().format(filename=filename, description=desc, date=cfg.year, author=cfg.author, email=cfg.email) # --------------------------------------------------------- # Body # --------------------------------------------------------- body = self._body_string() body = body.format(driver_name_upper=cfg.driver_name.upper(), driver_name_lower=cfg.driver_name.lower()) # --------------------------------------------------------- # Write to file # --------------------------------------------------------- output = Path(cfg.output_dir, relative_output_path, cfg.driver_name.lower(), filename) output.parent.mkdir(parents=True, exist_ok=True) with output.open('w') as f: f.write(header) f.write(body)
def generate_device_header(self, cfg: DriverConfig) -> None: view = ChipNameView(cfg.target_device) # --------------------------------------------------------- # File header # --------------------------------------------------------- filename = "hw_{}_register_stm32{}.hpp".format( cfg.driver_name.lower(), view.abbreviated.lower()) desc = "{} register definitions for the STM32{} series chips.".format( cfg.driver_name.upper(), view.abbreviated.upper()) header = FileDescription().format(filename=filename, description=desc, date=cfg.year, author=cfg.author, email=cfg.email) # --------------------------------------------------------- # Body # --------------------------------------------------------- body = self._get_device_header() body = body.format(driver_name_upper=cfg.driver_name.upper(), abbreviated_upper=view.abbreviated.upper()) # --------------------------------------------------------- # Write to file # --------------------------------------------------------- output = Path(cfg.output_dir, relative_output_path(cfg), cfg.driver_name.lower(), 'variant', filename) output.parent.mkdir(parents=True, exist_ok=True) with output.open('w') as f: f.write(header) f.write(body)
def generate_header(self, cfg: DriverConfig) -> None: # --------------------------------------------------------- # File header # --------------------------------------------------------- filename = "hw_{}_types.hpp".format(cfg.driver_name.lower()) desc = "LLD types for the {} Peripheral".format( cfg.driver_name.upper()) header = FileDescription().format(filename=filename, description=desc, date=cfg.year, author=cfg.author, email=cfg.email) # --------------------------------------------------------- # Body # --------------------------------------------------------- view = ChipNameView(cfg.target_device) body = self._get_header() body = body.format(driver_name_upper=cfg.driver_name.upper(), driver_name_lower=cfg.driver_name.lower(), family_lower=view.family.lower()) # --------------------------------------------------------- # Write to file # --------------------------------------------------------- output = Path(cfg.output_dir, relative_output_path(cfg), cfg.driver_name.lower(), filename) output.parent.mkdir(parents=True, exist_ok=True) with output.open('w') as f: f.write(header) f.write(body)
def generate_header(self, cfg: DriverConfig) -> None: # --------------------------------------------------------- # File header # --------------------------------------------------------- filename = "hw_{}_prj.hpp".format(cfg.driver_name.lower()) desc = "Pulls in target specific definitions and resources used in the actual driver" header = FileDescription().format(filename=filename, description=desc, date=cfg.year, author=cfg.author, email=cfg.email) # --------------------------------------------------------- # Body # --------------------------------------------------------- view = ChipNameView(cfg.target_device) body = self._get_header() body = body.format(driver_name_upper=cfg.driver_name.upper(), driver_name_lower=cfg.driver_name.lower(), family_upper=view.family.upper(), family_lower=view.family.lower(), abbreviated_lower=view.abbreviated.lower(), chip_upper=view.chip.upper()) # --------------------------------------------------------- # Write to file # --------------------------------------------------------- output = Path(cfg.output_dir, relative_output_path(cfg), cfg.driver_name.lower(), filename) output.parent.mkdir(parents=True, exist_ok=True) with output.open('w') as f: f.write(header) f.write(body)