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))

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

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,10 @@ class Instance(Module):
3232
return True
3333

3434
def build(self, env):
35-
device = env[":target"]
36-
driver = device.get_driver("i2c")
37-
38-
properties = device.properties
39-
properties["target"] = target = device.identifier
40-
properties["id"] = self.instance
41-
42-
env.substitutions = properties
35+
env.substitutions = {
36+
"target": env[":target"].identifier,
37+
"id": self.instance
38+
}
4339
env.outbasepath = "modm/src/modm/platform/i2c"
4440

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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
def get_properties(env):
1515
device = env[":target"]
1616
driver = device.get_driver("i2c:xmega")
17-
properties = device.properties
17+
properties = {}
1818
properties["target"] = device.identifier
1919
properties["driver"] = driver
2020
return properties

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

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,7 @@ def prepare(module, options):
2222
return True
2323

2424
def build(env):
25-
device = env[":target"]
26-
27-
properties = device.properties
28-
properties["target"] = device.identifier
29-
30-
env.substitutions = properties
25+
env.substitutions = {"target": env[":target"].identifier}
3126
env.outbasepath = "modm/src/modm/platform/random"
3227

3328
env.template("random_number_generator.hpp.in")

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

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,6 @@
1111
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
1212
# -----------------------------------------------------------------------------
1313

14-
def get_properties(env):
15-
device = env[":target"]
16-
driver = device.get_driver("spi:avr")
17-
properties = device.properties
18-
properties["target"] = device.identifier
19-
properties["partname"] = device.partname
20-
properties["driver"] = driver
21-
return properties
22-
2314
def load_options(module):
2415
module.add_option(
2516
BooleanOption(
@@ -42,10 +33,11 @@ class Instance(Module):
4233
return True
4334

4435
def build(self, env):
45-
properties = get_properties(env)
46-
properties["id"] = self.instance
47-
48-
env.substitutions = properties
36+
env.substitutions = {
37+
"target": env[":target"].identifier,
38+
"partname": env[":target"].partname,
39+
"id": self.instance,
40+
}
4941
env.outbasepath = "modm/src/modm/platform/spi"
5042

5143
env.template("spi.hpp.in", "spi{}.hpp".format(self.instance))
@@ -77,16 +69,14 @@ def prepare(module, options):
7769
return True
7870

7971
def build(env):
80-
properties = get_properties(env)
81-
driver = properties["driver"]
82-
83-
if "instance" not in driver:
84-
properties["id"] = ""
85-
86-
env.substitutions = properties
87-
env.outbasepath = "modm/src/modm/platform/spi"
88-
72+
driver = env[":target"].get_driver("spi")
8973
if "instance" not in driver:
74+
env.substitutions = {
75+
"target": env[":target"].identifier,
76+
"partname": env[":target"].partname,
77+
"id": "",
78+
}
79+
env.outbasepath = "modm/src/modm/platform/spi"
9080
env.template("spi_master.hpp.in")
9181
env.template("spi_master.cpp.in")
9282
env.template("spi.hpp.in")

src/modm/platform/spi/at90_tiny_mega_uart/module.lb

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@
1313

1414
def get_properties(env):
1515
device = env[":target"]
16-
driver = device.get_driver("spi:avr_uart")
17-
properties = device.properties
18-
properties["target"] = device.identifier
19-
properties["driver"] = driver
20-
return properties
16+
return {"target": device.identifier}
2117

2218

2319
class Instance(Module):
@@ -52,10 +48,8 @@ class Instance(Module):
5248
return True
5349

5450
def build(self, env):
55-
properties = get_properties(env)
56-
properties["id"] = self.instance
57-
58-
target = properties["target"]
51+
target = env[":target"].identifier
52+
properties = {"target": target, "id": self.instance}
5953

6054
properties["extended"] = False
6155
if target["name"] in ["48", "88", "168", "328"] and target["type"] == "p":
@@ -102,5 +96,4 @@ def prepare(module, options):
10296
return True
10397

10498
def build(env):
105-
env.substitutions = get_properties(env)
106-
env.outbasepath = "modm/src/modm/platform/spi_uart"
99+
pass

src/modm/platform/spi/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("spi")
2727

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

0 commit comments

Comments
 (0)