@@ -10,8 +10,8 @@ use espflash::{
10
10
cli:: {
11
11
self , board_info, clap_enum_variants, config:: Config , connect, erase_partitions,
12
12
flash_elf_image, monitor:: monitor, parse_partition_table, partition_table,
13
- save_elf_as_image, serial_monitor, ConnectArgs , FlashConfigArgs , MonitorArgs ,
14
- PartitionTableArgs ,
13
+ print_board_info , save_elf_as_image, serial_monitor, ConnectArgs , FlashConfigArgs ,
14
+ MonitorArgs , PartitionTableArgs ,
15
15
} ,
16
16
image_format:: ImageFormatKind ,
17
17
logging:: initialize_logger,
@@ -159,13 +159,14 @@ fn flash(args: FlashArgs, config: &Config) -> Result<()> {
159
159
let cargo_config = CargoConfig :: load ( & metadata. workspace_root , & metadata. package_root ) ;
160
160
161
161
let mut flasher = connect ( & args. connect_args , config) ?;
162
- let build_ctx = build ( & args. build_args , & cargo_config, flasher. chip ( ) )
163
- . wrap_err ( "Failed to build project" ) ?;
162
+ print_board_info ( & mut flasher) ?;
164
163
165
- // Print the board information once the project has successfully built. We do
166
- // here rather than upon connection to show the Cargo output prior to the board
167
- // information, rather than breaking up cargo-espflash's output.
168
- board_info ( & args. connect_args , config) ?;
164
+ let chip = flasher. chip ( ) ;
165
+ let target = chip. into_target ( ) ;
166
+ let target_xtal_freq = target. crystal_freq ( & mut flasher. connection ( ) ) ?;
167
+
168
+ let build_ctx =
169
+ build ( & args. build_args , & cargo_config, chip) . wrap_err ( "Failed to build project" ) ?;
169
170
170
171
// Read the ELF data from the build path and load it to the target.
171
172
let elf_data = fs:: read ( build_ctx. artifact_path ) . into_diagnostic ( ) ?;
@@ -216,18 +217,13 @@ fn flash(args: FlashArgs, config: &Config) -> Result<()> {
216
217
if args. flash_args . monitor {
217
218
let pid = flasher. get_usb_pid ( ) ?;
218
219
219
- let chip = flasher. chip ( ) ;
220
- let target = chip. into_target ( ) ;
221
-
222
220
// The 26MHz ESP32-C2's need to be treated as a special case.
223
- let default_baud = if chip == Chip :: Esp32c2
224
- && !args. connect_args . use_stub
225
- && target. crystal_freq ( & mut flasher. connection ( ) ) ? == 26
226
- {
227
- 74_880
228
- } else {
229
- 115_200
230
- } ;
221
+ let default_baud =
222
+ if chip == Chip :: Esp32c2 && !args. connect_args . use_stub && target_xtal_freq == 26 {
223
+ 74_880
224
+ } else {
225
+ 115_200
226
+ } ;
231
227
232
228
monitor (
233
229
flasher. into_interface ( ) ,
0 commit comments