Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
#include <ch.h>
#include <hal.h>
#include "modules/loggers/sdlog_chibios/sdLog.h"
#include "modules/loggers/sdlog_chibios/usbStorage.h"
#include "modules/loggers/sdlog_chibios/printf.h"
#include "modules/loggers/sdlog_chibios.h"
#include "modules/tlsf/tlsf_malloc.h"
#include "mcu_periph/adc.h"
#include "mcu.h"
#include "led.h"
#include "subsystems/datalink/telemetry.h"
Go to the source code of this file.
Macros | |
#define | SDLOG_START_DELAY 30 |
#define | SDLOG_AUTO_FLUSH_PERIOD 10 |
#define | SDLOG_CONTIGUOUS_STORAGE_MEM 50 |
#define | DefaultAdcOfVoltage(voltage) ((uint32_t) (voltage/(DefaultVoltageOfAdc(1)))) |
Enumerations | |
enum | { SDLOG_STOPPED = 0, SDLOG_RUNNING, SDLOG_ERROR } |
sdlog status More... | |
Functions | |
static | THD_WORKING_AREA (wa_thd_startlog, 2048) |
static void | thd_startlog (void *arg) |
static | THD_WORKING_AREA (wa_thd_bat_survey, 1024) |
static void | thd_bat_survey (void *arg) |
static void | powerOutageIsr (void) |
static void | send_sdlog_status (struct transport_tx *trans, struct link_device *dev) |
static int | sdlog_check_free_space (struct chibios_sdlog *p, long *fd, uint16_t len) |
static void | sdlog_transmit (struct chibios_sdlog *p, long fd, uint8_t byte) |
static void | sdlog_transmit_buffer (struct chibios_sdlog *p, long fd, uint8_t *data, uint16_t len) |
static void | sdlog_send (struct chibios_sdlog *p, long fd) |
static int | null_function (struct chibios_sdlog *p) |
static uint8_t | null_byte_function (struct chibios_sdlog *p) |
void | chibios_sdlog_init (struct chibios_sdlog *sdlog, FileDes *file) |
init chibios_sdlog structure More... | |
void | sdlog_chibios_init (void) |
void | sdlog_chibios_finish (const bool flush) |
Variables | |
static const uint16_t | V_ALERT = DefaultAdcOfVoltage(5.5f) |
static const char | PPRZ_LOG_NAME [] = "pprzlog_" |
static const char | PPRZ_LOG_DIR [] = "PPRZ" |
event_source_t | powerOutageSource |
event_listener_t | powerOutageListener |
bool | sdOk = false |
FileDes | pprzLogFile = -1 |
struct chibios_sdlog | chibios_sdlog |
static enum { ... } | chibios_sdlog_status |
sdlog status More... | |
static char | chibios_sdlog_filenames [68] |
sdlog filenames More... | |
static char | NO_FILE_NAME [] = "none" |
#define DefaultAdcOfVoltage | ( | voltage | ) | ((uint32_t) (voltage/(DefaultVoltageOfAdc(1)))) |
Definition at line 64 of file sdlog_chibios.c.
#define SDLOG_AUTO_FLUSH_PERIOD 10 |
Definition at line 52 of file sdlog_chibios.c.
#define SDLOG_CONTIGUOUS_STORAGE_MEM 50 |
Definition at line 57 of file sdlog_chibios.c.
#define SDLOG_START_DELAY 30 |
Definition at line 47 of file sdlog_chibios.c.
anonymous enum |
sdlog status
Enumerator | |
---|---|
SDLOG_STOPPED | |
SDLOG_RUNNING | |
SDLOG_ERROR |
Definition at line 98 of file sdlog_chibios.c.
void chibios_sdlog_init | ( | struct chibios_sdlog * | sdlog, |
FileDes * | file | ||
) |
init chibios_sdlog structure
Definition at line 165 of file sdlog_chibios.c.
References chibios_sdlog::device, chibios_sdlog::file, null_byte_function(), null_function(), sdlog_check_free_space(), sdlog_send(), sdlog_transmit(), and sdlog_transmit_buffer().
Referenced by flight_recorder_init(), and thd_startlog().
|
static |
Definition at line 163 of file sdlog_chibios.c.
Referenced by chibios_sdlog_init().
|
static |
Definition at line 162 of file sdlog_chibios.c.
Referenced by chibios_sdlog_init().
|
static |
Definition at line 336 of file sdlog_chibios.c.
References powerOutageSource.
Referenced by thd_bat_survey().
|
static |
Definition at line 129 of file sdlog_chibios.c.
References fd, SDLOG_OK, and status.
Referenced by chibios_sdlog_init().
void sdlog_chibios_finish | ( | const bool | flush | ) |
Definition at line 196 of file sdlog_chibios.c.
References chibios_sdlog_status, mcu_periph_energy_save(), pprzLogFile, SDLOG_STOPPED, and sdLogFinish().
Referenced by thd_bat_survey(), and thdUsbStorage().
void sdlog_chibios_init | ( | void | ) |
Definition at line 180 of file sdlog_chibios.c.
References chibios_sdlog_status, DefaultPeriodic, register_periodic_telemetry(), SDLOG_STOPPED, send_sdlog_status(), thd_startlog(), and usbStorageStartPolling().
|
static |
Definition at line 156 of file sdlog_chibios.c.
Referenced by chibios_sdlog_init().
|
static |
Definition at line 141 of file sdlog_chibios.c.
Referenced by chibios_sdlog_init().
|
static |
Definition at line 149 of file sdlog_chibios.c.
References fd.
Referenced by chibios_sdlog_init().
|
static |
Definition at line 111 of file sdlog_chibios.c.
References chibios_sdlog_filenames, chibios_sdlog_status, dev, NO_FILE_NAME, and status.
Referenced by sdlog_chibios_init().
|
static |
Definition at line 314 of file sdlog_chibios.c.
References mcu_deep_sleep(), powerOutageIsr(), powerOutageListener, powerOutageSource, SDLOG_BAT_ADC, SDLOG_BAT_CHAN, sdlog_chibios_finish(), and V_ALERT.
Referenced by thd_startlog().
|
static |
Definition at line 225 of file sdlog_chibios.c.
References chibios_sdlog_filenames, chibios_sdlog_init(), chibios_sdlog_status, chsnprintf(), gps, LED_TOGGLE, LOG_APPEND_TAG_AT_CLOSE_DISABLED, LOG_PREALLOCATION_DISABLED, powerOutageSource, PPRZ_LOG_DIR, PPRZ_LOG_NAME, pprzLogFile, removeEmptyLogs(), SDLOG_AUTO_FLUSH_PERIOD, SDLOG_CONTIGUOUS_STORAGE_MEM, SDLOG_ERROR, SDLOG_OK, SDLOG_RUNNING, SDLOG_START_DELAY, sdLogInit(), sdOk, thd_bat_survey(), GpsState::tow, usbStorageIsItRunning(), and GpsState::week.
Referenced by sdlog_chibios_init().
|
static |
|
static |
struct chibios_sdlog chibios_sdlog |
Definition at line 88 of file sdlog_chibios.c.
|
static |
sdlog filenames
Definition at line 106 of file sdlog_chibios.c.
Referenced by send_sdlog_status(), and thd_startlog().
enum { ... } chibios_sdlog_status |
sdlog status
Referenced by sdlog_chibios_finish(), sdlog_chibios_init(), send_sdlog_status(), and thd_startlog().
|
static |
Definition at line 107 of file sdlog_chibios.c.
Referenced by send_sdlog_status().
event_listener_t powerOutageListener |
Definition at line 82 of file sdlog_chibios.c.
Referenced by thd_bat_survey().
event_source_t powerOutageSource |
Definition at line 81 of file sdlog_chibios.c.
Referenced by powerOutageIsr(), thd_bat_survey(), and thd_startlog().
|
static |
Definition at line 67 of file sdlog_chibios.c.
Referenced by thd_startlog().
|
static |
Definition at line 66 of file sdlog_chibios.c.
Referenced by thd_startlog().
FileDes pprzLogFile = -1 |
Definition at line 86 of file sdlog_chibios.c.
Referenced by airspeed_cb(), airspeed_ets_read_event(), aoa_pwm_update(), apogee_baro_event(), baro_cb(), dw1000_arduino_periodic(), gps_cb(), gps_ubx_parse(), gyro_cb(), humid_sht_periodic(), incidence_cb(), ins_float_invariant_propagate(), ins_mekf_wind_wrapper_init(), logger_control_effectiveness_periodic(), logger_control_effectiveness_start(), mag_cb(), meteo_stick_periodic(), mf_daq_send_report(), mf_ptu_periodic(), pressure_diff_cb(), process_data(), sdlog_chibios_finish(), temod_event(), thd_startlog(), wind_estimator_init(), and wind_estimator_step().
bool sdOk = false |
Definition at line 84 of file sdlog_chibios.c.
Referenced by thd_startlog().
|
static |
Definition at line 65 of file sdlog_chibios.c.
Referenced by thd_bat_survey().