annotate Discovery/Inc/externLogbookFlash.h @ 1027:158100a84ebd GasConsumption

New profile feature: In the past the OSTC provide just one instance for settings. If for example a diver switched from OC to CCR configuration several settings had to be modified. To improve this and to be more flexible in adapting the OSTC to differend dive scenarions the usage of up to 4 profiles has beem introduced. The profiles are copies of the common settings but stored in a separate, previously not used, flash section => no impact to existings settings handling. For access to the profiles the existing setting flash functions are reused. To enable this a parameter war introduced which defines the target of the operation (common settings or profiles).
author Ideenmodellierer
date Sun, 07 Sep 2025 19:03:44 +0200
parents eb2060caca7d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
3 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
4 /// \file Discovery/Inc/externLogbookFlash.h
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief Header File to access the new 1.8 Volt Spansion S25FS256S 256 Mbit (32 Mbyte)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
6 /// \author heinrichs weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
7 /// \date 07-Aug-2014
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
8 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
9 /// $Id$
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
10 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
11 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
12 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
13 /// This program is free software: you can redistribute it and/or modify
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
14 /// it under the terms of the GNU General Public License as published by
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
15 /// the Free Software Foundation, either version 3 of the License, or
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
16 /// (at your option) any later version.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
17 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
18 /// This program is distributed in the hope that it will be useful,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
21 /// GNU General Public License for more details.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
22 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
23 /// You should have received a copy of the GNU General Public License
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
24 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
25 //////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
26
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
27 /* Define to prevent recursive inclusion -------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
28 #ifndef EXTERN_LOGBOOK_FLASH_H
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
29 #define EXTERN_LOGBOOK_FLASH_H
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
30
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
31 /* Includes ------------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
32 #include "stm32f4xx_hal.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33 #include "logbook.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 /* Exported variables --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
37 /* 4 KB
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
38 * one for the basics like min./max. temperature, max. depth, charge cycles
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
39 * after that two or more 0for settings (less than one necessary as of 26. March 2015)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
40 *
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
41 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
42 #define DDSTART 0x00000000
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
43 #define DDSTOP 0x00000FFF
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
44
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
45 #define PROFILE0_START 0x00001000 /* store profiles within one 4k sector because they are always read / written as one block */
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
46 #define PROFILE0_STOP 0x000013FF /* no ring functionality is implemented because changes are not expected very often */
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
47 #define PROFILE1_START 0x00001400
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
48 #define PROFILE1_STOP 0x000017FF
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
49 #define PROFILE2_START 0x00001800
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
50 #define PROFILE2_STOP 0x00001BFF
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
51 #define PROFILE3_START 0x00001C00
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
52 #define PROFILE3_STOP 0x00001FFF
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
53
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
54 #define unused1START 0x00002000
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
55 #define unused1STOP 0x00007FFF
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
56
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
57 /* 32 KB */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58 #define unused2START 0x00008000
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 #define unused2STOP 0x0000FFFF
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
60
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
61 /* 64 KB
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
62 * 001x used for settings
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
63 * 001x used for VPM
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
64 * 005x unused
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
65 * 008x for header (0.5 MB)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
66 * 192x for samples (12 MB)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
67 * 016x for firmware ( 1 MB)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
68 * 032x for firmware2 ( 2 MB)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
69 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
70 #define SETTINGSSTART 0x00010000
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
71 #define SETTINGSSTOP 0x0001FFFF
425
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
72 #define VPMSTART 0x00020000
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
73 #define VPMSTOP 0x0002FFFF
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
74 #define unused3START 0x00030000
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
75 #define unused3STOP 0x0007FFFF
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
76 #define HEADERSTART 0x00080000
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
77 #define HEADERSTOP 0x000FFFFF
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
78 #define SAMPLESTART 0x00100000
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
79 #define SAMPLESTOP 0x00CFFFFF
425
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
80 #define FWSTART 0x00D00000
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
81 #define FWSTOP 0x00DFFFFF
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
82 #define FWSTART2 0x00E00000
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
83 #define FWSTOP2 0x00FFFFFF
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
84 /* 16 MB with 4 Byte addressing */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
85 #define unused4START 0x01000000
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
86 #define unused4STOP 0x01FFFFFF
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
87
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
88 #define HEADERSIZE sizeof(SLogbookHeader)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
89 #define HEADERSIZEOSTC3 sizeof(SLogbookHeaderOSTC3)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
90
425
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
91 /* Sample ring buffer sector states derived from the usage at begin and end of a sector */
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
92 #define SECTOR_CLOSED (0)
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
93 #define SECTOR_NOTUSED (1)
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
94 #define SECTOR_INUSE (4)
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
95 #define SECTOR_EMPTY (5)
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
96
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
97
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
98 typedef enum{
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
99 EF_HEADER,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
100 EF_SAMPLE,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
101 EF_DEVICEDATA,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
102 EF_VPMDATA,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
103 EF_SETTINGS,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
104 EF_FIRMWARE,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
105 EF_FIRMWARE2,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
106 EF_PROFILE0,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
107 EF_PROFILE1,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
108 EF_PROFILE2,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
109 EF_PROFILE3,
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
110 }which_ring_enum;
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
111
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
112
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
113 /* Exported types ------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
114 typedef struct{
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
115 uint8_t byteLow;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
116 uint8_t byteMidLow;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
117 uint8_t byteMidHigh;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
118 uint8_t byteHigh;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
119 } addressToByte_t;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
120
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
121 typedef struct{
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
122 uint8_t byteLow;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
123 uint8_t byteHigh;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
124 } WordToByte_t;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
125
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
126 typedef union{
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
127 addressToByte_t u8bit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
128 uint32_t u32bit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
129 } convert_Type;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
130
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
131 typedef union{
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
132 WordToByte_t u8bit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
133 uint16_t u16bit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
134 } convert16_Type;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
135
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
136 /* Exported functions --------------------------------------------------------*/
1027
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
137 void ext_flash_write_settings(uint8_t whichSettings, uint8_t resetRing);
158100a84ebd New profile feature:
Ideenmodellierer
parents: 556
diff changeset
138 uint8_t ext_flash_read_settings(uint8_t whichSettings);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
139
421
3f7d80f37bfc Enable sequentionel writing of device data:
ideenmodellierer
parents: 268
diff changeset
140 void ext_flash_write_devicedata(uint8_t resetRing);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
141 uint16_t ext_flash_read_devicedata(uint8_t *buffer, uint16_t max_length);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
142 void ext_flash_read_fixed_16_devicedata_blocks_formated_128byte_total(uint8_t *buffer);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
143
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
144 #ifndef BOOTLOADER_STANDALONE
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
145 void ext_flash_write_vpm(SVpm *vpmInput);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
146 int ext_flash_read_vpm(SVpm *vpmOutput);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
147 #endif
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
148
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
149 void ext_flash_start_new_dive_log_and_set_actualPointerSample(uint8_t *pHeaderPreDive);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
150 void ext_flash_create_new_dive_log(uint8_t *pHeaderPreDive);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
151 void ext_flash_close_new_dive_log(uint8_t *pHeaderPostDive);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
152
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
153 void ext_flash_write_sample(uint8_t *pSample, uint16_t length);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
154
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
155 uint8_t ext_flash_count_dive_headers(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
156 void ext_flash_read_dive_header(uint8_t *pHeaderToFill, uint8_t StepBackwards);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
157 void ext_flash_read_dive_header2(uint8_t *pHeaderToFill, uint8_t id, _Bool bOffset);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
158 void ext_flash_open_read_sample(uint8_t StepBackwards, uint32_t *totalNumberOfBytes);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
159 void ext_flash_read_next_sample_part(uint8_t *pSample, uint8_t length);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
160 void ext_flash_close_read_sample(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
161 void ext_flash_set_entry_point(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
162 void ext_flash_reopen_read_sample_at_entry_point(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
163
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
164 void ext_flash_write_dive_raw_with_double_header_1K(uint8_t *data, uint32_t length);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
165 uint32_t ext_flash_read_dive_raw_with_double_header_1K(uint8_t *data, uint32_t max_size, uint8_t StepBackwards);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
166
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
167 void ext_flash_read_header_memory(uint8_t *data);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
168 void ext_flash_write_header_memory(uint8_t *data);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
169
463
e4f6afd9c96b Added function to transfer sample buffer:
ideenmodellierer
parents: 453
diff changeset
170 void ext_flash_read_sample_memory(uint8_t *data,uint16_t blockId);
e4f6afd9c96b Added function to transfer sample buffer:
ideenmodellierer
parents: 453
diff changeset
171 void ext_flash_write_sample_memory(uint8_t *data,uint16_t blockId);
e4f6afd9c96b Added function to transfer sample buffer:
ideenmodellierer
parents: 453
diff changeset
172
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
173 void ext_flash_erase_logbook(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
174 void ext_flash_erase_chip(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
175 void ext_flash_erase_firmware(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
176 void ext_flash_erase_firmware2(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
177 void ext_flash_disable_protection_for_logbook(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
178 void ext_flash_enable_protection(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
179
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
180 void ext_flash_read_block_start(void);
453
1c0b911c367f Added compile variant enabling the reset of profile sample information:
ideenmodellierer
parents: 428
diff changeset
181 uint8_t ext_dive_log_consistent(void);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
182 void ext_flash_repair_dive_log(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
183
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
184 uint8_t ext_flash_erase_firmware_if_not_empty(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
185 uint8_t ext_flash_erase_firmware2_if_not_empty(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
186 void ext_flash_write_firmware(uint8_t *pSample1, uint32_t length1);//,uint8_t *pSample2, uint32_t length2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
187 uint32_t ext_flash_read_firmware(uint8_t *pSample1, uint32_t max_length, uint8_t *magicByte);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
188 uint8_t ext_flash_read_firmware_version(char *text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
189
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
190 void ext_flash_write_firmware2(uint32_t offset, uint8_t *pSample1, uint32_t length1,uint8_t *pSample2, uint32_t length2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
191 uint32_t ext_flash_read_firmware2(uint32_t *offset, uint8_t *pSample1, uint32_t max_length1, uint8_t *pSample2, uint32_t max_length2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
192
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
193 uint16_t ext_flash_repair_SPECIAL_dive_numbers_starting_count_with(uint16_t startCount);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
194
556
eb2060caca7d Switch source of o2 sensor data depending on availability of external ADC:
Ideenmodellierer
parents: 466
diff changeset
195 uint32_t ext_flash_AnalyseSampleBuffer(void);
425
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
196 void ext_flash_CloseSector(void);
466
538eb1c976e9 Removed invalidate header function because it is no lonnger needed
ideenmodellierer
parents: 463
diff changeset
197
538eb1c976e9 Removed invalidate header function because it is no lonnger needed
ideenmodellierer
parents: 463
diff changeset
198 uint32_t ext_flash_read_profilelength_small_header(uint32_t smallHeaderAddr);
538eb1c976e9 Removed invalidate header function because it is no lonnger needed
ideenmodellierer
parents: 463
diff changeset
199 uint8_t ext_flash_SampleOverrunValid(void);
538eb1c976e9 Removed invalidate header function because it is no lonnger needed
ideenmodellierer
parents: 463
diff changeset
200
425
86fcac4cc43a Added function to analyse the sampel ringbuffer:
ideenmodellierer
parents: 421
diff changeset
201
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
202 #endif /* EXTERN_LOGBOOK_FLASH_H */