atecc608b/command/mod.rs
1// Copyright (c) 2026 Tuloup Simon
2//
3// This program is free software: you can redistribute it and/or modify
4// it under the terms of the GNU General Public License as published by
5// the Free Software Foundation, either version 3 of the License, or
6// any later version.
7//
8// This program is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11// GNU General Public License for more details.
12//
13// You should have received a copy of the GNU General Public License
14// along with this program. If not, see <https://www.gnu.org/licenses/>.
15
16//! High-level typed commands exposed on [`crate::Atecc`].
17//!
18//! Each sub-module implements one command of the ATECC608B protocol. The
19//! pattern is the same throughout:
20//!
21//! 1. A method on [`crate::Atecc`] that takes typed parameters.
22//! 2. Internally it calls [`crate::AteccChannel::execute_command`] with the right
23//! opcode, params, and expected execution time.
24//! 3. It parses the resulting payload into a strongly-typed return value.
25
26pub mod checkmac;
27pub mod counter;
28pub mod gendig;
29pub mod genkey;
30pub(crate) mod info;
31pub(crate) mod lock;
32pub mod nonce;
33pub mod privwrite;
34pub(crate) mod random;
35pub mod read_write;
36pub mod sign;
37pub(crate) mod verify;