Paparazzi UAS
v5.12_stable-4-g9b43e9b
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.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) |
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... | |
#define DefaultAdcOfVoltage | ( | voltage | ) | ((uint32_t) (voltage/(DefaultVoltageOfAdc(1)))) |
Definition at line 63 of file sdlog_chibios.c.
#define SDLOG_AUTO_FLUSH_PERIOD 10 |
Definition at line 51 of file sdlog_chibios.c.
Referenced by thd_startlog().
#define SDLOG_CONTIGUOUS_STORAGE_MEM 50 |
Definition at line 56 of file sdlog_chibios.c.
Referenced by thd_startlog().
#define SDLOG_START_DELAY 30 |
Definition at line 46 of file sdlog_chibios.c.
Referenced by thd_startlog().
anonymous enum |
sdlog status
Enumerator | |
---|---|
SDLOG_STOPPED | |
SDLOG_RUNNING | |
SDLOG_ERROR |
Definition at line 97 of file sdlog_chibios.c.
void chibios_sdlog_init | ( | struct chibios_sdlog * | sdlog, |
FileDes * | file | ||
) |
init chibios_sdlog structure
Definition at line 151 of file sdlog_chibios.c.
References chibios_sdlog::device, chibios_sdlog::file, 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 149 of file sdlog_chibios.c.
Referenced by chibios_sdlog_init().
|
static |
Definition at line 306 of file sdlog_chibios.c.
Referenced by thd_bat_survey().
|
static |
Definition at line 116 of file sdlog_chibios.c.
References SDLOG_OK.
Referenced by chibios_sdlog_init().
void sdlog_chibios_finish | ( | const bool | flush | ) |
Definition at line 182 of file sdlog_chibios.c.
References chibios_sdlog_status, led_disable, SDLOG_STOPPED, and sdLogFinish().
Referenced by thd_bat_survey(), and thdUsbStorage().
void sdlog_chibios_init | ( | void | ) |
Definition at line 166 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 143 of file sdlog_chibios.c.
References chibios_sdlog::file.
Referenced by chibios_sdlog_init().
|
static |
Definition at line 128 of file sdlog_chibios.c.
References byte.
Referenced by chibios_sdlog_init().
|
static |
Definition at line 136 of file sdlog_chibios.c.
Referenced by chibios_sdlog_init().
|
static |
Definition at line 105 of file sdlog_chibios.c.
References chibios_sdlog_status.
Referenced by sdlog_chibios_init().
|
static |
Definition at line 284 of file sdlog_chibios.c.
References mcu_deep_sleep(), powerOutageIsr(), SDLOG_BAT_ADC, SDLOG_BAT_CHAN, sdlog_chibios_finish(), and V_ALERT.
Referenced by thd_startlog().
|
static |
Definition at line 198 of file sdlog_chibios.c.
References chibios_sdlog_init(), chibios_sdlog_status, gps, LED_TOGGLE, PPRZ_LOG_DIR, PPRZ_LOG_NAME, 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 87 of file sdlog_chibios.c.
enum { ... } chibios_sdlog_status |
sdlog status
Referenced by sdlog_chibios_finish(), sdlog_chibios_init(), send_sdlog_status(), and thd_startlog().
event_listener_t powerOutageListener |
Definition at line 81 of file sdlog_chibios.c.
event_source_t powerOutageSource |
Definition at line 80 of file sdlog_chibios.c.
|
static |
Definition at line 66 of file sdlog_chibios.c.
Referenced by thd_startlog().
|
static |
Definition at line 65 of file sdlog_chibios.c.
Referenced by thd_startlog().
FileDes pprzLogFile = -1 |
Definition at line 85 of file sdlog_chibios.c.
Referenced by airspeed_ets_read_event(), aoa_pwm_update(), apogee_baro_event(), gps_ubx_parse(), humid_sht_periodic(), ins_float_invariant_propagate(), meteo_stick_periodic(), mf_daq_send_report(), mf_ptu_periodic(), temod_event(), wind_estimator_init(), and wind_estimator_step().
bool sdOk = false |
Definition at line 83 of file sdlog_chibios.c.
Referenced by thd_startlog().
|
static |
Definition at line 64 of file sdlog_chibios.c.
Referenced by thd_bat_survey().