Pārlūkot izejas kodu

Rename display pins and group BME280 pins.

Mathias Gottschlag 5 gadus atpakaļ
vecāks
revīzija
3afa50a051
2 mainītis faili ar 33 papildinājumiem un 33 dzēšanām
  1. 5
    16
      display/firmware/src/display.rs
  2. 28
    17
      display/firmware/src/pins.rs

+ 5
- 16
display/firmware/src/display.rs Parādīt failu

@@ -29,27 +29,16 @@ impl Display {
29 29
         mut time: CopyableMonoTimer,
30 30
     ) -> Display {
31 31
         // Enable power.
32
-        pins.display_pwr.set_low().ok();
32
+        pins.pwr.set_low().ok();
33 33
         // Wait a bit for power to stabilize.
34 34
         time.delay_us(100u8);
35 35
 
36
-        let epd = EPD4in2::new(
37
-            spi,
38
-            pins.display_cs,
39
-            pins.display_busy,
40
-            pins.display_dc,
41
-            pins.display_rst,
42
-            &mut time,
43
-        )
44
-        .unwrap(); // TODO: Error handling?
36
+        let epd = EPD4in2::new(spi, pins.cs, pins.busy, pins.dc, pins.rst, &mut time).unwrap(); // TODO: Error handling?
45 37
 
46 38
         // Disable power again.
47
-        pins.display_pwr.set_low().ok();
39
+        pins.pwr.set_low().ok();
48 40
 
49
-        Display {
50
-            pwr: pins.display_pwr,
51
-            epd,
52
-        }
41
+        Display { pwr: pins.pwr, epd }
53 42
     }
54 43
 
55 44
     pub fn update(
@@ -98,7 +87,7 @@ impl Display {
98 87
             tile_height,
99 88
         );
100 89
         let bathroom_tile = TempHumTile::new(
101
-            "Bad",
90
+            "Badezimmer",
102 91
             bathroom_strings.as_ref(),
103 92
             0,
104 93
             35 + tile_height + 1,

+ 28
- 17
display/firmware/src/pins.rs Parādīt failu

@@ -13,15 +13,22 @@ pub type DisplayPwr = gpioc::PC11<gpio::Output<gpio::PushPull>>;
13 13
 
14 14
 pub struct DisplayPins {
15 15
     /// Display busy (active low).
16
-    pub display_busy: gpioc::PC4<gpio::Input<gpio::PullUp>>,
16
+    pub busy: gpioc::PC4<gpio::Input<gpio::PullUp>>,
17 17
     /// Display chip select (active low).
18
-    pub display_cs: gpioc::PC8<gpio::Output<gpio::PushPull>>,
18
+    pub cs: gpioc::PC8<gpio::Output<gpio::PushPull>>,
19 19
     /// Display data/command.
20
-    pub display_dc: gpioc::PC9<gpio::Output<gpio::PushPull>>,
20
+    pub dc: gpioc::PC9<gpio::Output<gpio::PushPull>>,
21 21
     /// Display reset (active low).
22
-    pub display_rst: gpioc::PC10<gpio::Output<gpio::PushPull>>,
22
+    pub rst: gpioc::PC10<gpio::Output<gpio::PushPull>>,
23 23
     /// Display supply voltage enable (active low).
24
-    pub display_pwr: gpioc::PC11<gpio::Output<gpio::PushPull>>,
24
+    pub pwr: gpioc::PC11<gpio::Output<gpio::PushPull>>,
25
+}
26
+
27
+pub struct BME280Pins {
28
+    /// BME280 supply voltage enable (active low).
29
+    pub pwr: gpiob::PB18<gpio::Output<gpio::PushPull>>,
30
+    /// BME280 chip select (active low).
31
+    pub cs: gpioc::PC2<gpio::Output<gpio::PushPull>>,
25 32
 }
26 33
 
27 34
 pub type DisplayBmeSpi = Spi<
@@ -84,11 +91,10 @@ pub struct Pins {
84 91
         gpiod::PD5<gpio::Alternate2>,
85 92
     >,
86 93
 
87
-    /// BME280 chip select (active low).
88
-    pub bme_cs: gpioc::PC2<gpio::Output<gpio::PushPull>>,
89
-
90 94
     pub display: DisplayPins,
91 95
 
96
+    pub bme: BME280Pins,
97
+
92 98
     /// SPI for both display and BME280.
93 99
     pub display_bme_spi: DisplayBmeSpi,
94 100
 }
@@ -157,14 +163,18 @@ impl Pins {
157 163
             nrf_ce: gpiob.pb2.into_push_pull_output(&mut gpiob.pddr),
158 164
             nrf_pwr: gpiob.pb3.into_push_pull_output(&mut gpiob.pddr),
159 165
             nrf_spi: spi1,
160
-            bme_cs: gpioc.pc2.into_push_pull_output(&mut gpioc.pddr),
161 166
 
162 167
             display: DisplayPins {
163
-                display_busy: gpioc.pc4.into_pull_up_input(&mut gpioc.pddr),
164
-                display_cs: gpioc.pc8.into_push_pull_output(&mut gpioc.pddr),
165
-                display_dc: gpioc.pc9.into_push_pull_output(&mut gpioc.pddr),
166
-                display_rst: gpioc.pc10.into_push_pull_output(&mut gpioc.pddr),
167
-                display_pwr: gpioc.pc11.into_push_pull_output(&mut gpioc.pddr),
168
+                busy: gpioc.pc4.into_pull_up_input(&mut gpioc.pddr),
169
+                cs: gpioc.pc8.into_push_pull_output(&mut gpioc.pddr),
170
+                dc: gpioc.pc9.into_push_pull_output(&mut gpioc.pddr),
171
+                rst: gpioc.pc10.into_push_pull_output(&mut gpioc.pddr),
172
+                pwr: gpioc.pc11.into_push_pull_output(&mut gpioc.pddr),
173
+            },
174
+
175
+            bme: BME280Pins {
176
+                pwr: gpiob.pb18.into_push_pull_output(&mut gpiob.pddr),
177
+                cs: gpioc.pc2.into_push_pull_output(&mut gpioc.pddr),
168 178
             },
169 179
 
170 180
             display_bme_spi: spi0,
@@ -176,9 +186,10 @@ impl Pins {
176 186
         pins.buzzer.set_low().ok();
177 187
         pins.nrf_cs.set_high().ok();
178 188
         pins.nrf_pwr.set_high().ok();
179
-        pins.bme_cs.set_high().ok();
180
-        pins.display.display_cs.set_high().ok();
181
-        pins.display.display_pwr.set_high().ok();
189
+        pins.display.cs.set_high().ok();
190
+        pins.display.pwr.set_high().ok();
191
+        pins.bme.pwr.set_high().ok();
192
+        pins.bme.cs.set_high().ok();
182 193
 
183 194
         pins
184 195
     }

Notiek ielāde…
Atcelt
Saglabāt