Paparazzi UAS
v5.10_stable-5-g83a0da5-dirty
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the source code of this file.
Data Structures | |
struct | sdlogger_spi_periph |
Macros | |
#define | SDLOGGER_BUFFER_SIZE 128 |
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 |
Definition in file sdlogger_spi_direct.h.
struct sdlogger_spi_periph |
Definition at line 49 of file sdlogger_spi_direct.h.
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 |
#define SDLOGGER_BUFFER_SIZE 128 |
Definition at line 29 of file sdlogger_spi_direct.h.
Referenced by sdlogger_spi_direct_check_free_space(), and sdlogger_spi_direct_put_byte().
enum SDLoggerStatus |
Definition at line 34 of file sdlogger_spi_direct.h.
int sdlogger_spi_direct_char_available | ( | void * | p | ) |
Definition at line 408 of file sdlogger_spi_direct.c.
Referenced by sdlogger_spi_direct_init().
bool sdlogger_spi_direct_check_free_space | ( | struct sdlogger_spi_periph * | p, |
long * | fd, | ||
uint16_t | len | ||
) |
Definition at line 364 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().
void sdlogger_spi_direct_command | ( | void | ) |
Definition at line 342 of file sdlogger_spi_direct.c.
References sdlogger_spi_periph::command, sdlogger_spi_periph::download_id, sdlogger_spi_periph::download_length, LOGGER_LED_ON, sdcard1, sdlogger_spi_periph::sdcard_buf_idx, SDCard_Idle, sdcard_spi_read_block(), SDLogger_Downloading, SDLogger_GettingIndexForDownload, sdlogger_spi, sdlogger_spi_direct_index_received(), sdlogger_spi_periph::status, and SDCard::status.
uint8_t sdlogger_spi_direct_get_byte | ( | void * | p | ) |
Definition at line 413 of file sdlogger_spi_direct.c.
Referenced by sdlogger_spi_direct_init().
void sdlogger_spi_direct_index_received | ( | void | ) |
sdlogger_spi_direct_index_received Callback from SD Card when block at index location is received.
Definition at line 231 of file sdlogger_spi_direct.c.
References sdlogger_spi_periph::download_address, sdlogger_spi_periph::download_id, sdlogger_spi_periph::download_length, SDCard::input_buf, sdlogger_spi_periph::last_completed, sdlogger_spi_periph::log_len, LOGGER_LED_OFF, sdlogger_spi_periph::next_available_address, SDCard::output_buf, SD_BLOCK_SIZE, sdcard1, sdlogger_spi_periph::sdcard_buf_idx, sdcard_spi_read_block(), sdcard_spi_write_block(), SDLogger_Downloading, SDLogger_GettingIndexForDownload, SDLogger_GettingIndexForUpdate, SDLogger_Ready, SDLogger_RetreivingIndex, sdlogger_spi, SDLogger_UpdatingIndex, and sdlogger_spi_periph::status.
Referenced by sdlogger_spi_direct_command(), and sdlogger_spi_direct_periodic().
void sdlogger_spi_direct_init | ( | void | ) |
sdlogger_spi_direct_init Initialize the logger and SD Card.
Definition at line 70 of file sdlogger_spi_direct.c.
References sdlogger_spi_periph::buffer, sdlogger_spi_periph::command, sdlogger_spi_periph::device, sdlogger_spi_periph::do_log, sdlogger_spi_periph::download_address, sdlogger_spi_periph::download_id, sdlogger_spi_periph::download_length, sdlogger_spi_periph::idx, sdlogger_spi_periph::last_completed, sdlogger_spi_periph::log_len, sdlogger_spi_periph::next_available_address, sdcard1, sdlogger_spi_periph::sdcard_buf_idx, sdcard_spi_init(), SDLogger_Initializing, sdlogger_spi, sdlogger_spi_direct_char_available(), sdlogger_spi_direct_check_free_space(), sdlogger_spi_direct_get_byte(), sdlogger_spi_direct_put_buffer(), sdlogger_spi_direct_put_byte(), sdlogger_spi_direct_send_message(), and sdlogger_spi_periph::status.
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 327 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().
void sdlogger_spi_direct_periodic | ( | void | ) |
sdlogger_spi_direct_periodic Periodic function called at module frequency
Definition at line 109 of file sdlogger_spi_direct.c.
References autopilot_motors_on, DefaultPeriodic, sdlogger_spi_periph::device, sdlogger_spi_periph::do_log, DOWNLINK_DEVICE, sdlogger_spi_periph::download_address, sdlogger_spi_periph::download_length, fd, SDCard::input_buf, LOGGER_LED_OFF, LOGGER_LED_ON, sdlogger_spi_periph::next_available_address, SDCard::output_buf, SD_BLOCK_SIZE, sdcard1, sdlogger_spi_periph::sdcard_buf_idx, SDCard_Idle, SDCard_MultiWriteIdle, sdcard_spi_multiwrite_next(), sdcard_spi_multiwrite_start(), sdcard_spi_multiwrite_stop(), sdcard_spi_periodic(), sdcard_spi_read_block(), SDLogger_Downloading, SDLogger_GettingIndexForUpdate, SDLogger_Initializing, SDLogger_Logging, SDLogger_LoggingFinalBlock, SDLogger_Ready, SDLogger_RetreivingIndex, sdlogger_spi, sdlogger_spi_direct_index_received(), sdlogger_spi_direct_multiwrite_written(), SDLogger_StoppedLogging, SDLogger_UpdatingIndex, sdlogger_spi_periph::status, SDCard::status, uart_check_free_space(), and uart_put_byte().
void sdlogger_spi_direct_put_buffer | ( | struct sdlogger_spi_periph * | p, |
long | fd, | ||
uint8_t * | data, | ||
uint16_t | len | ||
) |
Definition at line 395 of file sdlogger_spi_direct.c.
References sdlogger_spi_direct_put_byte().
Referenced by sdlogger_spi_direct_init().
void sdlogger_spi_direct_put_byte | ( | struct sdlogger_spi_periph * | p, |
long | fd, | ||
uint8_t | data | ||
) |
Definition at line 375 of file sdlogger_spi_direct.c.
References sdlogger_spi_periph::buffer, sdlogger_spi_periph::idx, SDCard::output_buf, sdcard1, sdlogger_spi_periph::sdcard_buf_idx, 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().
void sdlogger_spi_direct_send_message | ( | void * | p, |
long | fd | ||
) |
Definition at line 403 of file sdlogger_spi_direct.c.
Referenced by sdlogger_spi_direct_init().
void sdlogger_spi_direct_start | ( | void | ) |
Definition at line 224 of file sdlogger_spi_direct.c.
void sdlogger_spi_direct_stop | ( | void | ) |
Definition at line 225 of file sdlogger_spi_direct.c.
struct sdlogger_spi_periph sdlogger_spi |
Definition at line 64 of file sdlogger_spi_direct.c.
Referenced by sdlogger_spi_direct_command(), sdlogger_spi_direct_index_received(), sdlogger_spi_direct_init(), sdlogger_spi_direct_multiwrite_written(), and sdlogger_spi_direct_periodic().