продолжаем работу по наполнению меню

This commit is contained in:
Dmitriy 2025-04-15 23:35:39 +03:00
parent 87c92d65e0
commit 04fe8add14
10 changed files with 240 additions and 40 deletions

View File

@ -768,10 +768,12 @@ void AppVladEventProcess(CPU_INT32U event)
// Look for new cards // Look for new cards
if (picc_is_new_card_present() ) { if (picc_is_new_card_present() ) {
if(app_state.user_menu == USER_MENU_IDLE) {
// ìåíþ ñòàðòà ÷òåíèÿ êàðòû // ìåíþ ñòàðòà ÷òåíèÿ êàðòû
PrintStartReadCardMenu(); PrintStartReadCardMenu();
RefreshMenu(); RefreshMenu();
PlayMusicFile(40); PlayMusicFile(40);
}
// Select one of the cards // Select one of the cards
if (picc_read_card_serial()) { if (picc_read_card_serial()) {
@ -788,6 +790,12 @@ void AppVladEventProcess(CPU_INT32U event)
if(app_state.user_menu == USER_MENU_IDLE) if(app_state.user_menu == USER_MENU_IDLE)
{ {
// ïðîâåðèì - íå íàäî ëè áîíóñû î÷èñòèòü
if(need_clear_bonus()) {
// íóæíî - çàïèøåì ýòî
write_mifare_card();
}
// íóæíî ïîêàçàòü áàëàíñ // íóæíî ïîêàçàòü áàëàíñ
app_state.last_card_manipulation_time = OSTimeGet(); app_state.last_card_manipulation_time = OSTimeGet();
@ -805,9 +813,17 @@ void AppVladEventProcess(CPU_INT32U event)
// ïîïîëíÿåì êàðòó // ïîïîëíÿåì êàðòó
mifaredata_t* data = get_mifare_data(); mifaredata_t* data = get_mifare_data();
//data->money = uint32_t pay = 0, bonus = 0, best_before = 0;
//data->bonus =
//data->best_before = GetData(&AbonementMoneyDesc, &pay, app_state.current_abonement, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus, app_state.current_abonement, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBestBeforeDesc, &best_before, app_state.current_abonement, DATA_FLAG_DIRECT_INDEX);
uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L;
data->money += pay;
data->bonus += bonus;
data->best_before = SystemTime;
if(!write_mifare_card()) if(!write_mifare_card())
{ {
@ -2236,6 +2252,18 @@ void PrintMenuAllPrice(CPU_INT08U blink)
uint32_t pay_plat = 0, bonus_plat = 0; uint32_t pay_plat = 0, bonus_plat = 0;
uint32_t pay_diamond = 0, bonus_diamond = 0; uint32_t pay_diamond = 0, bonus_diamond = 0;
GetData(&AbonementMoneyDesc, &pay_silver, 0, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_silver, 0, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementMoneyDesc, &pay_gold, 1, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_gold, 1, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementMoneyDesc, &pay_plat, 2, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_plat, 2, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementMoneyDesc, &pay_diamond, 3, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_diamond, 3, DATA_FLAG_DIRECT_INDEX);
if(app_state.current_abonement == SILVER_ABONEMENT) if(app_state.current_abonement == SILVER_ABONEMENT)
{ {
if(blink) { if(blink) {
@ -2331,6 +2359,12 @@ void PrintSilverMenu(void)
char str1[16]; char str1[16];
uint32_t pay_silver = 0, bonus_silver = 0, best_before = 0; uint32_t pay_silver = 0, bonus_silver = 0, best_before = 0;
GetData(&AbonementMoneyDesc, &pay_silver, 0, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_silver, 0, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBestBeforeDesc, &best_before, 0, DATA_FLAG_DIRECT_INDEX);
uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L;
PrintUserMenuStr("Ñåðåáðÿííûé àáîíåìåíò", 0); PrintUserMenuStr("Ñåðåáðÿííûé àáîíåìåíò", 0);
sprintf(str, "Ñòîèìîñòü - %d ðóá", pay_silver); sprintf(str, "Ñòîèìîñòü - %d ðóá", pay_silver);
@ -2339,7 +2373,7 @@ void PrintSilverMenu(void)
sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_silver); sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_silver);
PrintUserMenuStr(str, 2); PrintUserMenuStr(str, 2);
PrintTimeString(str1, best_before); PrintTimeString(str1, SystemTime);
sprintf(str, "Áîíóñû äî %s", str1); sprintf(str, "Áîíóñû äî %s", str1);
PrintUserMenuStr(str, 3); PrintUserMenuStr(str, 3);
} }
@ -2350,6 +2384,12 @@ void PrintGoldMenu(void)
char str1[16]; char str1[16];
uint32_t pay_gold = 0, bonus_gold = 0, best_before = 0; uint32_t pay_gold = 0, bonus_gold = 0, best_before = 0;
GetData(&AbonementMoneyDesc, &pay_gold, 1, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_gold, 1, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBestBeforeDesc, &best_before, 1, DATA_FLAG_DIRECT_INDEX);
uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L;
PrintUserMenuStr(" Çîëîòîé àáîíåìåíò ", 0); PrintUserMenuStr(" Çîëîòîé àáîíåìåíò ", 0);
sprintf(str, "Ñòîèìîñòü - %d ðóá", pay_gold); sprintf(str, "Ñòîèìîñòü - %d ðóá", pay_gold);
@ -2358,7 +2398,7 @@ void PrintGoldMenu(void)
sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_gold); sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_gold);
PrintUserMenuStr(str, 2); PrintUserMenuStr(str, 2);
PrintTimeString(str1, best_before); PrintTimeString(str1, SystemTime);
sprintf(str, "Áîíóñû äî %s", str1); sprintf(str, "Áîíóñû äî %s", str1);
PrintUserMenuStr(str, 3); PrintUserMenuStr(str, 3);
} }
@ -2369,6 +2409,12 @@ void PrintPlatMenu(void)
char str1[16]; char str1[16];
uint32_t pay_plat = 0, bonus_plat = 0, best_before = 0; uint32_t pay_plat = 0, bonus_plat = 0, best_before = 0;
GetData(&AbonementMoneyDesc, &pay_plat, 2, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_plat, 2, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBestBeforeDesc, &best_before, 2, DATA_FLAG_DIRECT_INDEX);
uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L;
PrintUserMenuStr("Ïëàòèíîâûé àáîíåìåíò", 0); PrintUserMenuStr("Ïëàòèíîâûé àáîíåìåíò", 0);
sprintf(str, "Ñòîèìîñòü - %d ðóá", pay_plat); sprintf(str, "Ñòîèìîñòü - %d ðóá", pay_plat);
@ -2377,7 +2423,7 @@ void PrintPlatMenu(void)
sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_plat); sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_plat);
PrintUserMenuStr(str, 2); PrintUserMenuStr(str, 2);
PrintTimeString(str1, best_before); PrintTimeString(str1, SystemTime);
sprintf(str, "Áîíóñû äî %s", str1); sprintf(str, "Áîíóñû äî %s", str1);
PrintUserMenuStr(str, 3); PrintUserMenuStr(str, 3);
} }
@ -2388,6 +2434,12 @@ void PrintDiamondMenu(void)
char str1[16]; char str1[16];
uint32_t pay_diamond = 0, bonus_diamond = 0, best_before = 0; uint32_t pay_diamond = 0, bonus_diamond = 0, best_before = 0;
GetData(&AbonementMoneyDesc, &pay_diamond, 3, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBonusDesc, &bonus_diamond, 3, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBestBeforeDesc, &best_before, 3, DATA_FLAG_DIRECT_INDEX);
uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L;
PrintUserMenuStr(" Àëìàçíûé àáîíåìåíò ", 0); PrintUserMenuStr(" Àëìàçíûé àáîíåìåíò ", 0);
sprintf(str, "Ñòîèìîñòü - %d ðóá", pay_diamond); sprintf(str, "Ñòîèìîñòü - %d ðóá", pay_diamond);
@ -2396,7 +2448,7 @@ void PrintDiamondMenu(void)
sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_diamond); sprintf(str, "Äîï.áîíóñû- %d ðóá", bonus_diamond);
PrintUserMenuStr(str, 2); PrintUserMenuStr(str, 2);
PrintTimeString(str1, best_before); PrintTimeString(str1, SystemTime);
sprintf(str, "Áîíóñû äî %s", str1); sprintf(str, "Áîíóñû äî %s", str1);
PrintUserMenuStr(str, 3); PrintUserMenuStr(str, 3);
} }

