Paparazzi UAS  v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
sdlogger_spi_direct.h File Reference
#include "pprzlink/pprzlink_device.h"
#include "peripherals/sdcard_spi.h"
+ Include dependency graph for sdlogger_spi_direct.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sdlogger_spi_periph
 

Macros

#define SDLOGGER_BUFFER_SIZE   128
 

Enumerations

enum  SDLoggerStatus {
  SDLogger_UnInit, SDLogger_Error, SDLogger_Initializing, SDLogger_RetreivingIndex,
  SDLogger_Ready, SDLogger_Logging, SDLogger_LoggingFinalBlock, SDLogger_StoppedLogging,
  SDLogger_GettingIndexForUpdate, SDLogger_UpdatingIndex, SDLogger_GettingIndexForDownload, SDLogger_Downloading
}
 

Functions

void sdlogger_spi_direct_init (void)
 sdlogger_spi_direct_init Initialize the logger and SD Card. More...
 
void sdlogger_spi_direct_periodic (void)
 sdlogger_spi_direct_periodic Periodic function called at module frequency More...
 
void sdlogger_spi_direct_start (void)
 
void sdlogger_spi_direct_stop (void)
 
void sdlogger_spi_direct_index_received (void)
 sdlogger_spi_direct_index_received Callback from SD Card when block at index location is received. More...
 
void sdlogger_spi_direct_multiwrite_written (void)
 sdlogger_spi_direct_multiwrite_written Called when a multiwrite is complete. More...
 
void sdlogger_spi_direct_command (void)
 
bool sdlogger_spi_direct_check_free_space (struct sdlogger_spi_periph *p, long *fd, uint16_t len)
 
void sdlogger_spi_direct_put_byte (struct sdlogger_spi_periph *p, long fd, uint8_t data)
 
void sdlogger_spi_direct_put_buffer (struct sdlogger_spi_periph *p, long fd, uint8_t *data, uint16_t len)
 
void sdlogger_spi_direct_send_message (void *p, long fd)
 
int sdlogger_spi_direct_char_available (void *p)
 
uint8_t sdlogger_spi_direct_get_byte (void *p)
 

Variables

struct sdlogger_spi_periph sdlogger_spi
 

Detailed Description

Author
Bart Slinger SPI SD Logger that saves pprzlog messages to SD Card.

Definition in file sdlogger_spi_direct.h.


Data Structure Documentation

struct sdlogger_spi_periph

Definition at line 49 of file sdlogger_spi_direct.h.

+ Collaboration diagram for sdlogger_spi_periph:
Data Fields
uint8_t buffer[SDLOGGER_BUFFER_SIZE]
uint8_t command
struct link_device device
uint8_t do_log
uint32_t download_address
uint8_t download_id
uint32_t download_length
uint8_t idx
uint8_t last_completed
uint32_t log_len
uint32_t next_available_address
uint16_t sdcard_buf_idx
enum SDLoggerStatus status

Macro Definition Documentation

#define SDLOGGER_BUFFER_SIZE   128

Enumeration Type Documentation

Enumerator
SDLogger_UnInit 
SDLogger_Error 
SDLogger_Initializing 
SDLogger_RetreivingIndex 
SDLogger_Ready 
SDLogger_Logging 
SDLogger_LoggingFinalBlock 
SDLogger_StoppedLogging 
SDLogger_GettingIndexForUpdate 
SDLogger_UpdatingIndex 
SDLogger_GettingIndexForDownload 
SDLogger_Downloading 

Definition at line 34 of file sdlogger_spi_direct.h.

Function Documentation

int sdlogger_spi_direct_char_available ( void *  p)

Definition at line 409 of file sdlogger_spi_direct.c.

Referenced by sdlogger_spi_direct_init().

+ Here is the caller graph for this function:

bool sdlogger_spi_direct_check_free_space ( struct sdlogger_spi_periph p,
long *  fd,
uint16_t  len 
)

Definition at line 365 of file sdlogger_spi_direct.c.

References sdlogger_spi_periph::idx, sdlogger_spi_periph::sdcard_buf_idx, SDLOGGER_BUFFER_SIZE, SDLogger_Logging, and sdlogger_spi_periph::status.

Referenced by sdlogger_spi_direct_init().

+ Here is the caller graph for this function:

uint8_t sdlogger_spi_direct_get_byte ( void *  p)

Definition at line 414 of file sdlogger_spi_direct.c.

Referenced by sdlogger_spi_direct_init().

+ Here is the caller graph for this function:

void sdlogger_spi_direct_multiwrite_written ( void  )

sdlogger_spi_direct_multiwrite_written Called when a multiwrite is complete.

Data stored in the logger buffer is then moved to the SD Card buffer, which is now available again.

Definition at line 328 of file sdlogger_spi_direct.c.

References sdlogger_spi_periph::buffer, sdlogger_spi_periph::idx, sdlogger_spi_periph::log_len, SDCard::output_buf, sdcard1, sdlogger_spi_periph::sdcard_buf_idx, and sdlogger_spi.

Referenced by sdlogger_spi_direct_periodic(), and sdlogger_spi_direct_put_byte().

+ Here is the caller graph for this function:

void sdlogger_spi_direct_put_buffer ( struct sdlogger_spi_periph p,
long  fd,
uint8_t data,
uint16_t  len 
)

Definition at line 396 of file sdlogger_spi_direct.c.

References sdlogger_spi_direct_put_byte().

Referenced by sdlogger_spi_direct_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void sdlogger_spi_direct_put_byte ( struct sdlogger_spi_periph p,
long  fd,
uint8_t  data 
)
void sdlogger_spi_direct_send_message ( void *  p,
long  fd 
)

Definition at line 404 of file sdlogger_spi_direct.c.

Referenced by sdlogger_spi_direct_init().

+ Here is the caller graph for this function:

void sdlogger_spi_direct_start ( void  )

Definition at line 225 of file sdlogger_spi_direct.c.

void sdlogger_spi_direct_stop ( void  )

Definition at line 226 of file sdlogger_spi_direct.c.

Variable Documentation