Ver código fonte

Rename display pins and group BME280 pins.

Mathias Gottschlag 5 anos atrás
pai
commit
3afa50a051
2 arquivos alterados com 33 adições e 33 exclusões
  1. 5
    16
      display/firmware/src/display.rs
  2. 28
    17
      display/firmware/src/pins.rs

+ 5
- 16
display/firmware/src/display.rs Ver arquivo

29
         mut time: CopyableMonoTimer,
29
         mut time: CopyableMonoTimer,
30
     ) -> Display {
30
     ) -> Display {
31
         // Enable power.
31
         // Enable power.
32
-        pins.display_pwr.set_low().ok();
32
+        pins.pwr.set_low().ok();
33
         // Wait a bit for power to stabilize.
33
         // Wait a bit for power to stabilize.
34
         time.delay_us(100u8);
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
         // Disable power again.
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
     pub fn update(
44
     pub fn update(
98
             tile_height,
87
             tile_height,
99
         );
88
         );
100
         let bathroom_tile = TempHumTile::new(
89
         let bathroom_tile = TempHumTile::new(
101
-            "Bad",
90
+            "Badezimmer",
102
             bathroom_strings.as_ref(),
91
             bathroom_strings.as_ref(),
103
             0,
92
             0,
104
             35 + tile_height + 1,
93
             35 + tile_height + 1,

+ 28
- 17
display/firmware/src/pins.rs Ver arquivo

13
 
13
 
14
 pub struct DisplayPins {
14
 pub struct DisplayPins {
15
     /// Display busy (active low).
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
     /// Display chip select (active low).
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
     /// Display data/command.
19
     /// Display data/command.
20
-    pub display_dc: gpioc::PC9<gpio::Output<gpio::PushPull>>,
20
+    pub dc: gpioc::PC9<gpio::Output<gpio::PushPull>>,
21
     /// Display reset (active low).
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
     /// Display supply voltage enable (active low).
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
 pub type DisplayBmeSpi = Spi<
34
 pub type DisplayBmeSpi = Spi<
84
         gpiod::PD5<gpio::Alternate2>,
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
     pub display: DisplayPins,
94
     pub display: DisplayPins,
91
 
95
 
96
+    pub bme: BME280Pins,
97
+
92
     /// SPI for both display and BME280.
98
     /// SPI for both display and BME280.
93
     pub display_bme_spi: DisplayBmeSpi,
99
     pub display_bme_spi: DisplayBmeSpi,
94
 }
100
 }
157
             nrf_ce: gpiob.pb2.into_push_pull_output(&mut gpiob.pddr),
163
             nrf_ce: gpiob.pb2.into_push_pull_output(&mut gpiob.pddr),
158
             nrf_pwr: gpiob.pb3.into_push_pull_output(&mut gpiob.pddr),
164
             nrf_pwr: gpiob.pb3.into_push_pull_output(&mut gpiob.pddr),
159
             nrf_spi: spi1,
165
             nrf_spi: spi1,
160
-            bme_cs: gpioc.pc2.into_push_pull_output(&mut gpioc.pddr),
161
 
166
 
162
             display: DisplayPins {
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
             display_bme_spi: spi0,
180
             display_bme_spi: spi0,
176
         pins.buzzer.set_low().ok();
186
         pins.buzzer.set_low().ok();
177
         pins.nrf_cs.set_high().ok();
187
         pins.nrf_cs.set_high().ok();
178
         pins.nrf_pwr.set_high().ok();
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
         pins
194
         pins
184
     }
195
     }

Carregando…
Cancelar
Salvar