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
sst25vfxxxx.c File Reference

Driver for the SST25Vxxxx flash chips. More...

#include "sst25vfxxxx.h"
+ Include dependency graph for sst25vfxxxx.c:

Go to the source code of this file.

Functions

void sst25vfxxxx_init (struct SST25VFxxxx *sst, struct spi_periph *spi_p, const uint8_t slave_idx, SPICallback spi_cb)
 Initializing the sst25vfxxxx chip. More...
 
void sst25vfxxxx_after_cb (struct SST25VFxxxx *sst)
 Callback of the SPI after going one level higher for gathering the sst pointer. More...
 
void sst25vfxxxx_read_id (struct SST25VFxxxx *sst)
 Read the chip identifier. More...
 
void sst25vfxxxx_block_write_en (struct SST25VFxxxx *sst)
 Enable block writing. More...
 
void sst25vfxxxx_chip_erase (struct SST25VFxxxx *sst)
 Full chip erase. More...
 
void sst25vfxxxx_write (struct SST25VFxxxx *sst, uint8_t *transfer_buffer, uint8_t transfer_length)
 Write bytes. More...
 
void sst25vfxxxx_read (struct SST25VFxxxx *sst, uint8_t *transfer_buffer, uint8_t transfer_length)
 Read bytes Need 5 more extra bytes because of SPI overhead. More...
 

Detailed Description

Driver for the SST25Vxxxx flash chips.

Definition in file sst25vfxxxx.c.

Function Documentation

void sst25vfxxxx_block_write_en ( struct SST25VFxxxx sst)

Enable block writing.

Definition at line 240 of file sst25vfxxxx.c.

References spi_transaction::input_length, SST25VFxxxx::output_buf, spi_transaction::output_length, SST25VFxxxx::spi_p, spi_submit(), SST25VFxxxx::spi_t, SST25VFXXXX_EWSR, SST25VFXXXX_IDLE, SST25VFXXXX_WRITE_EN, SST25VFxxxx::status, and SST25VFxxxx::status_idx.

Referenced by sst25vfxxxx_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void sst25vfxxxx_chip_erase ( struct SST25VFxxxx sst)

Full chip erase.

Definition at line 258 of file sst25vfxxxx.c.

References spi_transaction::input_length, SST25VFxxxx::output_buf, spi_transaction::output_length, SST25VFxxxx::spi_p, spi_submit(), SST25VFxxxx::spi_t, SST25VFXXXX_CHIP_ERASE, SST25VFXXXX_IDLE, SST25VFXXXX_WREN, SST25VFxxxx::status, and SST25VFxxxx::status_idx.

Referenced by direct_memory_logger_set().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void sst25vfxxxx_read ( struct SST25VFxxxx sst,
uint8_t transfer_buffer,
uint8_t  transfer_length 
)

Read bytes Need 5 more extra bytes because of SPI overhead.

Definition at line 300 of file sst25vfxxxx.c.

References SST25VFxxxx::flash_addr, spi_transaction::input_buf, spi_transaction::input_length, SST25VFxxxx::output_buf, spi_transaction::output_length, SST25VFxxxx::spi_p, spi_submit(), SST25VFxxxx::spi_t, SST25VFXXXX_HGIH_SPEAD_READ, SST25VFXXXX_IDLE, SST25VFXXXX_READ_BYTES, SST25VFxxxx::status, and SST25VFxxxx::status_idx.

Referenced by direct_memory_logger_periodic(), and direct_memory_logger_set().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void sst25vfxxxx_read_id ( struct SST25VFxxxx sst)
void sst25vfxxxx_write ( struct SST25VFxxxx sst,
uint8_t transfer_buffer,
uint8_t  transfer_length 
)