View File

@ -123,6 +123,11 @@ typedef struct{
CPU_INT32U runs; CPU_INT32U runs;
/// количество секунд работы /// количество секунд работы
CPU_INT32U worktime; CPU_INT32U worktime;
// äåíüãè ñ êàðò
CPU_INT32U card_money;
// áîíóñà ñ êàðò
CPU_INT32U card_bonus;
}SolarCountersRecord; }SolarCountersRecord;
/// структура всех счетчиков для солярия /// структура всех счетчиков для солярия

View File

@ -6003,6 +6003,54 @@ TDataDescStruct const CounterSolarMoneyDesc = {
}; };
char const CounterSolarMoneyDescId[] = "CounterSolarMoneyDesc"; char const CounterSolarMoneyDescId[] = "CounterSolarMoneyDesc";
/*************************************
Сумма с карт абонентов денег раздельно по соляриям и режимам
*************************************/
CPU_INT08U const CounterSolarCardMoneyName[] = "Кеньги,руб.";
TDataDescStruct const CounterSolarCardMoneyDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_RUB_CENT, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
CHANNELS_NUM * SOLAR_MODES_COUNT, // размер массива
&SolariumModesDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, solar_counters.solar_chm[0].card_money), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
sizeof(SolarCountersRecord), // смещение между элементами в массиве
CounterSolarCardMoneyName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
char const CounterSolarCardMoneyDescId[] = "CounterSolarCardMoneyDesc";
/*************************************
Сумма с карт абонентов бонусов раздельно по соляриям и режимам
*************************************/
CPU_INT08U const CounterSolarCardBonusName[] = "Конусы,руб.";
TDataDescStruct const CounterSolarCardBonusDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_RUB_CENT, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
CHANNELS_NUM * SOLAR_MODES_COUNT, // размер массива
&SolariumModesDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, solar_counters.solar_chm[0].card_bonus), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
sizeof(SolarCountersRecord), // смещение между элементами в массиве
CounterSolarCardBonusName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
char const CounterSolarCardBonusDescId[] = "CounterSolarCardBonusDesc";
/************************************* /*************************************
Êîëè÷åñòâî çàïóñêîâ ðàçäåëüíî ïî ñîëÿðèÿì è ðåæèìàì Êîëè÷åñòâî çàïóñêîâ ðàçäåëüíî ïî ñîëÿðèÿì è ðåæèìàì
*************************************/ *************************************/
@ -6123,6 +6171,54 @@ TDataDescStruct const CounterModeMoneyDesc = {
}; };
char const CounterModeMoneyDescId[] = "CounterModeMoneyDesc"; char const CounterModeMoneyDescId[] = "CounterModeMoneyDesc";
/*************************************
Сумма денег по режимам по абонементам
*************************************/
CPU_INT08U const CounterModeCardMoneyName[] = "Кеньги,руб.";
TDataDescStruct const CounterModeCardMoneyDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_RUB_CENT, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
SOLAR_MODES_COUNT, // размер массива
&SolariumModeIndexDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, solar_counters.solar_m[0].card_money), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
sizeof(SolarCountersRecord), // смещение между элементами в массиве
CounterModeCardMoneyName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
char const CounterModeCardMoneyDescId[] = "CounterModeCardMoneyDesc";
/*************************************
Сумма бонусов по режимам по абонементам
*************************************/
CPU_INT08U const CounterModeCardBonusName[] = "Конусы,руб.";
TDataDescStruct const CounterModeCardBonusDesc = {
DATA_DESC_VIEW, // тип дескриптора
DATA_TYPE_RUB_CENT, // тип параметра
DATA_LOC_FRAM, // расположение параметра
DATA_IS_ARRAY, // признак массива
SOLAR_MODES_COUNT, // размер массива
&SolariumModeIndexDesc, // указатель на дескриптор индекса массива
(void*)offsetof(TFramMap, solar_counters.solar_m[0].card_bonus), // указатель на переменную или адрес FRAM
NULL, // указатель на границы параметра
NULL, // функция по изменению
sizeof(SolarCountersRecord), // смещение между элементами в массиве
CounterModeCardBonusName, // указатель на строку названия параметра
DATA_NO_INDEX, // признак индексного параметра (список строк)
NULL, // указатель на список строк для индексного параметра
DATA_INIT_DISABLE,
0
};
char const CounterModeCardBonusDescId[] = "CounterModeCardBonusDesc";
/************************************* /*************************************
Êîëè÷åñòâî çàïóñêîâ ïî ðåæèìàì Êîëè÷åñòâî çàïóñêîâ ïî ðåæèìàì
*************************************/ *************************************/
@ -7037,6 +7133,9 @@ char const CounterLongCardDescArrId[] = "CounterLongCardDesc";
char const PostTimerDescArrId[] = "PostTimerDesc"; char const PostTimerDescArrId[] = "PostTimerDesc";
char const PostSignalDescArrId[] = "PostSignalDesc"; char const PostSignalDescArrId[] = "PostSignalDesc";
char const PostPauseLenCostDescId[] = "PostPauseLenCostDesc"; char const PostPauseLenCostDescId[] = "PostPauseLenCostDesc";
char const AbonementMoneyDescId[] = "AbonementMoneyDesc";
char const AbonementBonusDescId[] = "AbonementBonusDesc";
char const AbonementBestBeforeDescId[] = "AbonementBestBeforeDesc";
#if defined(BOARD_SOLARIUM_WEB) #if defined(BOARD_SOLARIUM_WEB)
char const SolariumTypeDescId[] = "SolariumTypeDescId"; char const SolariumTypeDescId[] = "SolariumTypeDescId";
@ -7271,6 +7370,10 @@ const TDataDescArrayStruct AllDataArray[] =
{&CoinPauseLenDesc, CoinPauseLenDescId}, {&CoinPauseLenDesc, CoinPauseLenDescId},
{&CoinPulseDeltaDesc, CoinPulseDeltaDescId}, {&CoinPulseDeltaDesc, CoinPulseDeltaDescId},
{&AbonementMoneyDesc, AbonementMoneyDescId},
{&AbonementBonusDesc, AbonementBonusDescId},
{&AbonementBestBeforeDesc, AbonementBestBeforeDescId},
{NULL, NULL} {NULL, NULL}
}; };

