Skip to content

Commit 6095153

Browse files
committed
Instances of GPIO Drivers, connected to load switches in topology
1 parent 3d91f1e commit 6095153

File tree

3 files changed

+54
-13
lines changed

3 files changed

+54
-13
lines changed

FprimeZephyrReference/ReferenceDeployment/Top/ReferenceDeploymentTopology.cpp

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,14 @@
1616
static const struct gpio_dt_spec ledGpio = GPIO_DT_SPEC_GET(DT_NODELABEL(led0), gpios);
1717
static const struct gpio_dt_spec burnwire0Gpio = GPIO_DT_SPEC_GET(DT_NODELABEL(burnwire0), gpios);
1818
static const struct gpio_dt_spec burnwire1Gpio = GPIO_DT_SPEC_GET(DT_NODELABEL(burnwire1), gpios);
19-
static const struct device* mcp23017_dev = DEVICE_DT_GET(DT_NODELABEL(mcp23017));
19+
static const struct gpio_dt_spec face0LoadSwitchGpio = GPIO_DT_SPEC_GET(DT_NODELABEL(face0_enable), gpios);
20+
static const struct gpio_dt_spec face1LoadSwitchGpio = GPIO_DT_SPEC_GET(DT_NODELABEL(face1_enable), gpios);
21+
static const struct gpio_dt_spec face2LoadSwitchGpio = GPIO_DT_SPEC_GET(DT_NODELABEL(face2_enable), gpios);
22+
static const struct gpio_dt_spec face3LoadSwitchGpio = GPIO_DT_SPEC_GET(DT_NODELABEL(face3_enable), gpios);
23+
static const struct gpio_dt_spec face4LoadSwitchGpio = GPIO_DT_SPEC_GET(DT_NODELABEL(face4_enable), gpios);
24+
static const struct gpio_dt_spec face5LoadSwitchGpio = GPIO_DT_SPEC_GET(DT_NODELABEL(face5_enable), gpios);
25+
static const struct gpio_dt_spec payloadPowerLoadSwitchGpio = GPIO_DT_SPEC_GET(DT_NODELABEL(payload_pwr_enable), gpios);
26+
static const struct gpio_dt_spec payloadBatteryLoadSwitchGpio = GPIO_DT_SPEC_GET(DT_NODELABEL(payload_batt_enable), gpios);
2027

2128
// Allows easy reference to objects in FPP/autocoder required namespaces
2229
using namespace ReferenceDeployment;
@@ -61,16 +68,14 @@ void configureTopology() {
6168
gpioWatchdog.open(ledGpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
6269
gpioBurnwire0.open(burnwire0Gpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
6370
gpioBurnwire1.open(burnwire1Gpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
64-
/*
65-
face4LoadSwitch.pin_configuration(mcp23017_dev, 0); // Pin 0 on MCP23017
66-
face0LoadSwitch.pin_configuration(mcp23017_dev, 1); // Pin 1 on MCP23017
67-
face1LoadSwitch.pin_configuration(mcp23017_dev, 2); // Pin 2 on MCP23017
68-
face2LoadSwitch.pin_configuration(mcp23017_dev, 3); // Pin 3 on MCP23017
69-
face3LoadSwitch.pin_configuration(mcp23017_dev, 4); // Pin 4 on MCP23017
70-
face5LoadSwitch.pin_configuration(mcp23017_dev, 5); // Pin 5 on MCP23017
71-
payloadPowerLoadSwitch.pin_configuration(mcp23017_dev, 7); // Pin 7 on MCP23017
72-
payloadBatteryLoadSwitch.pin_configuration(mcp23017_dev, 9); // Pin 9 on MCP23017
73-
*/
71+
gpioface4LS.open(face4LoadSwitchGpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
72+
gpioface0LS.open(face0LoadSwitchGpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
73+
gpioface1LS.open(face1LoadSwitchGpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
74+
gpioface2LS.open(face2LoadSwitchGpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
75+
gpioface3LS.open(face3LoadSwitchGpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
76+
gpioface5LS.open(face5LoadSwitchGpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
77+
gpioPayloadPowerLS.open(payloadPowerLoadSwitchGpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
78+
gpioPayloadBatteryLS.open(payloadBatteryLoadSwitchGpio, Zephyr::ZephyrGpioDriver::GpioConfiguration::OUT);
7479
}
7580

7681
// Public functions for use in main program are namespaced with deployment name ReferenceDeployment

FprimeZephyrReference/ReferenceDeployment/Top/instances.fpp

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,5 +128,22 @@ module ReferenceDeployment {
128128

129129
instance antennaDeployer: Components.AntennaDeployer base id 0x10029000
130130

131-
instance fsSpace: Components.FsSpace base id 0x10030000
131+
instance gpioface4LS: Zephyr.ZephyrGpioDriver base id 0x1002A000
132+
133+
instance gpioface0LS: Zephyr.ZephyrGpioDriver base id 0x1002B000
134+
135+
instance gpioface1LS: Zephyr.ZephyrGpioDriver base id 0x1002C000
136+
137+
instance gpioface2LS: Zephyr.ZephyrGpioDriver base id 0x1002D000
138+
139+
instance gpioface3LS: Zephyr.ZephyrGpioDriver base id 0x1002E000
140+
141+
instance gpioface5LS: Zephyr.ZephyrGpioDriver base id 0x1002F000
142+
143+
instance gpioPayloadPowerLS: Zephyr.ZephyrGpioDriver base id 0x10030000
144+
145+
instance gpioPayloadBatteryLS: Zephyr.ZephyrGpioDriver base id 0x10031000
146+
147+
instance fsSpace: Components.FsSpace base id 0x10032000
148+
132149
}

FprimeZephyrReference/ReferenceDeployment/Top/topology.fpp

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ module ReferenceDeployment {
2929
instance gpioWatchdog
3030
instance gpioBurnwire0
3131
instance gpioBurnwire1
32+
instance gpioface0LS
33+
instance gpioface1LS
34+
instance gpioface2LS
35+
instance gpioface3LS
36+
instance gpioface4LS
37+
instance gpioface5LS
38+
instance gpioPayloadPowerLS
39+
instance gpioPayloadBatteryLS
3240
instance watchdog
3341
instance prmDb
3442
instance rtcManager
@@ -151,7 +159,18 @@ module ReferenceDeployment {
151159

152160

153161
connections Watchdog {
154-
watchdog.gpioSet -> gpioDriver.gpioWrite
162+
watchdog.gpioSet -> gpioWatchdog.gpioWrite
163+
}
164+
165+
connections LoadSwitches {
166+
face4LoadSwitch.gpioSet -> gpioface4LS.gpioWrite
167+
face0LoadSwitch.gpioSet -> gpioface0LS.gpioWrite
168+
face1LoadSwitch.gpioSet -> gpioface1LS.gpioWrite
169+
face2LoadSwitch.gpioSet -> gpioface2LS.gpioWrite
170+
face3LoadSwitch.gpioSet -> gpioface3LS.gpioWrite
171+
face5LoadSwitch.gpioSet -> gpioface5LS.gpioWrite
172+
payloadPowerLoadSwitch.gpioSet -> gpioPayloadPowerLS.gpioWrite
173+
payloadBatteryLoadSwitch.gpioSet -> gpioPayloadBatteryLS.gpioWrite
155174
}
156175

157176
connections BurnwireGpio {

0 commit comments

Comments
 (0)