Skip to content

Commit 00301ca

Browse files
committed
[modm-devices] Remove use of device.properties
1 parent d8be0a2 commit 00301ca

File tree

23 files changed

+67
-209
lines changed

23 files changed

+67
-209
lines changed

docs/src/how-modm-works.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def prepare(module, options):
5656

5757
def build(env):
5858
device = env[":target"]
59-
env.substitutions = device.properties
59+
env.substitutions = device.get_driver("uart")
6060
env.outbasepath = "src/modm/platform/uart"
6161
for instance in device.get_driver("uart:stm32*")["instance"]:
6262
env.template("uart.hpp.in", "uart_{}.hpp".format(instance))

src/modm/platform/adc/stm32f3/module.lb

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class Instance(Module):
2727
device = env[":target"]
2828
driver = device.get_driver("adc")
2929

30-
properties = device.properties
30+
properties = {}
3131
properties["target"] = target = device.identifier
3232
instance_id = int(self.instance)
3333
properties["id"] = instance_id
@@ -151,12 +151,4 @@ def prepare(module, options):
151151
return True
152152

153153
def build(env):
154-
device = env[":target"]
155-
driver = device.get_driver("adc")
156-
157-
properties = device.properties
158-
properties["target"] = device.identifier
159-
properties["driver"] = driver
160-
161-
env.substitutions = properties
162-
env.outbasepath = "modm/src/modm/platform/adc"
154+
pass

src/modm/platform/can/lpc/module.lb

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,10 @@ def prepare(module, options):
3838

3939
def build(env):
4040
device = env[":target"]
41-
driver = device.get_driver("can")
42-
43-
properties = device.properties
44-
properties["target"] = target = device.identifier
45-
properties["driver"] = driver
46-
47-
env.substitutions = properties
41+
env.substitutions = {
42+
"target": device.identifier,
43+
"driver": device.get_driver("can"),
44+
}
4845
env.outbasepath = "modm/src/modm/platform/can"
4946

5047
env.template("c_can.cpp.in")

src/modm/platform/can/stm32/module.lb

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,17 @@ can_map = {
7676
},
7777
}
7878

79-
def get_substitutions(instance, device, env):
80-
target = device.identifier
81-
driver = device.get_driver("can")
79+
def get_substitutions(env, instance):
80+
target = env["target"].identifier
81+
driver = env["target"].get_driver("can")
8282
instances = map(lambda i: int(i), driver["instance"]) if "instance" in driver else (0,)
8383

84-
cm = can_map[target["family"]]
84+
cm = can_map[target.family]
8585
is_single = (cm[instance].type == CanType.Single) or (cm[instance].associated_instance not in instances)
8686
other = cm[instance].associated_instance
8787

