Paparazzi UAS  v5.15_devel-230-gc96ce27
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
sdlog_chibios.c File Reference
+ Include dependency graph for sdlog_chibios.c:

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...
 

Macro Definition Documentation

#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.

Referenced by thd_startlog().

#define SDLOG_CONTIGUOUS_STORAGE_MEM   50

Definition at line 57 of file sdlog_chibios.c.

Referenced by thd_startlog().

#define SDLOG_START_DELAY   30

Definition at line 47 of file sdlog_chibios.c.

Referenced by thd_startlog().

Enumeration Type Documentation

anonymous enum

sdlog status

Enumerator
SDLOG_STOPPED 
SDLOG_RUNNING 
SDLOG_ERROR 

Definition at line 98 of file sdlog_chibios.c.

Function Documentation

void chibios_sdlog_init ( struct chibios_sdlog sdlog,
FileDes file 
)

init chibios_sdlog structure

Definition at line 157 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uint8_t null_byte_function ( struct chibios_sdlog p)
static

Definition at line 155 of file sdlog_chibios.c.

Referenced by chibios_sdlog_init().

+ Here is the caller graph for this function:

static int null_function ( struct chibios_sdlog p)
static

Definition at line 154 of file sdlog_chibios.c.

Referenced by chibios_sdlog_init().

+ Here is the caller graph for this function:

static void powerOutageIsr ( void  )
static

Definition at line 328 of file sdlog_chibios.c.

Referenced by thd_bat_survey().

+ Here is the caller graph for this function:

static int sdlog_check_free_space ( struct chibios_sdlog p,
long *  fd,
uint16_t  len 
)
static

Definition at line 121 of file sdlog_chibios.c.

References SDLOG_OK, and status.

Referenced by chibios_sdlog_init().

+ Here is the caller graph for this function:

void sdlog_chibios_finish ( const bool  flush)

Definition at line 188 of file sdlog_chibios.c.

References chibios_sdlog_status, mcu_periph_energy_save(), SDLOG_STOPPED, and sdLogFinish().

Referenced by thd_bat_survey(), and thdUsbStorage().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void sdlog_chibios_init ( void  )

Definition at line 172 of file sdlog_chibios.c.

References chibios_sdlog_status, DefaultPeriodic, register_periodic_telemetry(), SDLOG_STOPPED, send_sdlog_status(), thd_startlog(), and usbStorageStartPolling().

+ Here is the call graph for this function:

static void sdlog_send ( struct chibios_sdlog p,
long  fd 
)
static

Definition at line 148 of file sdlog_chibios.c.

References chibios_sdlog::file.

Referenced by chibios_sdlog_init().

+ Here is the caller graph for this function:

static void sdlog_transmit ( struct chibios_sdlog p,
long  fd,
uint8_t  byte 
)
static

Definition at line 133 of file sdlog_chibios.c.

References byte.

Referenced by chibios_sdlog_init().

+ Here is the caller graph for this function:

static void sdlog_transmit_buffer ( struct chibios_sdlog p,
long  fd,
uint8_t data,
uint16_t  len 
)
static

Definition at line 141 of file sdlog_chibios.c.

Referenced by chibios_sdlog_init().

+ Here is the caller graph for this function:

static void send_sdlog_status ( struct transport_tx *  trans,
struct link_device *  dev 
)
static

Definition at line 110 of file sdlog_chibios.c.

References chibios_sdlog_status, and status.

Referenced by sdlog_chibios_init().

+ Here is the caller graph for this function:

static void thd_bat_survey ( void *  arg)
static

Definition at line 306 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static THD_WORKING_AREA ( wa_thd_startlog  ,
2048   
)
static
static THD_WORKING_AREA ( wa_thd_bat_survey  ,
1024   
)
static

Variable Documentation

Definition at line 88 of file sdlog_chibios.c.

char chibios_sdlog_filenames[68]
static

sdlog filenames

Definition at line 106 of file sdlog_chibios.c.

enum { ... } chibios_sdlog_status
event_listener_t powerOutageListener

Definition at line 82 of file sdlog_chibios.c.

event_source_t powerOutageSource

Definition at line 81 of file sdlog_chibios.c.

const char PPRZ_LOG_DIR[] = "PPRZ"
static

Definition at line 67 of file sdlog_chibios.c.

Referenced by thd_startlog().

const char PPRZ_LOG_NAME[] = "pprzlog_"
static

Definition at line 66 of file sdlog_chibios.c.

Referenced by thd_startlog().

bool sdOk = false

Definition at line 84 of file sdlog_chibios.c.

Referenced by thd_startlog().

const uint16_t V_ALERT = DefaultAdcOfVoltage(5.5f)
static

Definition at line 65 of file sdlog_chibios.c.

Referenced by thd_bat_survey().