View File

@ -308,10 +308,14 @@ extern TDataDescStruct const SolariumTimePayedCrc16Desc;
extern TDataDescStruct const SolarTimeoutAfterMinutesDesc; extern TDataDescStruct const SolarTimeoutAfterMinutesDesc;
extern TDataDescStruct const SolarControlChannelDesc; extern TDataDescStruct const SolarControlChannelDesc;
extern TDataDescStruct const CounterSolarMoneyDesc; extern TDataDescStruct const CounterSolarMoneyDesc;
extern TDataDescStruct const CounterSolarCardMoneyDesc;
extern TDataDescStruct const CounterSolarCardBonusDesc;
extern TDataDescStruct const CounterSolarRunsDesc; extern TDataDescStruct const CounterSolarRunsDesc;
extern TDataDescStruct const CounterSolarWorkTimeDesc; extern TDataDescStruct const CounterSolarWorkTimeDesc;
extern TDataDescStruct const SolariumModeIndexDesc; extern TDataDescStruct const SolariumModeIndexDesc;
extern TDataDescStruct const CounterModeMoneyDesc; extern TDataDescStruct const CounterModeMoneyDesc;
extern TDataDescStruct const CounterModeCardMoneyDesc;
extern TDataDescStruct const CounterModeCardBonusDesc;
extern TDataDescStruct const CounterModeRunsDesc; extern TDataDescStruct const CounterModeRunsDesc;
extern TDataDescStruct const CounterModeWorkTimeDesc; extern TDataDescStruct const CounterModeWorkTimeDesc;
extern TDataDescStruct const CounterCollatenTimeDesc; extern TDataDescStruct const CounterCollatenTimeDesc;

