Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
sdlogger_spi_direct.c File Reference
+ Include dependency graph for sdlogger_spi_direct.c:

Go to the source code of this file.

Macros

#define PERIODIC_C_LOGGER
 
#define LOGGER_LED_ON   {}
 
#define LOGGER_LED_OFF   {}
 

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

Developed using Test Driven Development. Test code available at: https://github.com/bartslinger/paparazzi-unittest

Definition in file sdlogger_spi_direct.c.

Macro Definition Documentation

◆ LOGGER_LED_OFF

#define LOGGER_LED_OFF   {}

Definition at line 49 of file sdlogger_spi_direct.c.

◆ LOGGER_LED_ON

#define LOGGER_LED_ON   {}

Definition at line 48 of file sdlogger_spi_direct.c.

◆ PERIODIC_C_LOGGER

#define PERIODIC_C_LOGGER

Definition at line 30 of file sdlogger_spi_direct.c.

Function Documentation

◆ sdlogger_spi_direct_char_available()

int sdlogger_spi_direct_char_available ( void *  p)

Definition at line 467 of file sdlogger_spi_direct.c.

References p.

Referenced by sdlogger_spi_direct_init().

+ Here is the caller graph for this function:

◆ sdlogger_spi_direct_check_free_space()

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

Definition at line 422 of file sdlogger_spi_direct.c.

References p, SDLOGGER_BUFFER_SIZE, and SDLogger_Logging.

Referenced by sdlogger_spi_direct_init().

+ Here is the caller graph for this function:

◆ sdlogger_spi_direct_command()

◆ sdlogger_spi_direct_get_byte()

uint8_t sdlogger_spi_direct_get_byte ( void *  p)

Definition at line 472 of file sdlogger_spi_direct.c.

References p.

Referenced by sdlogger_spi_direct_init().

+ Here is the caller graph for this function:

◆ sdlogger_spi_direct_index_received()

◆ sdlogger_spi_direct_init()

◆ sdlogger_spi_direct_multiwrite_written()

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 385 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:

◆ sdlogger_spi_direct_periodic()

◆ sdlogger_spi_direct_put_buffer()

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

Definition at line 454 of file sdlogger_spi_direct.c.

References fd, p, and 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:

◆ sdlogger_spi_direct_put_byte()

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

Definition at line 434 of file sdlogger_spi_direct.c.

References SDCard::output_buf, p, sdcard1, SDCard_MultiWriteIdle, sdcard_spi_multiwrite_next(), SDLOGGER_BUFFER_SIZE, sdlogger_spi_direct_multiwrite_written(), and SDCard::status.

Referenced by sdlogger_spi_direct_init(), and sdlogger_spi_direct_put_buffer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sdlogger_spi_direct_send_message()

void sdlogger_spi_direct_send_message ( void *  p,
long  fd 
)

Definition at line 462 of file sdlogger_spi_direct.c.

References p.

Referenced by sdlogger_spi_direct_init().

+ Here is the caller graph for this function:

◆ sdlogger_spi_direct_start()

void sdlogger_spi_direct_start ( void  )

Definition at line 282 of file sdlogger_spi_direct.c.

◆ sdlogger_spi_direct_stop()

void sdlogger_spi_direct_stop ( void  )

Definition at line 283 of file sdlogger_spi_direct.c.

Variable Documentation

◆ sdlogger_spi