Expand description
This crate provides C ABI interface for battery crate.
§Bindings generation
Among library creation this crate generates battery_ffi.h file, enabled by default by cbindgen feature,
which might be useful for automatic bindings generation or just with plain C/C++ development.
After build it will be located somewhere at target/*/build/battery-ffi-*/out/,
depending on build profile (debug/release) and build hash.
Disabling cbindgen feature might speed up compilation a little bit,
especially if you don’t need the header file.
§Examples
#include "battery_ffi.h"
void main() {
Manager *manager = battery_manager_new();
// .. handle `manager == NULL` here ..
Batteries *iterator = battery_manager_iter(manager);
// .. handle `iterator == NULL` here ..
while (true) {
Battery *battery = battery_iterator_next(iterator);
// .. handle possible error here ..
if (battery == NULL) {
break;
}
// Use some `battery_get_*` functions here
battery_free(battery);
}
battery_iterator_free(iterator);
battery_manager_free(manager);
}Also, check the examples/ directory in the repository for examples with C and Python.
Enums§
- State
- Possible battery states.
- Technology
- Possible battery technologies.
Functions§
- battery_
free ⚠ - Frees battery instance.
- battery_
get_ ⚠cycle_ count - Returns battery cycles count.
- battery_
get_ ⚠energy - Returns battery energy (in
joule). - battery_
get_ ⚠energy_ full - Returns battery energy (in
joule) when it is considered full. - battery_
get_ ⚠energy_ full_ design - Returns battery energy (in
joule) designed to hold when it is considered full. - battery_
get_ ⚠energy_ rate - Returns battery energy rate (in
W). - battery_
get_ ⚠model - Returns battery model.
- battery_
get_ ⚠serial_ number - Returns battery serial number.
- battery_
get_ ⚠state - Returns battery state.
- battery_
get_ ⚠state_ of_ charge - Returns battery state of charge as a percentage value from
0.0to100.0. - battery_
get_ ⚠state_ of_ health - Returns battery state of health as a percentage value from
0.0to100.0. - battery_
get_ ⚠technology - Returns battery technology.
- battery_
get_ ⚠temperature - Returns battery temperature in Kelvin.
- battery_
get_ ⚠time_ to_ empty - Returns battery time to empty.
- battery_
get_ ⚠time_ to_ full - Returns battery time to full.
- battery_
get_ ⚠vendor - Returns battery vendor.
- battery_
get_ ⚠voltage - Returns battery voltage (in
V) - battery_
have_ last_ error - Checks if there was an error before.
- battery_
iterator_ ⚠free - Frees previously created batteries iterator.
- battery_
iterator_ ⚠next - Gets next iteration over batteries iterator.
- battery_
last_ error_ length - Gets error message length if any error had occurred.
- battery_
last_ ⚠error_ message - Fills passed buffer with an error message.
- battery_
manager_ ⚠free - Frees manager instance.
- battery_
manager_ ⚠iter - Creates an iterator over batteries from manager instance.
- battery_
manager_ new - Creates new batteries manager instance.
- battery_
manager_ ⚠refresh - Refreshes battery information.
- battery_
str_ ⚠free - Frees battery information string value.