1
- use crate :: cargo_config:: parse_cargo_config;
2
- use crate :: error:: UnsupportedTargetError ;
1
+ use std:: {
2
+ fs,
3
+ path:: PathBuf ,
4
+ process:: { exit, Command , ExitStatus , Stdio } ,
5
+ string:: ToString ,
6
+ } ;
7
+
3
8
use cargo_metadata:: Message ;
4
9
use clap:: { App , Arg , SubCommand } ;
5
10
use error:: Error ;
@@ -8,12 +13,8 @@ use miette::{IntoDiagnostic, Result, WrapErr};
8
13
use monitor:: monitor;
9
14
use package_metadata:: CargoEspFlashMeta ;
10
15
use serial:: { BaudRate , FlowControl , SerialPort } ;
11
- use std:: {
12
- fs,
13
- path:: PathBuf ,
14
- process:: { exit, Command , ExitStatus , Stdio } ,
15
- string:: ToString ,
16
- } ;
16
+
17
+ use crate :: { cargo_config:: parse_cargo_config, error:: UnsupportedTargetError } ;
17
18
18
19
mod cargo_config;
19
20
mod error;
@@ -23,6 +24,7 @@ mod package_metadata;
23
24
24
25
fn main ( ) -> Result < ( ) > {
25
26
miette:: set_panic_hook ( ) ;
27
+
26
28
let mut app = App :: new ( env ! ( "CARGO_PKG_NAME" ) )
27
29
. bin_name ( "cargo" )
28
30
. subcommand (
@@ -143,7 +145,7 @@ fn main() -> Result<()> {
143
145
// provided, display the board info and terminate the application.
144
146
let mut flasher = Flasher :: connect ( serial, speed) ?;
145
147
if matches. is_present ( "board_info" ) {
146
- board_info ( & flasher) ;
148
+ board_info ( & mut flasher) ? ;
147
149
return Ok ( ( ) ) ;
148
150
}
149
151
@@ -200,9 +202,23 @@ fn main() -> Result<()> {
200
202
Ok ( ( ) )
201
203
}
202
204
203
- fn board_info ( flasher : & Flasher ) {
204
- println ! ( "Chip type: {}" , flasher. chip( ) ) ;
205
- println ! ( "Flash size: {}" , flasher. flash_size( ) ) ;
205
+ fn board_info ( flasher : & mut Flasher ) -> Result < ( ) > {
206
+ let chip = flasher. chip ( ) ;
207
+ let revision = chip. chip_revision ( flasher. connection ( ) ) ?;
208
+ let freq = chip. crystal_freq ( flasher. connection ( ) ) ?;
209
+
210
+ // Print the detected chip type, and if available the silicon revision.
211
+ print ! ( "Chip type: {}" , chip) ;
212
+ if let Some ( revision) = revision {
213
+ println ! ( " (revision {})" , revision) ;
214
+ } else {
215
+ println ! ( ) ;
216
+ }
217
+
218
+ println ! ( "Crystal frequency: {}MHz" , freq) ;
219
+ println ! ( "Flash size: {}" , flasher. flash_size( ) ) ;
220
+
221
+ Ok ( ( ) )
206
222
}
207
223
208
224
fn build (
0 commit comments