Skip to content

Commit 3cb20ac

Browse files
authored
Merge pull request #40 from KarlK90/topic/error-handling/main-rs
Graceful error handling in `main.rs`
2 parents 16391c2 + e7d214e commit 3cb20ac

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/main.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
// with this program; if not, write to the Free Software Foundation, Inc.,
1616
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1717

18+
use anyhow::Result;
1819
use futures::{select, FutureExt};
1920

2021
mod adc;
@@ -54,7 +55,7 @@ use usb_hub::UsbHub;
5455
use watchdog::Watchdog;
5556

5657
#[async_std::main]
57-
async fn main() -> Result<(), std::io::Error> {
58+
async fn main() -> Result<()> {
5859
env_logger::init();
5960

6061
// Show a splash screen very early on
@@ -66,17 +67,16 @@ async fn main() -> Result<(), std::io::Error> {
6667
let mut bb = BrokerBuilder::new();
6768

6869
// Expose hardware on the TAC via the broker framework.
69-
let backlight = Backlight::new(&mut bb).unwrap();
70+
let backlight = Backlight::new(&mut bb)?;
7071
let led = Led::new(&mut bb);
71-
let adc = Adc::new(&mut bb).await.unwrap();
72+
let adc = Adc::new(&mut bb).await?;
7273
let dut_pwr = DutPwrThread::new(
7374
&mut bb,
7475
adc.pwr_volt.clone(),
7576
adc.pwr_curr.clone(),
7677
led.dut_pwr.clone(),
7778
)
78-
.await
79-
.unwrap();
79+
.await?;
8080
let dig_io = DigitalIo::new(&mut bb, led.out_0.clone(), led.out_1.clone());
8181
let regulators = Regulators::new(&mut bb);
8282
let temperatures = Temperatures::new(&mut bb);
@@ -156,11 +156,13 @@ async fn main() -> Result<(), std::io::Error> {
156156
ui_err = ui.run(display).fuse() => ui_err,
157157
wi_err = http_server.serve().fuse() => wi_err,
158158
wd_err = watchdog.keep_fed().fuse() => wd_err,
159-
}
159+
}?
160160
} else {
161161
select! {
162162
ui_err = ui.run(display).fuse() => ui_err,
163163
wi_err = http_server.serve().fuse() => wi_err,
164-
}
164+
}?
165165
}
166+
167+
Ok(())
166168
}

0 commit comments

Comments
 (0)