8888
subs = {
89+
"target": target,
8990
"id": "" if instance == 0 else str(instance),
9091
"own_instance": cm[instance].register,
9192
"other_instance": cm[other].register if other in cm else None,
@@ -109,15 +110,7 @@ class Instance(Module):
109110
return True
110111

111112
def build(self, env):
112-
device = env[":target"]
113-
driver = device.get_driver("can")
114-
115-
properties = device.properties
116-
properties["target"] = target = device.identifier
117-
properties["driver"] = driver
118-
properties.update(get_substitutions(self.instance, device, env))
119-
120-
env.substitutions = properties
113+
env.substitutions = get_substitutions(env, self.instance)
121114
env.outbasepath = "modm/src/modm/platform/can"
122115

123116
env.template("can.hpp.in", "can_{}.hpp".format(self.instance))
@@ -159,22 +152,13 @@ def prepare(module, options):
159152
return True
160153

161154
def build(env):
162-
device = env[":target"]
163-
driver = device.get_driver("can")
164-
165-
properties = device.properties
166-
properties["target"] = device.identifier
167-
properties["driver"] = driver
168-
169-
if "instance" not in driver:
170-
properties.update(get_substitutions(0, device, env))
171-
172-
env.substitutions = properties
155+
env.substitutions = {"target": env[":target"].identifier}
173156
env.outbasepath = "modm/src/modm/platform/can"
174157

175158
env.template("can_filter.hpp.in")
176159
env.template("can_filter.cpp.in")
177160

178161
if "instance" not in driver:
162+
env.substitutions = get_substitutions(env, 0)
179163
env.template("can.hpp.in")
180164
env.template("can.cpp.in")

src/modm/platform/clock/lpc/module.lb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def build(env):
2525
device = env[":target"]
2626
driver = device.get_driver("clock")
2727

28-
properties = device.properties
28+
properties = {}
2929
properties["target"] = target = device.identifier
3030
properties["driver"] = driver
3131

src/modm/platform/comp/stm32/module.lb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class Instance(Module):
2626
device = env[":target"]
2727
driver = device.get_driver("comp")
2828

29-
properties = device.properties
29+
properties = {}
3030
properties["target"] = device.identifier
3131
instance_id = int(self.instance)
3232
properties["id"] = instance_id
@@ -50,8 +50,6 @@ class Instance(Module):
5050
properties["blanking_source"]["b010"] = "Tim2Oc3"
5151
properties["blanking_source"]["b011"] = "Tim3Oc3"
5252

53-
54-
5553
env.substitutions = properties
5654
env.outbasepath = "modm/src/modm/platform/comp"
5755

@@ -109,7 +107,7 @@ def build(env):
109107
device = env[":target"]
110108
driver = device.get_driver("comp")
111109

112-
properties = device.properties
110+
properties = {}
113111
properties["target"] = device.identifier
114112
properties["driver"] = driver
115113
properties["csr"] = "COMP_CSR_" if device.identifier["family"] in ["l4", "g4"] else "COMP_CSR_COMPx"

src/modm/platform/dma/stm32/module.lb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def prepare(module, options):
3434
def build(env):
3535
device = env[":target"]
3636

37-
properties = device.properties
37+
properties = {}
3838
properties["target"] = device.identifier
3939
dma = device.get_driver("dma")
4040
properties["dma"] = dma
@@ -60,7 +60,6 @@ def build(env):
6060

6161
env.substitutions = properties
6262
env.outbasepath = "modm/src/modm/platform/dma"
63-
6463
env.template("dma_base.hpp.in")
6564
env.template("dma_hal.hpp.in")
6665
env.template("dma_hal_impl.hpp.in")

src/modm/platform/gpio/lpc/module.lb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def build(env):
2525
device = env[":target"]
2626
driver = device.get_driver("gpio")
2727

28-
properties = device.properties
28+
properties = {}
2929
properties["target"] = target = device.identifier
3030
properties["driver"] = driver
3131

src/modm/platform/i2c/at90_tiny_mega/module.lb

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,7 @@ def prepare(module, options):
3232
return True
3333

3434
def build(env):
35-
device = env[":target"]
36-
driver = device.get_driver("i2c")
37-
38-
properties = device.properties
39-
properties["target"] = device.identifier
40-
properties["driver"] = driver
41-
42-
env.substitutions = properties
4335
env.outbasepath = "modm/src/modm/platform/i2c"
44-
4536
env.template("i2c.hpp.in")
4637
env.template("i2c_master.hpp.in")
4738
env.template("i2c_master.cpp.in")

src/modm/platform/i2c/stm32-extended/module.lb

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,10 @@ class Instance(Module):
3131
return True
3232

3333
def build(self, env):
34-
device = env[":target"]
35-
driver = device.get_driver("i2c")
36-
37-
properties = device.properties
38-
properties["target"] = target = device.identifier
39-
properties["id"] = self.instance
40-
properties["shared_interrupt"] = "0" in target.family
41-
42-
env.substitutions = properties
34+
env.substitutions = {
35+
"shared_interrupt": "0" in env[":target"].identifier.family,
36+
"id": self.instance,
37+
}
4338
env.outbasepath = "modm/src/modm/platform/i2c"
4439

4540
env.template("i2c_master.cpp.in", "i2c_master_{}.cpp".format(self.instance))

0 commit comments

Comments
 (0)