Rev 10 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 10 | Rev 11 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | 1 | ||
2 | 2 | ||
3 | #include "saveTiming.h" |
3 | #include "saveTiming.h" |
4 | 4 | ||
5 | #include "nvram.h" |
5 | #include "nvram.h" |
- | 6 | #include "main.h" |
|
6 | 7 | ||
7 | #include "libIgnTiming/timing.H" |
8 | #include "libIgnTiming/timing.H" |
8 | 9 | ||
9 | // define tags for items |
10 | // define tags for items |
10 | static const uint8_t TIMING_OFFSET_TAG = 1; // timing offset tag |
11 | static const uint8_t TIMING_OFFSET_TAG = 1; // timing offset tag |
Line 55... | Line 56... | ||
55 | setTimingAdjust(found->data.val); |
56 | setTimingAdjust(found->data.val); |
56 | else |
57 | else |
57 | missingData = 1; |
58 | missingData = 1; |
58 | 59 | ||
59 | // load in timing map column heading values |
60 | // load in timing map column heading values |
60 | for (int i = 0; i < MAX_TIMING_POINTS; i++) |
61 | for (int i = 0; i < MAX_RPM_POINTS; i++) |
61 | { |
62 | { |
62 | uint16_t val; |
63 | uint16_t val; |
63 | uint8_t found = load_uint16_t(TIMING_LOW_TAG + i, &val); |
64 | uint8_t found = load_uint16_t(TIMING_LOW_TAG + i, &val); |
64 | if (found) |
65 | if (found) |
65 | setRpmMap(i, val); |
66 | setRpmMap(i, val); |
Line 79... | Line 80... | ||
79 | } |
80 | } |
80 | 81 | ||
81 | for (int i = 0; i < MAX_VACUUM_POINTS; i++) |
82 | for (int i = 0; i < MAX_VACUUM_POINTS; i++) |
82 | { |
83 | { |
83 | uint8_t tag_base = i * MAP_ROW_OFFSET + MAP_BASE_TAG; |
84 | uint8_t tag_base = i * MAP_ROW_OFFSET + MAP_BASE_TAG; |
84 | for (int j = 0; j < MAX_TIMING_POINTS; j++) |
85 | for (int j = 0; j < MAX_RPM_POINTS; j++) |
85 | { |
86 | { |
86 | found = find_nvram_data(tag_base + j); |
87 | found = find_nvram_data(tag_base + j); |
87 | if (found) |
88 | if (found) |
88 | setTiming(i, j, found->data.val); |
89 | setTiming(i, j, found->data.val); |
89 | else |
90 | else |
Line 93... | Line 94... | ||
93 | 94 | ||
94 | if (missingData) |
95 | if (missingData) |
95 | saveTimingInfoToNvram(); |
96 | saveTimingInfoToNvram(); |
96 | } |
97 | } |
97 | 98 | ||
98 | /// @brief Save timing info to NVRAM |
99 | /// @brief Save timing info to NVRAM : this relies on the |
99 | void saveTimingInfoToNvram() |
100 | void saveTimingInfoToNvram() |
100 | { |
101 | { |
101 | nvram_info_t info; |
102 | nvram_info_t info; |
102 | info.data.tag = TIMING_OFFSET_TAG; |
103 | info.data.tag = TIMING_OFFSET_TAG; |
103 | info.data.val = getTimingAdjust(); |
104 | info.data.val = getTimingAdjust(); |
- | 105 | watchdogWrite(); |
|
104 | write_nvram_data(info); |
106 | write_nvram_data(info); |
105 | 107 | ||
106 | // load in timing map column heading values |
108 | // load in timing map column heading values |
107 | for (int i = 0; i < MAX_TIMING_POINTS; i++) |
109 | for (int i = 0; i < MAX_RPM_POINTS; i++) |
108 | { |
110 | { |
109 | uint16_t val = getRpmMap(i); |
111 | uint16_t val = getRpmMap(i); |
110 | save_uint16_t(TIMING_LOW_TAG + i, val); |
112 | save_uint16_t(TIMING_LOW_TAG + i, val); |
111 | } |
113 | } |
112 | 114 | ||
113 | // load in vacuum map row heading values |
115 | // load in vacuum map row heading values |
114 | for (int i = 0; i < MAX_VACUUM_POINTS; i++) |
116 | for (int i = 0; i < MAX_VACUUM_POINTS; i++) |
115 | { |
117 | { |
116 | uint16_t val = getVacuumMap(i); |
118 | uint16_t val = getVacuumMap(i); |
- | 119 | watchdogWrite(); |
|
117 | save_uint16_t(VACUUM_LOW_TAG + i, val); |
120 | save_uint16_t(VACUUM_LOW_TAG + i, val); |
118 | } |
121 | } |
119 | 122 | ||
120 | // save all the data values |
123 | // save all the data values |
121 | for (int i = 0; i < MAX_VACUUM_POINTS; i++) |
124 | for (int i = 0; i < MAX_VACUUM_POINTS; i++) |
122 | { |
125 | { |
123 | uint8_t tag_base = i * MAP_ROW_OFFSET+MAP_BASE_TAG; |
126 | uint8_t tag_base = i * MAP_ROW_OFFSET+MAP_BASE_TAG; |
124 | for (int j = 0; j < MAX_TIMING_POINTS; j++) |
127 | for (int j = 0; j < MAX_RPM_POINTS; j++) |
125 | { |
128 | { |
126 | info.data.val = getTiming(i,j); |
129 | info.data.val = getTiming(i,j); |
127 | info.data.tag = tag_base + j; |
130 | info.data.tag = tag_base + j; |
- | 131 | watchdogWrite(); |
|
128 | write_nvram_data(info); |
132 | write_nvram_data(info); |
129 | 133 | ||
130 | } |
134 | } |
131 | } |
135 | } |
132 | } |
136 | } |
133 | 137 |