#control #experimental #math #macro #rrtk

macro no-std rrtk_proc

Experimental RRTK math! macro

1 unstable release

0.1.0-alpha.0 Nov 30, 2024

#167 in Robotics

Download history 134/week @ 2024-11-30

135 downloads per month

BSD-3-Clause

8KB
148 lines

RRTK Procedural Macros

[HIGHLY EXPERIMENTAL] Procedural math! macro making the RRTK math streams easier to use. Requires RRTK 0.6 with the alloc feature enabled.

Do this:

let pid = math!(kp * error + ki * int + kd * drv);

instead of this:

let p = make_rc_ref_cell_reference(ProductStream::new([kp, error]);
let i = make_rc_ref_cell_reference(ProductStream::new([ki, int]));
let d = make_rc_ref_cell_reference(ProductStream::new([kd, drv]));
let pid = make_rc_ref_cell_reference(SumStream::new([p, i, d]));

The macro currently only supports Rc<RefCell>-variant References for output, but it can still take any Reference variant for its terms.

License: BSD 3-Clause

This basically means that you can do whatever you want as long as you give me attribution and you don't remove the license notices or use my name to endorse stuff I don't. Read the actual license for details though.

No runtime deps