NinjaFlight
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
flash.h
Go to the documentation of this file.
1 /*
2  * This file is part of Ninjaflight.
3  *
4  * Ninjaflight is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * Ninjaflight is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with Ninjaflight. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #pragma once
19 
20 #include <stdint.h>
21 
22 typedef struct flashGeometry_s {
23  uint16_t sectors; // Count of the number of erasable blocks on the device
24 
25  uint16_t pagesPerSector;
26  const uint16_t pageSize; // In bytes
27 
28  uint32_t sectorSize; // This is just pagesPerSector * pageSize
29 
30  uint32_t totalSize; // This is just sectorSize * sectors
uint32_t totalSize
Definition: flash.h:30
const uint16_t pageSize
Definition: flash.h:26
uint32_t sectorSize
Definition: flash.h:28
struct flashGeometry_s flashGeometry_t
uint16_t sectors
Definition: flash.h:23
Definition: flash.h:22
uint16_t pagesPerSector
Definition: flash.h:25