knx_rs_core/lib.rs
1// SPDX-License-Identifier: GPL-3.0-only
2// Copyright (C) 2026 Fabian Schmieder
3
4//! `knx-core` — platform-independent KNX protocol types.
5//!
6//! This crate provides the foundational types for the KNX protocol stack:
7//!
8//! - [`address`] — Individual and group address types
9//! - [`types`] — Frame-level protocol enums (priority, format, medium)
10//! - [`message`] — CEMI message codes and APDU/TPDU service types
11//! - [`device`] — Device management types (restart, erase, security, return codes)
12//! - [`cemi`] — Common External Message Interface frame parsing and serialization
13//! - [`tpdu`] — Transport Protocol Data Unit
14//! - [`apdu`] — Application Protocol Data Unit
15//!
16//! # `no_std` Support
17//!
18//! This crate is `no_std`-compatible by default. Enable the `std` feature
19//! for `std`-dependent functionality.
20
21#![no_std]
22
23extern crate alloc;
24
25pub mod address;
26pub mod apdu;
27pub mod cemi;
28pub mod device;
29pub mod dpt;
30pub mod knxip;
31pub mod message;
32pub mod tpdu;
33pub mod types;
34
35#[cfg(test)]
36mod cemi_tests;