| Crates.io | tps55288 |
| lib.rs | tps55288 |
| version | 0.2.0 |
| created_at | 2026-01-22 15:52:53.719209+00 |
| updated_at | 2026-01-22 15:52:53.719209+00 |
| description | Rust driver skeleton for TI TPS55288 buck-boost converter (I2C) |
| homepage | |
| repository | https://github.com/IvanLi-CN/tps55288-rs |
| max_upload_size | |
| id | 2062014 |
| size | 65,072 |
Rust driver skeleton for TI TPS55288 36 V / 16 A four-switch buck-boost converter with I2C control. This repo follows the patterns proven in sc8815-rs (no-std, sync by default, async behind the async feature, type-safe registers, strong error handling). Core driver helpers are in place; example/CI are pending.
examples/stm32g031g8u6/ (code TBD).use tps55288::driver::Tps55288;
use tps55288::{VoutSlewRate, OcpDelay, FeedbackSource, InternalFeedbackRatio, CableCompOption, CableCompLevel};
use embedded_hal::i2c::I2c;
fn example<I2C: I2c>(i2c: I2C) {
let mut dev = Tps55288::new(i2c);
// init() configures safe defaults but leaves OE disabled so that
// callers can finish all register writes before enabling the power stage.
dev.init().ok();
// Configure output voltage, current limit, slew rate, feedback, and cable compensation.
dev.set_vout_mv(5_000).ok();
dev.set_ilim_ma(3_000, true).ok();
dev.set_vout_sr(VoutSlewRate::Sr2p5MvPerUs, OcpDelay::Us128).ok();
dev.set_feedback(FeedbackSource::Internal, InternalFeedbackRatio::R0_0564).ok();
dev.set_cable_comp(CableCompOption::Internal, CableCompLevel::V0p0, true, true, true).ok();
// Finally enable the output once configuration is complete.
dev.enable_output().ok();
let _ = dev.read_status();
}
src/ — registers, data types, driver core (sync + async helpers), error handling.examples/stm32g031g8u6/ — board wiring notes and build plan (code pending).docs/tps55288-datasheet.md — full datasheet extraction with images.DESIGN.md — architecture and API plan.TODO.md — execution checklist.See TODO.md for the ordered task list. Remaining work includes STM32 example, CI/lefthook, defmt display polish, and expanded docs.