 e3d473bf42
			
		
	
	
		e3d473bf42
		
			
		
	
	
	
	
		
			
			* get rid of BSP layer * sector_cache: init in any case * new sd-spi driver: init * Delete stm32_adafruit_sd.c.old * Delete spi_sd_hal.c.old * Storage: faster api lock primitive * Threads: priority control * Flags: correct error code * Spi: dma mode * SD-card: use DMA for big blocks of SPI data * Fix wrong SD_TOKEN_START_DATA_MULTIPLE_BLOCK_WRITE value * do not memset cache if it is NULL * remove top-level timeouts * sd hal: disable debug * Furi HAL: DMA * Furi HAL RFID: use furi_hal_dma * Furi HAL DMA: tests * Furi HAL DMA: docs * rollback "Furi HAL RFID: use furi_hal_dma" * 4 channels taken from DMA manager for core HAL. * Furi HAL DMA: live fast, die young * RPC tests: increase message buffer * SPI HAL: use second DMA instance * sd hal: new CID getter * SPI hal: use non-DMA version if kernel is not running * IR hal: generalize DMA definition * storage: add CID data to sd info * RFID hal: generalize DMA definition * SUBGHZ hal: generalize DMA definition. Core hal moved to DMA2. * Storage: small optimizations, removal of extra mutex * Storage: redundant macro * SD hal: more timeouts * SPI hal: DMA init * Target: make furi_hal_spi_dma_init symbol private * Update F18 api symbols Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
		
			
				
	
	
		
			44 lines
		
	
	
		
			777 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			777 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| #include <furi.h>
 | |
| #include "filesystem_api_defines.h"
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #define SD_LABEL_LENGTH 34
 | |
| 
 | |
| typedef enum {
 | |
|     FST_UNKNOWN,
 | |
|     FST_FAT12,
 | |
|     FST_FAT16,
 | |
|     FST_FAT32,
 | |
|     FST_EXFAT,
 | |
| } SDFsType;
 | |
| 
 | |
| typedef struct {
 | |
|     SDFsType fs_type;
 | |
|     uint32_t kb_total;
 | |
|     uint32_t kb_free;
 | |
|     uint16_t cluster_size;
 | |
|     uint16_t sector_size;
 | |
|     char label[SD_LABEL_LENGTH];
 | |
| 
 | |
|     uint8_t manufacturer_id;
 | |
|     char oem_id[3];
 | |
|     char product_name[6];
 | |
|     uint8_t product_revision_major;
 | |
|     uint8_t product_revision_minor;
 | |
|     uint32_t product_serial_number;
 | |
|     uint8_t manufacturing_month;
 | |
|     uint16_t manufacturing_year;
 | |
| 
 | |
|     FS_Error error;
 | |
| } SDInfo;
 | |
| 
 | |
| const char* sd_api_get_fs_type_text(SDFsType fs_type);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 |