![]() |
ACwing FC firmware
STM32WB55: attitude IEKF, altitude Kalman filter, flight core, protocol v2
|
BattTask (see batt_task.h). More...
#include "batt_task.h"#include "fc_core.h"#include "params.h"#include "proto_v2.h"#include "spsc.h"#include "log_feed.h"#include <string.h>#include "cmsis_os2.h"Go to the source code of this file.
Data Structures | |
| struct | scales_t |
Functions | |
| SPSC_DEFINE (s_scq, scales_t, 4u) | |
| void | batt_task_init (const batt_task_cfg_t *cfg) |
| int | batt_task_post_scales (float sv, float si) |
| AppTask -> BattTask: new calibration scales; 0 = queued. | |
| void | batt_task_last_flight (batt_flight_t *out) |
| last flight (any task, seqlock) | |
| void | batt_task_step (uint32_t now) |
| static void | BattTask (void *arg) |
| void | batt_task_start (const batt_task_cfg_t *cfg) |
Variables | |
| static batt_task_cfg_t | s_cfg |
| static uint32_t | s_last |
| static uint8_t | s_have_last |
| static uint8_t | s_sig_level = 0xFFu |
| static uint8_t | s_sig_present = 0xFFu |
| static uint8_t | s_was_armed |
| static uint8_t | s_log_div |
| static float | s_used_at_arm |
| static volatile uint32_t | s_fl_seq |
| static batt_flight_t | s_fl |
BattTask (see batt_task.h).
Definition in file batt_task.c.
| SPSC_DEFINE | ( | s_scq | , |
| scales_t | , | ||
| 4u | |||
| ) |
| void batt_task_init | ( | const batt_task_cfg_t * | cfg | ) |
Definition at line 27 of file batt_task.c.
References batt_task_cfg_t::batt, batt_init(), s_cfg, s_fl, s_fl_seq, s_have_last, s_sig_level, s_sig_present, s_used_at_arm, s_was_armed, and spsc_reset().
Referenced by batt_task_start().
| int batt_task_post_scales | ( | float | sv, |
| float | si | ||
| ) |
AppTask -> BattTask: new calibration scales; 0 = queued.
Definition at line 40 of file batt_task.c.
References s, and spsc_push().
Referenced by cal_apply().
| void batt_task_last_flight | ( | batt_flight_t * | out | ) |
last flight (any task, seqlock)
Definition at line 46 of file batt_task.c.
References s_fl, s_fl_seq, and SPSC_BARRIER.
Referenced by battery_flight().
| void batt_task_step | ( | uint32_t | now | ) |
Definition at line 58 of file batt_task.c.
References batt_task_cfg_t::adc_read, fc_state_t::armed, b, batt_get_cfg(), batt_set_scales(), batt_state(), batt_step(), BATT_TASK_PERIOD_MS, batt_flight_t::count, fc_batt_heartbeat(), fc_batt_signal(), fc_snapshot(), L, logf_power(), P_BATT_CAPACITY, P_BATT_CELLS, P_BATT_CRIT, P_BATT_EMERG, P_BATT_WARN, PARAM, fc_batt_sig_t::present, s_cfg, s_fl, s_fl_seq, s_have_last, s_last, s_log_div, s_sig_level, s_sig_present, s_used_at_arm, s_was_armed, scales_t::scale_i, batt_flight_t::scale_i, batt_cfg_t::scale_i, scales_t::scale_v, SPSC_BARRIER, spsc_pop(), and batt_flight_t::used_mah.
Referenced by BattTask().
|
static |
Definition at line 113 of file batt_task.c.
References BATT_TASK_PERIOD_MS, batt_task_step(), and next().
Referenced by batt_task_start().
| void batt_task_start | ( | const batt_task_cfg_t * | cfg | ) |
Definition at line 124 of file batt_task.c.
References batt_task_init(), and BattTask().
Referenced by app_start().
|
static |
Definition at line 16 of file batt_task.c.
Referenced by batt_task_init(), and batt_task_step().
|
static |
Definition at line 17 of file batt_task.c.
Referenced by batt_task_step().
|
static |
Definition at line 18 of file batt_task.c.
Referenced by batt_task_init(), and batt_task_step().
|
static |
Definition at line 19 of file batt_task.c.
Referenced by batt_task_init(), and batt_task_step().
|
static |
Definition at line 19 of file batt_task.c.
Referenced by batt_task_init(), and batt_task_step().
|
static |
Definition at line 20 of file batt_task.c.
Referenced by batt_task_init(), and batt_task_step().
|
static |
Definition at line 21 of file batt_task.c.
Referenced by batt_task_step().
|
static |
Definition at line 22 of file batt_task.c.
Referenced by batt_task_init(), and batt_task_step().
|
static |
Definition at line 24 of file batt_task.c.
Referenced by batt_task_init(), batt_task_last_flight(), and batt_task_step().
|
static |
Definition at line 25 of file batt_task.c.
Referenced by batt_task_init(), batt_task_last_flight(), and batt_task_step().