pamoja-actuators
Concrete actuator drivers for pamoja: the command-encode half of common parts - the PCA9685 16-channel PWM/servo/LED controller (mode and prescale registers, the frequency-to-prescale formula, and 12-bit on/off channel words) and stepper-motor coil sequencing (wave, full-step, and half-step drive plus a step/direction position model) - turning a desired output into the bytes and steps a driver applies against the manufacturer datasheet, no_std and allocation-free. The command-encode half ahead of the bus driver.
The same capability in every language
| Language | Package | Reference |
|---|---|---|
| Rust | pamoja-actuators |
reference, docs.rs, install |
| TypeScript | @pamoja/actuators |
reference, install |
| Python | pamoja-actuators |
reference, install |
| C# | Pamoja.Actuators |
reference, install |
Concrete actuator drivers for the pamoja SDK.
Where pamoja-sensors decodes what a part
reports, this crate encodes what a part should do: it turns a desired output (a
PWM frequency and duty, a servo angle, a motor step) into the exact register bytes
or coil pattern a driver writes to the hardware. Like the rest of the SDK's
hardware crates, it is the command half ahead of the actual bus driver, pure logic
with no I/O, so the same code runs on a microcontroller and in a test.
pca9685- the NXP PCA9685 16-channel 12-bit PWM controller, the common way to drive servos, dimmable LEDs, and motor-driver inputs over I2C. Its register map, prescale formula, and channel words follow the datasheet.stepper- coil sequencing for four-wire stepper motors: the wave, full-step, and half-step drive patterns, plus a step-and-direction position model for driver chips that take a step pulse and a direction level.
Simple on/off actuators (relays, solenoid valves, a pump switched through a
transistor) need no driver of their own: they are a GPIO line, modelled by the pin
and logic-level types in pamoja-gpio.
License
MIT - part of the pamoja workspace: one memory-safe Rust core with bindings for every language.