summaryrefslogtreecommitdiff
path: root/bin/generate-dummy-class.py
blob: 9cfa7fb41bdc5a1c614b3fdc35306db6e8b63753 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python3

from dfatool.aspectc import Repo
from dfatool.codegen import MultipassDriver
from dfatool.automata import PTA
import yaml

with open("../multipass/model/driver/nrf24l01.dfa", "r") as f:
    driver_definition = yaml.safe_load(f)
    pta = PTA.from_yaml(driver_definition)
repo = Repo("../multipass/build/repo.acp")

enum = dict()

if "dummygen" in driver_definition and "enum" in driver_definition["dummygen"]:
    enum = driver_definition["dummygen"]["enum"]

drv = MultipassDriver("Nrf24l01", pta, repo.class_by_name["Nrf24l01"], enum=enum)

with open("../multipass/src/driver/dummy.cc", "w") as f:
    f.write(drv.impl)
with open("../multipass/include/driver/dummy.h", "w") as f:
    f.write(drv.header)