# Device If you are building a new device API, read in this order: 1. [Base Device](base_device.md) 2. [Parameter System](param_system.md) 3. [Function System](func_system.md) 4. [Command Solver](cmd_solver.md) 5. [Traffic Manager](traffic_manager.md) 6. [Error Handling](error_handling.md) 7. [Logging System](logging_system.md) 8. [Test Helpers](test_helper.md) ## Topic Guide ### Core Architecture 1. [Base Device](base_device.md): Defines the synchronized device abstraction and lifecycle. 2. [Traffic Manager](traffic_manager.md): Implements transport communication (Serial, VISA, TCP/IP). 3. [Command Solver](cmd_solver.md): Maps standardized operations to protocol commands. ### Metadata and API Contracts 1. [Parameter System](param_system.md): Declares configuration parameters, constraints, and parsing rules. 2. [Function System](func_system.md): Declares operation signatures, validates inputs/outputs, and binds execution. ### Runtime Utilities 1. [Error Handling](error_handling.md): Standard error propagation and contextual wrapping. 2. [Logging System](logging_system.md): Process-level logging setup and usage patterns. 3. [Test Helpers](test_helper.md): Auto-test utilities for config parameters, operations, resource contention, and schema refresh.