Rev 9 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9 | Rev 10 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /* |
1 | /* |
2 | * nvram.h |
2 | * nvram.h |
3 | * |
3 | * |
4 | * Created on: 4 Jun 2017 |
4 | * Created on: 4 Jun 2017, modified for STM32F1 series using 2 pages of Flash rather than NVRAM |
5 | * Author: Mike |
5 | * Author: Mike |
- | 6 | * |
|
- | 7 | * The design stores 8 bit data with an 8 bit tag value : this allows up to 253 different tags to be used (0x00 and 0xFF are reserved) |
|
- | 8 | * |
|
- | 9 | * In the application here, each element in a 10x10 ignition timing map is given its own tag, along with the rpm and vacuum axis values, |
|
- | 10 | * and an overall timing correction tag. |
|
- | 11 | * |
|
6 | */ |
12 | */ |
7 | #include "libPLX/plx.h" |
- | |
8 | 13 | ||
9 | #pragma once |
- | |
10 | 14 | ||
- | 15 | #pragma once |
|
- | 16 | #include "stdint.h" |
|
11 | 17 | ||
12 | #if defined __cplusplus |
18 | #if defined __cplusplus |
13 | extern "C" |
19 | extern "C" |
14 | { |
20 | { |
15 | #endif |
21 | #endif |
16 | #pragma pack(push, 1) |
22 | #pragma pack(push, 1) |
17 | 23 | ||
18 | ///\brief State of item |
24 | ///\brief State of item |
19 | /// this is expected to be packed into 32 bits |
25 | /// this is expected to be packed into 16 bits |
20 | typedef union |
26 | typedef union |
21 | { |
27 | { |
22 | struct |
28 | struct |
23 | { |
29 | { |
24 | unsigned tag : 8; |
30 | unsigned tag : 8; |