#![deny(missing_docs)]
#![deny(unreachable_pub)]
#![forbid(unsafe_code)]
#![doc = include_str!("../README.md")]
#![doc(issue_tracker_base_url = "https://github.com/Finomnis/mcumgr-toolkit/issues")]
pub mod client;
pub use client::MCUmgrClient;
mod errno;
pub use errno::Errno;
pub mod commands;
pub mod connection;
pub mod transport;
pub mod smp_errors;
pub mod bootloader;
pub mod mcuboot;
#[derive(strum::FromRepr, strum::Display, Debug, Copy, Clone, PartialEq, Eq)]
#[repr(u16)]
#[allow(non_camel_case_types)]
#[allow(missing_docs)]
pub enum MCUmgrGroup {
MGMT_GROUP_ID_OS = 0,
MGMT_GROUP_ID_IMAGE,
MGMT_GROUP_ID_STAT,
MGMT_GROUP_ID_SETTINGS,
MGMT_GROUP_ID_LOG,
MGMT_GROUP_ID_CRASH,
MGMT_GROUP_ID_SPLIT,
MGMT_GROUP_ID_RUN,
MGMT_GROUP_ID_FS,
MGMT_GROUP_ID_SHELL,
MGMT_GROUP_ID_ENUM,
ZEPHYR_MGMT_GRP_BASIC = 63,
MGMT_GROUP_ID_PERUSER = 64,
}
impl MCUmgrGroup {
pub fn group_id_to_string(group_id: u16) -> String {
const PERUSER: MCUmgrGroup = MCUmgrGroup::MGMT_GROUP_ID_PERUSER;
if group_id < PERUSER as u16 {
if let Some(group_enum) = Self::from_repr(group_id) {
format!("{group_enum}")
} else {
format!("MGMT_GROUP_ID_UNKNOWN({group_id})")
}
} else {
format!("{PERUSER}({group_id})")
}
}
}
pub const DEFAULT_TIMEOUT_MS: u64 = 500;
pub const DEFAULT_RETRIES: u8 = 5;