File syn_power.h¶
FileList > src > syntropic > system > syn_power.h
Go to the source code of this file
Power / voltage monitor. More...
#include "../common/syn_defs.h"#include "../drivers/syn_adc.h"#include "../dsp/syn_signal.h"#include "../system/syn_errlog.h"#include "../util/syn_hysteresis.h"#include <stdbool.h>
Classes¶
| Type | Name |
|---|---|
| struct | SYN_Power Power monitor instance — ADC + hysteresis + brownout state. |
| struct | SYN_Power_Config Power monitor configuration. |
Public Types¶
| Type | Name |
|---|---|
| typedef void(* | SYN_PowerCallback Power event callback. |
Public Functions¶
| Type | Name |
|---|---|
| void | syn_power_init (SYN_Power * pwr, const SYN_Power_Config * cfg) Initialize power monitor. |
| void | syn_power_set_errlog (SYN_Power * pwr, SYN_ErrLog * errlog) Attach error log for brownout events. |
| void | syn_power_set_stats (SYN_Power * pwr, SYN_Signal * stats) Attach signal stats window. |
| void | syn_power_update (SYN_Power * pwr) Update — read ADC and check thresholds. |
Public Static Functions¶
| Type | Name |
|---|---|
| bool | syn_power_is_brownout (const SYN_Power * pwr) Check if currently in brownout state. |
| int32_t | syn_power_voltage_mv (const SYN_Power * pwr) Get last voltage reading in millivolts. |
Macros¶
| Type | Name |
|---|---|
| define | SYN_POWER_ERR_BROWNOUT 0x0400Brownout voltage detected (errlog code). |
Detailed Description¶
Wraps ADC + hysteresis to provide voltage monitoring with brownout detection and recovery callbacks. Optionally pushes readings to a SYN_Signal window for noise statistics.
Usage:
static SYN_Power pwr;
static SYN_ADC vbat_adc;
SYN_Power_Config cfg = {
.adc = &vbat_adc,
.brownout_mv = 3000, // 3.0V
.restore_mv = 3200, // 3.2V (hysteresis)
.on_brownout = my_brownout_handler,
.on_restore = my_restore_handler,
};
syn_power_init(&pwr, &cfg);
// In your main loop:
syn_power_update(&pwr);
int32_t mv = syn_power_voltage_mv(&pwr);
Public Types Documentation¶
typedef SYN_PowerCallback¶
Power event callback.
Parameters:
pwrPower monitor that fired.ctxUser context.
Public Functions Documentation¶
function syn_power_init¶
Initialize power monitor.
Parameters:
pwrPower monitor instance.cfgConfiguration.
function syn_power_set_errlog¶
Attach error log for brownout events.
Parameters:
pwrPower monitor.errlogError log instance.
function syn_power_set_stats¶
Attach signal stats window.
Parameters:
pwrPower monitor.statsInitialized SYN_Signal, or NULL to detach.
function syn_power_update¶
Update — read ADC and check thresholds.
Call from your main loop or scheduler task.
Parameters:
pwrPower monitor.
Public Static Functions Documentation¶
function syn_power_is_brownout¶
Check if currently in brownout state.
Parameters:
pwrPower monitor.
Returns:
true if in brownout.
function syn_power_voltage_mv¶
Get last voltage reading in millivolts.
Parameters:
pwrPower monitor.
Returns:
Voltage in mV.
Macro Definition Documentation¶
define SYN_POWER_ERR_BROWNOUT¶
Brownout voltage detected (errlog code).
The documentation for this class was generated from the following file src/syntropic/system/syn_power.h