Итак, нужно сделать массив для заполнения таблички.
1 колонка - порядковый №
2 колонка - заголовок
3 колонка - сохраняемая настройка
4 колонка - текущее состояние.
Ясно что первую и вторую колонки нужно сохранять во flash. УДобнее будет и заполнять и редактировать.
3 колонка - однозначно eeprom
4 колонка - ram.
Возникают следующие мысли - сделать структуру в RAM типа:
Код
typedef struct {
unsigned char chain_id; //номер цепи
char header_1; // строка 1 заголовка
char header_2; // строка 2 заголовка
char header_3; // строка 3 заголовка
unsigned char key_id; // номер ключа коммутирующего цепь (сохраняемая в eeprom настройка)
unsigned char default; // состояние по умолчанию (сохраняемая в eeprom настройка)
unsigned char diagnos; // результат диагностики цепи (записывается в RAM во время работы)
unsigned char state; // включен/выключен (записывается в RAM во время работы)
} TChain;
TChain CHAINS[40];
unsigned char eeprom key_ids[40];
unsigned char eeprom defaults[40];
unsigned char chain_id; //номер цепи
char header_1; // строка 1 заголовка
char header_2; // строка 2 заголовка
char header_3; // строка 3 заголовка
unsigned char key_id; // номер ключа коммутирующего цепь (сохраняемая в eeprom настройка)
unsigned char default; // состояние по умолчанию (сохраняемая в eeprom настройка)
unsigned char diagnos; // результат диагностики цепи (записывается в RAM во время работы)
unsigned char state; // включен/выключен (записывается в RAM во время работы)
} TChain;
TChain CHAINS[40];
unsigned char eeprom key_ids[40];
unsigned char eeprom defaults[40];
и вот дальше я что-то застрял... думается что массив CHAINS будет формироваться после загрузки, заполнять его путем переписи из key_ids и defaults, кроме того, такой же массив с заголовками создать во flash...
А надо ли это? может быть тупо пользоваться по отдельности массивами key_ids, defaults и массивом заголовков из flash ??
СТруктура конечно удобная, но нужна ли она в данном случае?
Как бы вы организовали операции с данными в описанной ситуации?