View File

@ -96,3 +96,16 @@ bool is_empty_mifare_card()
{ {
return mifare_card_data.init != 0xDEADBEEF; return mifare_card_data.init != 0xDEADBEEF;
} }
bool need_clear_bonus()
{
uint32_t SystemTime = GetTimeSec();
if(SystemTime > mifare_card_data.best_before)
{
mifare_card_data.bonus = 0;
return true;
}
return false;
}

View File

@ -25,5 +25,6 @@ extern mifaredata_t* read_mifare_card();
extern bool write_mifare_card(); extern bool write_mifare_card();
extern mifaredata_t* init_mifare_card_data(); extern mifaredata_t* init_mifare_card_data();
extern bool is_empty_mifare_card(); extern bool is_empty_mifare_card();
extern bool need_clear_bonus();
#endif #endif

View File

@ -3158,6 +3158,20 @@ const TMenuLine line_SolarModesCountersMenu_1 = {
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
const TMenuLine line_SolarModesCountersMenu_6 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterModeCardMoneyDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_SolarModesCountersMenu_7 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterModeCardBonusDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_SolarModesCountersMenu_2 = { const TMenuLine line_SolarModesCountersMenu_2 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
@ -3191,8 +3205,8 @@ void OnEnterSolarModesCountersMenu(void)
solar_modes_index = 0; solar_modes_index = 0;
} }
const TMenuLineArray arr_SolarModesCountersArray[] = {&line_SolarModesCountersMenu_0, &line_SolarModesCountersMenu_1, &line_SolarModesCountersMenu_2, &line_SolarModesCountersMenu_3, &line_SolarModesCountersMenu_4, &line_SolarModesCountersMenu_5, NULL}; const TMenuLineArray arr_SolarModesCountersArray[] = {&line_SolarModesCountersMenu_0, &line_SolarModesCountersMenu_6, &line_SolarModesCountersMenu_7, &line_SolarModesCountersMenu_1, &line_SolarModesCountersMenu_2, &line_SolarModesCountersMenu_3, &line_SolarModesCountersMenu_4, &line_SolarModesCountersMenu_5, NULL};
const TMenuPanel SolarModesCountersPanel[] = {arr_SolarModesCountersArray, OnEnterSolarModesCountersMenu, 6, MENU_PANEL_STANDARD}; const TMenuPanel SolarModesCountersPanel[] = {arr_SolarModesCountersArray, OnEnterSolarModesCountersMenu, 8, MENU_PANEL_STANDARD};
/*********************************** /***********************************
ÌÅÍÞ Ñ×ÅÒ×ÈÊΠÏÎ ÑÎËßÐÈßÌ È ÐÅÆÈÌÀÌ ÌÅÍÞ Ñ×ÅÒ×ÈÊΠÏÎ ÑÎËßÐÈßÌ È ÐÅÆÈÌÀÌ
@ -3211,6 +3225,20 @@ const TMenuLine line_SolarChannelsCountersMenu_1 = {
NULL // ïàíåëü äëÿ ïåðåõîäà NULL // ïàíåëü äëÿ ïåðåõîäà
}; };
const TMenuLine line_SolarChannelsCountersMenu_6 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterSolarCardMoneyDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_SolarChannelsCountersMenu_7 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè
(void*)&CounterSolarCardBonusDesc, // óêàçàòåëü íà òåêñòîâóþ ñòðîêó èëè äåñêðèïòîð
NULL // ïàíåëü äëÿ ïåðåõîäà
};
const TMenuLine line_SolarChannelsCountersMenu_2 = { const TMenuLine line_SolarChannelsCountersMenu_2 = {
MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ MENU_LINE_SHOW_DESC, // òèï ïóíêòà ìåíþ
0, // äîï. ôëàãè 0, // äîï. ôëàãè
@ -3245,8 +3273,8 @@ void OnEnterSolarChannelsCountersMenu(void)
solar_modes_index = 0; solar_modes_index = 0;
} }
const TMenuLineArray arr_SolarChannelsCountersArray[] = {&line_SolarChannelsCountersMenu_0, &line_SolarChannelsCountersMenu_1, &line_SolarChannelsCountersMenu_2, &line_SolarChannelsCountersMenu_3, &line_SolarChannelsCountersMenu_4, &line_SolarChannelsCountersMenu_5, NULL}; const TMenuLineArray arr_SolarChannelsCountersArray[] = {&line_SolarChannelsCountersMenu_0, &line_SolarChannelsCountersMenu_6, &line_SolarChannelsCountersMenu_7, &line_SolarChannelsCountersMenu_1, &line_SolarChannelsCountersMenu_2, &line_SolarChannelsCountersMenu_3, &line_SolarChannelsCountersMenu_4, &line_SolarChannelsCountersMenu_5, NULL};
const TMenuPanel SolarChannelsCountersPanel[] = {arr_SolarChannelsCountersArray, OnEnterSolarChannelsCountersMenu, 6, MENU_PANEL_STANDARD}; const TMenuPanel SolarChannelsCountersPanel[] = {arr_SolarChannelsCountersArray, OnEnterSolarChannelsCountersMenu, 8, MENU_PANEL_STANDARD};
/*********************************** /***********************************
ÌÅÍÞ Ñ×ÅÒ×ÈÊΠÏÎ ÂÐÅÌÅÍÈ ÍÀÐÀÁÎÒÊÈ ËÀÌÏ ÌÅÍÞ Ñ×ÅÒ×ÈÊΠÏÎ ÂÐÅÌÅÍÈ ÍÀÐÀÁÎÒÊÈ ËÀÌÏ

File diff suppressed because one or more lines are too long

View File

@ -1654,12 +1654,6 @@
</file> </file>
<file> <file>
<name>$PROJ_DIR$\PROJECT\menu\menudesc.c</name> <name>$PROJ_DIR$\PROJECT\menu\menudesc.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 52</file>
</tool>
</outputs>
<inputs> <inputs>
<tool> <tool>
<name>ICCARM</name> <name>ICCARM</name>