15
15
// with this program; if not, write to the Free Software Foundation, Inc.,
16
16
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
17
18
+ use anyhow:: Result ;
18
19
use futures:: { select, FutureExt } ;
19
20
20
21
mod adc;
@@ -54,7 +55,7 @@ use usb_hub::UsbHub;
54
55
use watchdog:: Watchdog ;
55
56
56
57
#[ async_std:: main]
57
- async fn main ( ) -> Result < ( ) , std :: io :: Error > {
58
+ async fn main ( ) -> Result < ( ) > {
58
59
env_logger:: init ( ) ;
59
60
60
61
// Show a splash screen very early on
@@ -66,17 +67,16 @@ async fn main() -> Result<(), std::io::Error> {
66
67
let mut bb = BrokerBuilder :: new ( ) ;
67
68
68
69
// Expose hardware on the TAC via the broker framework.
69
- let backlight = Backlight :: new ( & mut bb) . unwrap ( ) ;
70
+ let backlight = Backlight :: new ( & mut bb) ? ;
70
71
let led = Led :: new ( & mut bb) ;
71
- let adc = Adc :: new ( & mut bb) . await . unwrap ( ) ;
72
+ let adc = Adc :: new ( & mut bb) . await ? ;
72
73
let dut_pwr = DutPwrThread :: new (
73
74
& mut bb,
74
75
adc. pwr_volt . clone ( ) ,
75
76
adc. pwr_curr . clone ( ) ,
76
77
led. dut_pwr . clone ( ) ,
77
78
)
78
- . await
79
- . unwrap ( ) ;
79
+ . await ?;
80
80
let dig_io = DigitalIo :: new ( & mut bb, led. out_0 . clone ( ) , led. out_1 . clone ( ) ) ;
81
81
let regulators = Regulators :: new ( & mut bb) ;
82
82
let temperatures = Temperatures :: new ( & mut bb) ;
@@ -156,11 +156,13 @@ async fn main() -> Result<(), std::io::Error> {
156
156
ui_err = ui. run( display) . fuse( ) => ui_err,
157
157
wi_err = http_server. serve( ) . fuse( ) => wi_err,
158
158
wd_err = watchdog. keep_fed( ) . fuse( ) => wd_err,
159
- }
159
+ } ?
160
160
} else {
161
161
select ! {
162
162
ui_err = ui. run( display) . fuse( ) => ui_err,
163
163
wi_err = http_server. serve( ) . fuse( ) => wi_err,
164
- }
164
+ } ?
165
165
}
166
+
167
+ Ok ( ( ) )
166
168
}
0 commit comments