#![cfg_attr(docsrs, feature(doc_cfg))]
#![deny(missing_debug_implementations, missing_docs, rust_2018_idioms)]
pub use self::error::Error;
pub mod command;
#[cfg(feature = "serialport")]
#[cfg_attr(docsrs, doc(cfg(feature = "serialport")))]
pub mod connection;
pub mod flasher;
pub mod image_format;
pub mod target;
mod error;
#[cfg(feature = "cli")]
pub mod cli;
#[cfg(feature = "cli")]
pub mod logging {
use env_logger::{Builder, Env};
use log::LevelFilter;
pub fn initialize_logger(filter: LevelFilter) {
Builder::from_env(Env::default().default_filter_or(filter.as_str()))
.format_target(false)
.init();
}
}
#[cfg(feature = "cli")]
pub mod update {
use std::time::Duration;
use log::info;
use update_informer::{Check, registry::Crates};
pub fn check_for_update(name: &str, version: &str) {
let informer = update_informer::new(Crates, name, version).interval(Duration::from_secs(0));
if let Some(version) = informer.check_version().ok().flatten() {
info!("🚀 A new version of {name} is available: {version}");
}
}
}