2 stable releases
Uses new Rust 2024
| 1.1.0 | Oct 29, 2025 |
|---|---|
| 1.0.0 | Oct 25, 2025 |
#470 in Embedded development
Used in avr-q
51KB
1K
SLoC
24 bit integer arithmetic for AVR
This library provides a 24-bit signed integer type, Int24, for Rust.
It is designed for use on AVR microcontrollers.
Features
- 24-bit signed integer type (
Int24) - Saturating arithmetic operations: addition, subtraction, multiplication, division
- Bitwise operations: shift left, shift right
- Specialized operations: Shift left and then divide
- Comparison operations
- Conversions to and from
i16andi32 - Most operations are
constor have aconstvariant - All operations are highly optimized for speed and code size
Usage
To use the Int24 type, add avr-int24 as a dependency to your Cargo.toml
[dependencies]
avr-int24 = "1"
and then use it in your code:
use avr_int24::Int24;
let a = Int24::from_i16(30000);
let b = Int24::from_i16(10000);
let c = a + b;
assert_eq!(c.to_i32(), 40000);
Rust compiler
AVR inline assembly is not yet stabilized.
Therefore, a nightly Rust compiler is required.