diff --git a/PROJECT/app/app_serv.c b/PROJECT/app/app_serv.c index d444eb4..ff73753 100644 --- a/PROJECT/app/app_serv.c +++ b/PROJECT/app/app_serv.c @@ -8,7 +8,6 @@ #include "mode.h" #include "menudesc.h" #include "datadesc.h" -#include "control.h" #include "menu.h" #include "journal.h" #include "fr.h" @@ -357,7 +356,7 @@ void UserAppTask(void *p_arg) // напечатаем чек if (IsFiscalConnected()) { - if (PrintFiscalBill(accmoney) == 0) // здесь добавить с какого поста чек + if (PrintFiscalBill(accmoney,number_post) == 0) // здесь добавить с какого поста чек { SaveEventRecord(number_post, JOURNAL_EVENT_PRINT_BILL_POST1 + number_post, GetTimeSec()); } @@ -483,19 +482,6 @@ void PostUserEvent(int event) void InitUserMenu(void) { - for (int i = 0; i < CHANNELS_NUM; i++) - { - CPU_INT32U en = 0; - GetData(&EnableChannelDesc, &en, i, DATA_FLAG_DIRECT_INDEX); - if (en) - { - ChannelsState[i] = CHANNEL_STATE_FREE; - } - else - { - ChannelsState[i] = CHANNEL_STATE_DISABLED; - } - } } void UserPrintMoneyMenu(int post) @@ -551,18 +537,6 @@ void UserPrintErrorMenu(void) } } -int CheckChannelEnabled(CPU_INT08U channel) -{ - CPU_INT32U en = 0; - GetData(&EnableChannelDesc, &en, channel, DATA_FLAG_DIRECT_INDEX); - if (en) - { - return 1; - } - return 0; -} - - void WorkServer(void) { diff --git a/PROJECT/app/control.c b/PROJECT/app/control.c deleted file mode 100644 index 266e205..0000000 --- a/PROJECT/app/control.c +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include "control.h" -#include "data.h" -#include "datadesc.h" -#include -#include - - -CPU_INT16U ChannelStatus; // побитно текущие статусы каналов - -// включить канал -void ChannelOn(CPU_INT08U ch) -{ - ChannelStatus |= (1L << ch); -} - -// выключить канал -void ChannelOff(CPU_INT08U ch) -{ - ChannelStatus &= ~(1L << ch); -} - - - -// инициализация каналов при старте системы -void InitChannels(void) -{ - ChannelStatus = 0; -} - - diff --git a/PROJECT/app/control.h b/PROJECT/app/control.h deleted file mode 100644 index ccdb098..0000000 --- a/PROJECT/app/control.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef _CONTROL_H_ -#define _CONTROL_H_ - -#define CHANNELS_NUM 6 - -#define CHANNEL_1 0 -#define CHANNEL_2 1 -#define CHANNEL_3 2 -#define CHANNEL_4 3 -#define CHANNEL_5 4 -#define CHANNEL_6 5 -#define CHANNEL_7 6 -#define CHANNEL_8 7 -#define CHANNEL_9 8 -#define CHANNEL_10 9 - - -extern void InitChannels(void); -extern void ChannelOn(CPU_INT08U ch); -extern void ChannelOff(CPU_INT08U ch); -extern int IsChannelOn(CPU_INT08U ch); - - -#endif //#ifndef _CONTROL_H_ diff --git a/PROJECT/app/journal.c b/PROJECT/app/journal.c index d2ab491..72b2c0b 100644 --- a/PROJECT/app/journal.c +++ b/PROJECT/app/journal.c @@ -424,17 +424,6 @@ void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money) { CPU_INT32U r, t, m; TCountersLong long_ctrs; - - // увеличим канальные счетчики - ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelRun)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&r); - ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelTime)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&t); - ReadArrayFram(offsetof(TFramMap, Counters.CounterChannelMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&m); - r++; - t+=time; - m+=money; - WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelRun)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&r); - WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelTime)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&t); - WriteArrayFram(offsetof(TFramMap, Counters.CounterChannelMoney)+sizeof(CPU_INT32U)*ch, sizeof(CPU_INT32U), (unsigned char*)&m); // увеличим общие счетчики ReadArrayFram(offsetof(TFramMap, Counters.CounterRun), sizeof(CPU_INT32U), (unsigned char*)&r); @@ -449,9 +438,7 @@ void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money) // увеличим длинные счетчики ReadArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs); - long_ctrs.CounterChannelRunLong[ch]++; - long_ctrs.CounterChannelTimeLong[ch] += time; - long_ctrs.CounterChannelMoneyLong[ch] += money; + long_ctrs.CounterRunLong++; long_ctrs.CounterTimeLong += time; long_ctrs.CounterMoneyLong += money; @@ -478,16 +465,10 @@ void CheckLongCounters(void) long_ctrs.crc = CRC16((unsigned char*)&long_ctrs, offsetof(TCountersLong, crc)); WriteArrayFram(offsetof(TFramMap, CountersLong), sizeof(TCountersLong), (unsigned char*)&long_ctrs); /// обычные счетчики тоже очистим - ClearCounters(); ClearBillnomCounter(); } } -void ClearCounters(void) -{ - SetArrayFram(offsetof(TFramMap, Counters), sizeof(CPU_INT32U)*(CHANNELS_NUM+1)*3, 0x00); -} - /// инкремент счетчика купюр по номиналам void IncBillnomCounter(CPU_INT32U index) { diff --git a/PROJECT/app/journal.h b/PROJECT/app/journal.h index b4036e5..86de1fa 100644 --- a/PROJECT/app/journal.h +++ b/PROJECT/app/journal.h @@ -1,7 +1,6 @@ #ifndef _JOURNAL_H_ #define _JOURNAL_H_ -#include "control.h" #include "fiscal.h" #define EVENT_RECORDS_COUNT 512 // число записей в журнале @@ -73,12 +72,6 @@ typedef struct{ // структура для хранения счетчиков typedef struct{ - // число запусков поканально - CPU_INT32U CounterChannelRun[CHANNELS_NUM]; - // Суммарное время работы поканально, сек. - CPU_INT32U CounterChannelTime[CHANNELS_NUM]; - // Сумма денег поканально - CPU_INT32U CounterChannelMoney[CHANNELS_NUM]; // общее число запусков CPU_INT32U CounterRun; @@ -97,12 +90,6 @@ typedef struct{ // структура для хранения длинных счетчиков // ведем пока только эти три длинных typedef struct{ - // число запусков поканально - CPU_INT32U CounterChannelRunLong[CHANNELS_NUM]; - // Суммарное время работы поканально, сек. - CPU_INT32U CounterChannelTimeLong[CHANNELS_NUM]; - // Сумма денег поканально - CPU_INT32U CounterChannelMoneyLong[CHANNELS_NUM]; CPU_INT32U CounterRunLong; CPU_INT32U CounterTimeLong; CPU_INT32U CounterMoneyLong; @@ -122,7 +109,6 @@ extern void ClearEventJournal(void); extern void GetEventStr(char* str, char event); extern int GetEventRecord(TEventRecord* record, CPU_INT32U index); extern void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money); -extern void ClearCounters(void); extern void ErrorServer(void); extern int TstCriticalValidatorErrors(void); extern void ClrValidatorErrors(void); diff --git a/PROJECT/data/datadesc.c b/PROJECT/data/datadesc.c index acfc0f1..ab4f18a 100644 --- a/PROJECT/data/datadesc.c +++ b/PROJECT/data/datadesc.c @@ -9,7 +9,6 @@ #include #include #include -#include "control.h" #include "fiscal.h" #include "time.h" #include "CRC16.h" @@ -17,78 +16,6 @@ extern CPU_INT32U modem_status; -/************************************* - Индекс канала -*************************************/ -CPU_INT32U ChannelIndex=0; -TRangeValueULONG const ChannelIndexRange = {0, CHANNELS_NUM-1}; -CPU_INT08U const ChannelIndexName[] = " ПОСТ"; -CPU_INT08U const* ChannelItems[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"}; - -TDataDescStruct const ChannelIndexDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_RAM, // расположение параметра - DATA_NO_ARRAY, // признак массива - 0, // размер массива - NULL, // указатель на десриптор индекса массива - &ChannelIndex, // указатель на переменную или адрес FRAM - (void*)&ChannelIndexRange, // указатель на границы параметра - NULL, // функция по изменению - 0, // смещение между элементами в массиве - ChannelIndexName, // указатель на строку названия параметра - DATA_IS_INDEX, // признак индексного параметра (список строк) - ChannelItems, // указатель на список строк для индексного параметра - DATA_INIT_ENABLE, - 0 -}; - -/************************************* - Индекс канала в меню канальной статистии -*************************************/ -CPU_INT08U const ChannelStIndexName[] = "КОР.СЧ.ПОСТ"; - -TDataDescStruct const ChannelStIndexDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_RAM, // расположение параметра - DATA_NO_ARRAY, // признак массива - 0, // размер массива - NULL, // указатель на десриптор индекса массива - &ChannelIndex, // указатель на переменную или адрес FRAM - (void*)&ChannelIndexRange, // указатель на границы параметра - NULL, // функция по изменению - 0, // смещение между элементами в массиве - ChannelStIndexName, // указатель на строку названия параметра - DATA_IS_INDEX, // признак индексного параметра (список строк) - ChannelItems, // указатель на список строк для индексного параметра - DATA_INIT_ENABLE, - 0 -}; - -/************************************* - Индекс канала в меню канальной статистии -*************************************/ -CPU_INT08U const ChannelStLongIndexName[] = "ДЛ.СЧ.КАНАЛ"; - -TDataDescStruct const ChannelStLongIndexDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_RAM, // расположение параметра - DATA_NO_ARRAY, // признак массива - 0, // размер массива - NULL, // указатель на десриптор индекса массива - &ChannelIndex, // указатель на переменную или адрес FRAM - (void*)&ChannelIndexRange, // указатель на границы параметра - NULL, // функция по изменению - 0, // смещение между элементами в массиве - ChannelStLongIndexName, // указатель на строку названия параметра - DATA_IS_INDEX, // признак индексного параметра (список строк) - ChannelItems, // указатель на список строк для индексного параметра - DATA_INIT_ENABLE, - 0 -}; - /************************************* Последнее время отправки email *************************************/ @@ -112,34 +39,6 @@ TDataDescStruct const LastEmailSendTime = { 0 }; -/************************************* - Включение канала -*************************************/ -TRangeValueULONG const EnableChannelRange = {0, 1}; -CPU_INT08U const EnableChannelName[] = "Включить"; -CPU_INT08U const EnableChannelList_str0[] = "нет"; -CPU_INT08U const EnableChannelList_str1[] = "да"; -CPU_INT08U const *EnableChannelList[] = {EnableChannelList_str0, EnableChannelList_str1}; - - -TDataDescStruct const EnableChannelDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.Enable), // указатель на переменную или адрес FRAM - (void*)&EnableChannelRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - EnableChannelName, // указатель на строку названия параметра - DATA_IS_INDEX, // признак индексного параметра (список строк) - EnableChannelList, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - /************************************* Длина импульса входа купюрника, мс *************************************/ @@ -199,158 +98,6 @@ TDataDescStruct const CashPauseLenDesc = { 20 }; -/************************************* - IP-адрес поста -*************************************/ -CPU_INT08U const PostIpAddrName[] = "IP"; - -TDataDescStruct const PostIpAddrDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_IP_ADDR, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.post_ip), // указатель на переменную или адрес FRAM - NULL, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - PostIpAddrName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0xC0A80065 -}; - -/************************************* - Использовать запрет выбора поста -*************************************/ -TRangeValueULONG const SelectProtectNameRange = {0, 1}; -CPU_INT08U const SelectProtectNameName[] = "Запрет выбора"; -CPU_INT08U const SelectProtectNameList_str0[] = "нет"; -CPU_INT08U const SelectProtectNameList_str1[] = "да"; -CPU_INT08U const *SelectProtectNameList[] = {SelectProtectNameList_str0, SelectProtectNameList_str1}; - - -TDataDescStruct const SelectProtectDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.select_protect), // указатель на переменную или адрес FRAM - (void*)&SelectProtectNameRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - SelectProtectNameName, // указатель на строку названия параметра - DATA_IS_INDEX, // признак индексного параметра (список строк) - SelectProtectNameList, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 1 -}; - -/************************************* - Цена импульса контроллера ПОСТА -*************************************/ -TRangeValueULONG const PostImpCostRange = {1, 9999}; -CPU_INT08U const PostImpCostName[] = "Руб./имп."; - -TDataDescStruct const PostImpCostDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.imp_cost), // указатель на переменную или адрес FRAM - (void*)&PostImpCostRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - PostImpCostName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 10 // значение по умолчанию -}; - -/************************************* - Длина импульса контроллера ПОСТА -*************************************/ -TRangeValueULONG const PostImpLenRange = {1, 999}; -CPU_INT08U const PostImpLenName[] = "Дл.имп.,мс"; - -TDataDescStruct const PostLenCostDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.imp_len), // указатель на переменную или адрес FRAM - (void*)&PostImpLenRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - PostImpLenName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 50 // значение по умолчанию -}; - -/************************************* - Цена минуты -*************************************/ -TRangeValueULONG const PostMinutePriceRange = {1, 999}; -CPU_INT08U const PostMinutePriceName[] = "Стоим.мин."; - -TDataDescStruct const PostMinutePriceDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.minute_cost), // указатель на переменную или адрес FRAM - (void*)&PostMinutePriceRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - PostMinutePriceName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 20 // значение по умолчанию -}; - -/************************************* - Название канала -*************************************/ -TRangeValueULONG const NameChannelRange = {0, 2}; -CPU_INT08U const NameChannelName[] = "Название"; -CPU_INT08U const NameChannelList_str0[] = "#"; -CPU_INT08U const NameChannelList_str1[] = "Солярий"; -CPU_INT08U const NameChannelList_str2[] = "Устройство"; -CPU_INT08U const *NameChannelList[] = {NameChannelList_str0, NameChannelList_str1, NameChannelList_str2}; - - -TDataDescStruct const NameChannelDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.Name), // указатель на переменную или адрес FRAM - (void*)&NameChannelRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - NameChannelName, // указатель на строку названия параметра - DATA_IS_INDEX, // признак индексного параметра (список строк) - NameChannelList, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - /************************************* Название кнопки СТАРТ (СТАРТ или ПУСК) *************************************/ @@ -971,321 +718,9 @@ TDataDescStruct const DisableFiscalErrorsDesc = { 0 }; -/************************************* - Время идущего сеанса -*************************************/ -CPU_INT32U WorkTime[CHANNELS_NUM]; -TRangeValueULONG const WorkTimeRange = {0, 0xffffffffL}; -CPU_INT08U const WorkTimeName[] = "Вр.работы"; - -TDataDescStruct const WorkTimeDesc = { - DATA_DESC_VIEW, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_RAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - &WorkTime, // указатель на переменную или адрес FRAM - (void*)&WorkTimeRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - WorkTimeName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_ENABLE, - 0 -}; - /************************************* - Тайм-аут перед запуском поканально -*************************************/ -TRangeValueULONG const TimeOutBeforeRange = {0, 999}; -CPU_INT08U const TimeOutBeforeName[] = "Пауза до,сек."; - -TDataDescStruct const TimeOutBeforeDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.TimeOutBefore), // указатель на переменную или адрес FRAM - (void*)&TimeOutBeforeRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - TimeOutBeforeName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 30 -}; - -/************************************* - Тайм-аут после работы поканально -*************************************/ -TRangeValueULONG const TimeOutAfterRange = {0, 99}; -CPU_INT08U const TimeOutAfterName[] = "Пауза после,мин."; - -TDataDescStruct const TimeOutAfterDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.TimeOutAfter), // указатель на переменную или адрес FRAM - (void*)&TimeOutAfterRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - TimeOutAfterName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 3 -}; - -/************************************* - Максимальное время поканально, мин. -*************************************/ -TRangeValueULONG const MaxWorkTimeRange = {1, 999}; -CPU_INT08U const MaxWorkTimeName[] = "Tmax,мин."; - -TDataDescStruct const MaxWorkTimeDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.MaxWorkTime), // указатель на переменную или адрес FRAM - (void*)&MaxWorkTimeRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - MaxWorkTimeName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 20 -}; - -/************************************* - Минимальное время поканально, мин. -*************************************/ -TRangeValueULONG const MinWorkTimeRange = {1, 999}; -CPU_INT08U const MinWorkTimeName[] = "Tmin,мин."; - -TDataDescStruct const MinWorkTimeDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.MinWorkTime), // указатель на переменную или адрес FRAM - (void*)&MinWorkTimeRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - MinWorkTimeName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 5 -}; - -/************************************* - Настройка выходных -*************************************/ -TRangeValueULONG const WeekEndRange = {0, 4}; -CPU_INT08U const WeekEndName[] = "Выходные:"; -CPU_INT08U const WeekEndList_str0[] = "нет"; -CPU_INT08U const WeekEndList_str1[] = "пт-вс"; -CPU_INT08U const WeekEndList_str2[] = "сб-вс"; -CPU_INT08U const WeekEndList_str3[] = "пт-сб"; -CPU_INT08U const WeekEndList_str4[] = "пт-пн"; -CPU_INT08U const *WeekEndList[] = {WeekEndList_str0, WeekEndList_str1, WeekEndList_str2, WeekEndList_str3, WeekEndList_str4, NULL}; - -TDataDescStruct const WeekEndDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.WeekEnd), // указатель на переменную или адрес FRAM - (void*)&WeekEndRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - WeekEndName, // указатель на строку названия параметра - DATA_IS_INDEX, // признак индексного параметра (список строк) - WeekEndList, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - -/************************************* - Настройка отложенного старта -*************************************/ -TRangeValueULONG const DeferredStartRange = {0, 1}; -CPU_INT08U const DeferredStartName[] = "Отлож.старт"; -CPU_INT08U const DeferredStart_str0[] = "нет"; -CPU_INT08U const DeferredStart_str1[] = "да"; -CPU_INT08U const *DeferredStartList[] = {DeferredStart_str0, DeferredStart_str1, NULL}; - -TDataDescStruct const DeferredStartDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, DefferedStartEnabled), // указатель на переменную или адрес FRAM - (void*)&DeferredStartRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - DeferredStartName, // указатель на строку названия параметра - DATA_IS_INDEX, // признак индексного параметра (список строк) - DeferredStartList, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - -/************************************* - Индекс при настройке цен -*************************************/ -TRangeValueULONG const PeriodIndexRange = {0, 0xffffffff/*CHANNELS_NUM*PRICE_PERIODS_NUM-1*/}; -CPU_INT08U const PeriodIndexName[] = ""; -CPU_INT08U const *PeriodWeekendIndexList[] = { - "КАН.1 ПЕР.1 ВЫХ.", - "КАН.1 ПЕР.2 ВЫХ.", - "КАН.1 ПЕР.3 ВЫХ.", - "КАН.1 ПЕР.4 ВЫХ.", - "КАН.2 ПЕР.1 ВЫХ.", - "КАН.2 ПЕР.2 ВЫХ.", - "КАН.2 ПЕР.3 ВЫХ.", - "КАН.2 ПЕР.4 ВЫХ.", - "КАН.3 ПЕР.1 ВЫХ.", - "КАН.3 ПЕР.2 ВЫХ.", - "КАН.3 ПЕР.3 ВЫХ.", - "КАН.3 ПЕР.4 ВЫХ.", - "КАН.4 ПЕР.1 ВЫХ.", - "КАН.4 ПЕР.2 ВЫХ.", - "КАН.4 ПЕР.3 ВЫХ.", - "КАН.4 ПЕР.4 ВЫХ.", - "КАН.5 ПЕР.1 ВЫХ.", - "КАН.5 ПЕР.2 ВЫХ.", - "КАН.5 ПЕР.3 ВЫХ.", - "КАН.5 ПЕР.4 ВЫХ.", - "КАН.6 ПЕР.1 ВЫХ.", - "КАН.6 ПЕР.2 ВЫХ.", - "КАН.6 ПЕР.3 ВЫХ.", - "КАН.6 ПЕР.4 ВЫХ.", - "КАН.7 ПЕР.1 ВЫХ.", - "КАН.7 ПЕР.2 ВЫХ.", - "КАН.7 ПЕР.3 ВЫХ.", - "КАН.7 ПЕР.4 ВЫХ.", - "КАН.8 ПЕР.1 ВЫХ.", - "КАН.8 ПЕР.2 ВЫХ.", - "КАН.8 ПЕР.3 ВЫХ.", - "КАН.8 ПЕР.4 ВЫХ.", - "КАН.9 ПЕР.1 ВЫХ.", - "КАН.9 ПЕР.2 ВЫХ.", - "КАН.9 ПЕР.3 ВЫХ.", - "КАН.9 ПЕР.4 ВЫХ.", - "КАН.10 ПЕР.1 ВЫХ.", - "КАН.10 ПЕР.2 ВЫХ.", - "КАН.10 ПЕР.3 ВЫХ.", - "КАН.10 ПЕР.4 ВЫХ.", - NULL}; - -CPU_INT32U PeriodIndex = 0; - -void OnChangePeriodIndex(void) -{ - if ((PeriodIndex == 0xffffffff) || (PeriodIndex < ChannelIndex*PRICE_PERIODS_NUM)) PeriodIndex = (ChannelIndex+1)*PRICE_PERIODS_NUM-1; - else if (PeriodIndex >= (ChannelIndex+1)*PRICE_PERIODS_NUM) PeriodIndex = (ChannelIndex)*PRICE_PERIODS_NUM; -} - -TDataDescStruct const PeriodWeekendIndexDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_RAM, // расположение параметра - DATA_NO_ARRAY, // признак массива - 0, // размер массива - NULL, // указатель на десриптор индекса массива - (void*)&PeriodIndex, // указатель на переменную или адрес FRAM - (void*)&PeriodIndexRange, // указатель на границы параметра - OnChangePeriodIndex, // функция по изменению - 0, // смещение между элементами в массиве - PeriodIndexName, // указатель на строку названия параметра - DATA_IS_INDEX, // признак индексного параметра (список строк) - PeriodWeekendIndexList, // указатель на список строк для индексного параметра - DATA_INIT_ENABLE, - 0 -}; - -CPU_INT08U const *PeriodWeekdaysIndexList[] = { - "КАН.1 ПЕР.1 БУД.", - "КАН.1 ПЕР.2 БУД.", - "КАН.1 ПЕР.3 БУД.", - "КАН.1 ПЕР.4 БУД.", - "КАН.2 ПЕР.1 БУД.", - "КАН.2 ПЕР.2 БУД.", - "КАН.2 ПЕР.3 БУД.", - "КАН.2 ПЕР.4 БУД.", - "КАН.3 ПЕР.1 БУД.", - "КАН.3 ПЕР.2 БУД.", - "КАН.3 ПЕР.3 БУД.", - "КАН.3 ПЕР.4 БУД.", - "КАН.4 ПЕР.1 БУД.", - "КАН.4 ПЕР.2 БУД.", - "КАН.4 ПЕР.3 БУД.", - "КАН.4 ПЕР.4 БУД.", - "КАН.5 ПЕР.1 БУД.", - "КАН.5 ПЕР.2 БУД.", - "КАН.5 ПЕР.3 БУД.", - "КАН.5 ПЕР.4 БУД.", - "КАН.6 ПЕР.1 БУД.", - "КАН.6 ПЕР.2 БУД.", - "КАН.6 ПЕР.3 БУД.", - "КАН.6 ПЕР.4 БУД.", - "КАН.7 ПЕР.1 БУД.", - "КАН.7 ПЕР.2 БУД.", - "КАН.7 ПЕР.3 БУД.", - "КАН.7 ПЕР.4 БУД.", - "КАН.8 ПЕР.1 БУД.", - "КАН.8 ПЕР.2 БУД.", - "КАН.8 ПЕР.3 БУД.", - "КАН.8 ПЕР.4 БУД.", - "КАН.9 ПЕР.1 БУД.", - "КАН.9 ПЕР.2 БУД.", - "КАН.9 ПЕР.3 БУД.", - "КАН.9 ПЕР.4 БУД.", - "КАН.10 ПЕР.1 БУД.", - "КАН.10 ПЕР.2 БУД.", - "КАН.10 ПЕР.3 БУД.", - "КАН.10 ПЕР.4 БУД.", - NULL}; -TDataDescStruct const PeriodWeekdaysIndexDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_RAM, // расположение параметра - DATA_NO_ARRAY, // признак массива - 0, // размер массива - NULL, // указатель на десриптор индекса массива - (void*)&PeriodIndex, // указатель на переменную или адрес FRAM - (void*)&PeriodIndexRange, // указатель на границы параметра - OnChangePeriodIndex, // функция по изменению - 0, // смещение между элементами в массиве - PeriodIndexName, // указатель на строку названия параметра - DATA_IS_INDEX, // признак индексного параметра (список строк) - PeriodWeekdaysIndexList, // указатель на список строк для индексного параметра - DATA_INIT_ENABLE, - 0 -}; - -/************************************* - Цена по выходным + Цена *************************************/ TRangeValueULONG const PriceRange = {1, 10000}; CPU_INT08U const PriceName[] = "Цена,руб."; @@ -1297,7 +732,7 @@ TDataDescStruct const PriceDesc = { DATA_NO_ARRAY, // признак массива 1, // размер массива NULL, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.Price), // указатель на переменную или адрес FRAM + (void*)offsetof(TFramMap, Price), // указатель на переменную или адрес FRAM (void*)&PriceRange, // указатель на границы параметра NULL, // функция по изменению sizeof(CPU_INT32U), // смещение между элементами в массиве @@ -1308,202 +743,6 @@ TDataDescStruct const PriceDesc = { 100 }; -/************************************* - Цена по выходным -*************************************/ -TRangeValueULONG const PriceWeekendRange = {1, MAX_PRICE}; -CPU_INT08U const PriceWeekendName[] = "Цена,руб."; - -TDataDescStruct const PriceWeekendDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM*PRICE_PERIODS_NUM, // размер массива - &PeriodWeekendIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.Price_Weekend), // указатель на переменную или адрес FRAM - (void*)&PriceWeekendRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - PriceWeekendName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 15 -}; - -/************************************* - Цена по будням -*************************************/ -TRangeValueULONG const PriceWeekdaysRange = {1, MAX_PRICE}; -CPU_INT08U const PriceWeekdaysName[] = "Цена,руб."; - -TDataDescStruct const PriceWeekdaysDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM*PRICE_PERIODS_NUM, // размер массива - &PeriodWeekdaysIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.Price_Weekdays), // указатель на переменную или адрес FRAM - (void*)&PriceWeekdaysRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - PriceWeekdaysName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 15 -}; - - -/************************************* - Время за цену по выходным -*************************************/ -TRangeValueULONG const PriceTimeWeekendRange = {1, 999}; -CPU_INT08U const PriceTimeWeekendName[] = "За время,мин."; - -TDataDescStruct const PriceTimeWeekendDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM*PRICE_PERIODS_NUM, // размер массива - &PeriodWeekendIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.PriceTime_Weekend), // указатель на переменную или адрес FRAM - (void*)&PriceTimeWeekendRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - PriceTimeWeekendName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 1 -}; - -/************************************* - Время за цену по будням -*************************************/ -TRangeValueULONG const PriceTimeWeekdaysRange = {1, 999}; -CPU_INT08U const PriceTimeWeekdaysName[] = "За время,мин."; - -TDataDescStruct const PriceTimeWeekdaysDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM*PRICE_PERIODS_NUM, // размер массива - &PeriodWeekdaysIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.PriceTime_Weekdays), // указатель на переменную или адрес FRAM - (void*)&PriceTimeWeekdaysRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - PriceTimeWeekdaysName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 1 -}; - - -/************************************* - Начало периодов по будням -*************************************/ -TRangeValueULONG const T_Start_WeekdaysRange = {0, 24}; -CPU_INT08U const T_Start_WeekdaysName[] = "Начало,ч"; - -TDataDescStruct const T_Start_WeekdaysDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM*PRICE_PERIODS_NUM, // размер массива - &PeriodWeekdaysIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.T_Start_Weekdays), // указатель на переменную или адрес FRAM - (void*)&T_Start_WeekdaysRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - T_Start_WeekdaysName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - -/************************************* - Конец периодов по будням -*************************************/ -TRangeValueULONG const T_End_WeekdaysRange = {0, 24}; -CPU_INT08U const T_End_WeekdaysName[] = "Конец,ч"; - -TDataDescStruct const T_End_WeekdaysDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM*PRICE_PERIODS_NUM, // размер массива - &PeriodWeekdaysIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.T_End_Weekdays), // указатель на переменную или адрес FRAM - (void*)&T_End_WeekdaysRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - T_End_WeekdaysName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 24 -}; - - -/************************************* - Начало периодов по выходным -*************************************/ -TRangeValueULONG const T_Start_WeekendRange = {0, 24}; -CPU_INT08U const T_Start_WeekendName[] = "Начало,ч"; - -TDataDescStruct const T_Start_WeekendDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM*PRICE_PERIODS_NUM, // размер массива - &PeriodWeekendIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.T_Start_Weekend), // указатель на переменную или адрес FRAM - (void*)&T_Start_WeekendRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - T_Start_WeekendName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - -/************************************* - Конец периодов по выходным -*************************************/ -TRangeValueULONG const T_End_WeekendRange = {0, 24}; -CPU_INT08U const T_End_WeekendName[] = "Конец,ч"; - -TDataDescStruct const T_End_WeekendDesc = { - DATA_DESC_EDIT, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM*PRICE_PERIODS_NUM, // размер массива - &PeriodWeekendIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, ChannelConfig.T_End_Weekend), // указатель на переменную или адрес FRAM - (void*)&T_End_WeekendRange, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - T_End_WeekendName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 24 -}; - - /************************************* Команда инициализации по умолчанию *************************************/ @@ -2323,133 +1562,6 @@ TDataDescStruct const CounterLongTimeDesc = { 0 }; -/************************************* - Канальный счетчик числа запусков -*************************************/ -TDataDescStruct const CounterChannelRunDesc = { - DATA_DESC_VIEW, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelStIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, Counters.CounterChannelRun[0]), // указатель на переменную или адрес FRAM - NULL, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - CounterRunName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - -/************************************* - Канальный счетчик денег -*************************************/ -TDataDescStruct const CounterChannelMoneyDesc = { - DATA_DESC_VIEW, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelStIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, Counters.CounterChannelMoney[0]), // указатель на переменную или адрес FRAM - NULL, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - CounterMoneyName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - -/************************************* - Канальный счетчик времени работы -*************************************/ -TDataDescStruct const CounterChannelTimeDesc = { - DATA_DESC_VIEW, // тип дескриптора - DATA_TYPE_TIME_COUNT, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelStIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, Counters.CounterChannelTime), // указатель на переменную или адрес FRAM - NULL, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - CounterTimeName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - - -/************************************* - Канальный счетчик числа запусков -*************************************/ -TDataDescStruct const CounterChannelRunLongDesc = { - DATA_DESC_VIEW, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelStIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, CountersLong.CounterChannelRunLong[0]), // указатель на переменную или адрес FRAM - NULL, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - CounterRunName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - -/************************************* - Канальный счетчик денег -*************************************/ -TDataDescStruct const CounterChannelMoneyLongDesc = { - DATA_DESC_VIEW, // тип дескриптора - DATA_TYPE_ULONG, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelStIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, CountersLong.CounterChannelMoneyLong[0]), // указатель на переменную или адрес FRAM - NULL, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - CounterMoneyName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - -/************************************* - Канальный счетчик времени работы -*************************************/ -TDataDescStruct const CounterChannelTimeLongDesc = { - DATA_DESC_VIEW, // тип дескриптора - DATA_TYPE_TIME_COUNT, // тип параметра - DATA_LOC_FRAM, // расположение параметра - DATA_IS_ARRAY, // признак массива - CHANNELS_NUM, // размер массива - &ChannelStIndexDesc, // указатель на десриптор индекса массива - (void*)offsetof(TFramMap, CountersLong.CounterChannelTimeLong), // указатель на переменную или адрес FRAM - NULL, // указатель на границы параметра - NULL, // функция по изменению - sizeof(CPU_INT32U), // смещение между элементами в массиве - CounterTimeName, // указатель на строку названия параметра - DATA_NO_INDEX, // признак индексного параметра (список строк) - NULL, // указатель на список строк для индексного параметра - DATA_INIT_DISABLE, - 0 -}; - /************************************* Команда на очистку статистики *************************************/ @@ -2461,7 +1573,6 @@ void OnChangeClearStatCmd(void) { if (ClearStatCmd) { - ClearCounters(); ClearStatCmd = 0; } } @@ -2834,7 +1945,6 @@ void OnChangeTempPass(void) } else {ClearJournalCmd = 1; OnChangeClearJournalCmd(); GoToPreviousMenu(); GoToMenu(JournalIsReset);} } - } TDataDescStruct const PassTempDesc = { @@ -3143,7 +2253,12 @@ void OnChangeIpMask() GetData(&NetMaskDesc, &mask, 0, DATA_FLAG_SYSTEM_INDEX); NetIP_CfgAddrThisHost(ip, mask); } - + +TRangeValueULONG const DeferredStartRange = {0, 1}; +CPU_INT08U const DeferredStart_str0[] = "нет"; +CPU_INT08U const DeferredStart_str1[] = "да"; +CPU_INT08U const *DeferredStartList[] = {DeferredStart_str0, DeferredStart_str1, NULL}; + CPU_INT08U const IpAddrName[] = "IP"; TDataDescStruct const IpAddrDesc = { @@ -3244,30 +2359,10 @@ TDataDescStruct const IncasTimeDesc = { //************************************************** const TDataDescArrayStruct AllDataArray[] = { - {&WorkTimeDesc, "WorkTimeDesc"}, - {&ChannelIndexDesc, "ChannelIndexDesc"}, - {&EnableChannelDesc, "EnableChannelDesc"}, {&EnableValidatorDesc, "EnableValidatorDesc"}, {&EnableModemDesc, "EnableModemDesc"}, {&EnableFiscalDesc, "EnableFiscalDesc"}, {&EnableCoinDesc, "EnableCoinDesc"}, - {&TimeOutBeforeDesc, "TimeOutBeforeDesc"}, - {&TimeOutAfterDesc, "TimeOutAfterDesc"}, - {&MaxWorkTimeDesc, "MaxWorkTimeDesc"}, - {&MinWorkTimeDesc, "MinWorkTimeDesc"}, - {&WeekEndDesc, "WeekEndDesc"}, - {&PeriodWeekendIndexDesc, "PeriodWeekendIndexDesc"}, - {&PeriodWeekdaysIndexDesc, "PeriodWeekdaysIndexDesc"}, - - {&PriceWeekendDesc, "PriceWeekendDesc"}, - {&PriceWeekdaysDesc, "PriceWeekdaysDesc"}, - - {&PriceTimeWeekendDesc, "PriceTimeWeekendDesc"}, - {&PriceTimeWeekdaysDesc, "PriceTimeWeekdaysDesc"}, - {&T_Start_WeekdaysDesc, "T_Start_WeekdaysDesc"}, - {&T_End_WeekdaysDesc, "T_End_WeekdaysDesc"}, - {&T_Start_WeekendDesc, "T_Start_WeekendDesc"}, - {&T_End_WeekendDesc, "T_End_WeekendDesc"}, {&PrintZReportDesc, "PrintZReportDesc"}, {&PrintXReportDesc, "PrintXReportDesc"}, @@ -3276,7 +2371,6 @@ const TDataDescArrayStruct AllDataArray[] = {&CoinPerPulseDesc, "CoinPerPulseDesc"}, {&BillFormatDesc, "BillFormatDesc"}, - {&NameChannelDesc, "NameChannelDesc"}, {&PassDesc, "PassDesc"}, {&DeviceIDDesc, "DeviceIDDesc"}, @@ -3288,20 +2382,12 @@ const TDataDescArrayStruct AllDataArray[] = {&SendTestEmailDesc, "SendTestEmailDesc"}, {&BillnomIndexDesc, "BillnomIndexDesc"}, - {&DeferredStartDesc, "DeferredStartDesc"}, {&StartButtonNameDesc, "StartButtonNameDesc"}, {&GatewayDesc, "GatewayDesc"}, {&NetMaskDesc, "NetMaskDesc"}, {&IpAddrDesc, "IpAddrDesc"}, - {&SelectProtectDesc, "SelectProtectDesc"}, - {&PostIpAddrDesc, "PostIpAddrDesc"}, - - {&PostImpCostDesc, "PostImpCostDesc"}, - {&PostLenCostDesc, "PostLenCostDesc"}, - {&PostMinutePriceDesc, "PostMinutePriceDesc"}, - {&CashModeDesc, "CashModeDesc"}, {&CashPerPulseDesc, "CashPerPulseDesc"}, diff --git a/PROJECT/data/datadesc.h b/PROJECT/data/datadesc.h index 99b8fa6..fbf138d 100644 --- a/PROJECT/data/datadesc.h +++ b/PROJECT/data/datadesc.h @@ -2,7 +2,6 @@ #define _DATADESC_H_ #include "data.h" -#include "control.h" #define INCAS_SEND_FLAG 0x87654321 @@ -16,50 +15,6 @@ #define DEFAULT_PASSWORD 1111 #define MASTER_PASSWORD 11300045//1234567890L -// структура конфигурации каналов -typedef struct{ - // включение канала - CPU_INT32U Enable[CHANNELS_NUM]; - // тайм-аут перед включением, сек. - CPU_INT32U TimeOutBefore[CHANNELS_NUM]; - // тайм-аут после выключения, мин. - CPU_INT32U TimeOutAfter[CHANNELS_NUM]; - // максимальное время работы, мин. - CPU_INT32U MaxWorkTime[CHANNELS_NUM]; - // минимальное время работы, мин. - CPU_INT32U MinWorkTime[CHANNELS_NUM]; - // настройка уикенда, индекс - CPU_INT32U WeekEnd[CHANNELS_NUM]; - #define WEEKEND_NO 0 - #define WEEKEND_FRIDAY_SUNDAY 1 - #define WEEKEND_SATURDAY_SUNDAY 2 - #define WEEKEND_FRIDAY_SATURDAY 3 - #define WEEKEND_FRIDAY_MONDAY 4 - // название канала - CPU_INT32U Name[CHANNELS_NUM]; - - // периоды - #define PRICE_PERIODS_NUM 4 - CPU_INT32U T_Start_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM]; - CPU_INT32U T_End_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM]; - CPU_INT32U T_Start_Weekend[CHANNELS_NUM][PRICE_PERIODS_NUM]; - CPU_INT32U T_End_Weekend[CHANNELS_NUM][PRICE_PERIODS_NUM]; - // цены - CPU_INT32U Price_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM]; - CPU_INT32U Price_Weekend[CHANNELS_NUM][PRICE_PERIODS_NUM]; - CPU_INT32U PriceTime_Weekdays[CHANNELS_NUM][PRICE_PERIODS_NUM]; - CPU_INT32U PriceTime_Weekend[CHANNELS_NUM][PRICE_PERIODS_NUM]; - - CPU_INT32U post_ip[CHANNELS_NUM]; - CPU_INT32U select_protect[CHANNELS_NUM]; - CPU_INT32U imp_len[CHANNELS_NUM]; - CPU_INT32U imp_cost[CHANNELS_NUM]; - CPU_INT32U minute_cost[CHANNELS_NUM]; - - CPU_INT32U Price; - -}TChannelConfig; - // структура конфигурации аппаратуры typedef struct{ CPU_INT32U EnableValidator[COUNT_POST + COUNT_VACUUM]; @@ -93,39 +48,19 @@ typedef struct{ extern CPU_INT32U PeriodIndex; -extern CPU_INT32U ChannelIndex; extern TDataDescStruct const DeviceIDDesc; extern TDataDescStruct const LastEmailSendTime; -extern TDataDescStruct const ChannelIndexDesc; -extern TDataDescStruct const EnableChannelDesc; -extern TDataDescStruct const TimeOutBeforeDesc; -extern TDataDescStruct const TimeOutAfterDesc; -extern TDataDescStruct const MaxWorkTimeDesc; -extern TDataDescStruct const MinWorkTimeDesc; -extern TDataDescStruct const WeekEndDesc; -extern TDataDescStruct const DeferredStartDesc; - -extern TDataDescStruct const PeriodWeekendIndexDesc; -extern TDataDescStruct const PeriodWeekdaysIndexDesc; extern TDataDescStruct const ServiceNameDesc; extern TDataDescStruct const PassDesc; +extern TDataDescStruct const PriceDesc; extern TDataDescStruct const PassCRCDesc; extern TDataDescStruct const PassTempDesc; extern CPU_INT32U TempPass; extern TDataDescStruct const PassTempDesc1; extern TDataDescStruct const PassTempDesc2; -extern TDataDescStruct const PriceWeekendDesc; -extern TDataDescStruct const PriceWeekdaysDesc; -extern TDataDescStruct const PriceTimeWeekendDesc; -extern TDataDescStruct const PriceTimeWeekdaysDesc; -extern TDataDescStruct const T_Start_WeekdaysDesc; -extern TDataDescStruct const T_End_WeekdaysDesc; -extern TDataDescStruct const T_Start_WeekendDesc; -extern TDataDescStruct const T_End_WeekendDesc; - extern TDataDescStruct const EnableFiscalDesc; extern TDataDescStruct const EnableCoinDesc; extern TDataDescStruct const EnableModemDesc; @@ -162,7 +97,6 @@ extern TDataDescStruct const CounterChannelTimeDesc; extern TDataDescStruct const ChannelStIndexDesc; extern TDataDescStruct const ClearStatCmdDesc; extern TDataDescStruct const BillFormatDesc; -extern TDataDescStruct const NameChannelDesc; extern TDataDescStruct const AcceptedMoneyDesc; extern TDataDescStruct const AcceptedMoneyCRC16Desc; @@ -204,18 +138,10 @@ extern TDataDescStruct const GatewayDesc; extern TDataDescStruct const NetMaskDesc; extern TDataDescStruct const IpAddrDesc; -extern TDataDescStruct const PostIpAddrDesc; -extern TDataDescStruct const SelectProtectDesc; -extern TDataDescStruct const PostImpCostDesc; -extern TDataDescStruct const PostLenCostDesc; -extern TDataDescStruct const PostMinutePriceDesc; - extern TDataDescStruct const CashModeDesc; extern TDataDescStruct const CashPerPulseDesc; extern TDataDescStruct const PrintTimeoutDesc; -extern TDataDescStruct const PriceDesc; - extern void OnChangeInitByDefault(void); extern void OnChangeServiceName(void); diff --git a/PROJECT/data/fram_map.h b/PROJECT/data/fram_map.h index b8b6c31..0793264 100644 --- a/PROJECT/data/fram_map.h +++ b/PROJECT/data/fram_map.h @@ -10,10 +10,7 @@ typedef struct CPU_INT32U SerialNum; - TChannelConfig ChannelConfig; - TDeviceConfig DeviceConfig; - // счетчики TCounters Counters; @@ -26,6 +23,8 @@ typedef struct // журнал событий+ошибок TEventRecord EventRecords[EVENT_RECORDS_COUNT]; + CPU_INT32U Price; + CPU_INT32U Pass; CPU_INT32U crc_Pass; @@ -36,8 +35,6 @@ typedef struct CPU_INT32U IncasTime; CPU_INT32U StartButtonName; - - CPU_INT32U DefferedStartEnabled[CHANNELS_NUM]; #endif CPU_INT08U mac_addr[6]; diff --git a/PROJECT/menu/menudesc.c b/PROJECT/menu/menudesc.c index 2c2b8ad..0e2a704 100644 --- a/PROJECT/menu/menudesc.c +++ b/PROJECT/menu/menudesc.c @@ -4,7 +4,6 @@ #include "menudesc.h" #include "data.h" #include "datadesc.h" -#include "control.h" #include "journal.h" #include "time.h" #include "mode.h" @@ -515,85 +514,6 @@ const TMenuLine line_SettingsMenu_7 = { const TMenuLineArray arr_SettingsMenuArray[] = {&line_SettingsMenu_0, &line_SettingsMenu_2, &line_SettingsMenu_5, &line_SettingsMenu_3, &line_SettingsMenu_6, /*&line_SettingsMenu_8,*/ NULL}; const TMenuPanel SettingsMenuPanel[] = {arr_SettingsMenuArray, NULL, 5, MENU_PANEL_STANDARD}; - - -/*********************************** - МЕНЮ НАСТРОЙКА КАНАЛОВ -***********************************/ -const TMenuLine line_ChannelMenu_0 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - MENU_FIXED_LINE|MENU_INDEX_LINE, // доп. флаги - (void*)&ChannelIndexDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_ChannelMenu_1 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&EnableChannelDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_ChannelMenu_2 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&PostIpAddrDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_ChannelMenu_3 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&SelectProtectDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_ChannelMenu_4 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&PostImpCostDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_ChannelMenu_5 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&PostLenCostDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_ChannelMenu_6 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&PostMinutePriceDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLineArray arr_ChannelMenuArray[] = {&line_ChannelMenu_0, - &line_ChannelMenu_1, - &line_ChannelMenu_2, - &line_ChannelMenu_4, - &line_ChannelMenu_5, - &line_ChannelMenu_3, - &line_ChannelMenu_6, - NULL}; -char flag_enter_periods=0; - -void OnEnterChannelSettingsMenu(void) -{ - if (!flag_enter_periods) - { - ChannelIndex = 0; - } - else - { - flag_enter_periods = 0; - } -} - -const TMenuPanel ChannelMenuPanel[] = {arr_ChannelMenuArray, OnEnterChannelSettingsMenu, 7, MENU_PANEL_STANDARD}; - - /*********************************** МЕНЮ НАСТРОЙКА СЕТИ ***********************************/ @@ -630,54 +550,6 @@ const TMenuLine line_NetworkMenu_3 = { const TMenuLineArray arr_NetworkMenuArray[] = {&line_NetworkMenu_0, &line_NetworkMenu_1, &line_NetworkMenu_2, &line_NetworkMenu_3, NULL}; const TMenuPanel NetworkMenuPanel[] = {arr_NetworkMenuArray, NULL, 4, MENU_PANEL_STANDARD}; -/*********************************** - МЕНЮ НАСТРОЙКА ЦЕНЫ НА БУДНЯХ -***********************************/ -void OnEnterPanelPrice(void) -{ - PeriodIndex = ChannelIndex*PRICE_PERIODS_NUM; - flag_enter_periods = 1; -} - -const TMenuLine line_PriceMenu_0 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - MENU_FIXED_LINE|MENU_INDEX_LINE, // доп. флаги - (void*)&PeriodWeekdaysIndexDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_PriceMenu_1 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&T_Start_WeekdaysDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_PriceMenu_2 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&T_End_WeekdaysDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_PriceMenu_3 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&PriceWeekdaysDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_PriceMenu_4 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&PriceTimeWeekdaysDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLineArray arr_PriceMenuArray[] = {&line_PriceMenu_0, &line_PriceMenu_1, &line_PriceMenu_2, &line_PriceMenu_3, &line_PriceMenu_4, NULL}; -const TMenuPanel PriceWeekdaysMenuPanel[] = {arr_PriceMenuArray, OnEnterPanelPrice, 5, MENU_PANEL_STANDARD}; - - /*********************************** МЕНЮ ВВОД ТЕКУЩЕГО ПАРОЛЯ ***********************************/ @@ -796,48 +668,6 @@ const TMenuLine line_SetNewPassMenu_1 = { const TMenuLineArray arr_SetNewPassMenuArray[] = {&line_SetNewPassMenu_0, &line_SetNewPassMenu_1, NULL}; const TMenuPanel SetNewPassMenuPanel[] = {arr_SetNewPassMenuArray, NULL, 2, MENU_PANEL_STANDARD}; -/*********************************** - МЕНЮ НАСТРОЙКА ЦЕНЫ НА ВЫХОДНЫХ -***********************************/ -const TMenuLine line_PriceMenuWend_0 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - MENU_FIXED_LINE|MENU_INDEX_LINE, // доп. флаги - (void*)&PeriodWeekendIndexDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_PriceMenuWend_1 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&T_Start_WeekendDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_PriceMenuWend_2 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&T_End_WeekendDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_PriceMenuWend_3 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&PriceWeekendDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLine line_PriceMenuWend_4 = { - MENU_LINE_SHOW_DESC, // тип пункта меню - 0, // доп. флаги - (void*)&PriceTimeWeekendDesc, // указатель на текстовую строку или дескриптор - NULL // панель для перехода -}; - -const TMenuLineArray arr_PriceMenuArrayWend[] = {&line_PriceMenuWend_0, &line_PriceMenuWend_1, &line_PriceMenuWend_2, &line_PriceMenuWend_3, &line_PriceMenuWend_4, NULL}; -const TMenuPanel PriceWeekendMenuPanel[] = {arr_PriceMenuArrayWend, OnEnterPanelPrice, 5, MENU_PANEL_STANDARD}; - - /*********************************** МЕНЮ НАСТРОЙКА ОБОРУДОВАНИЯ ***********************************/ diff --git a/PROJECT/services/coin.c b/PROJECT/services/coin.c index 42b2d73..bf731e5 100644 --- a/PROJECT/services/coin.c +++ b/PROJECT/services/coin.c @@ -196,6 +196,11 @@ CPU_INT32U GetResetCashCount(int index) return ctr; } +CPU_INT32U period[COUNT_POST + COUNT_VACUUM]; +CPU_INT32U period_cash[COUNT_POST + COUNT_VACUUM]; +CPU_INT32U period_signal[COUNT_POST + COUNT_VACUUM]; +CPU_INT32U T3CR = 0; + // инициализация монетоприемника void InitCoin(void) { @@ -203,8 +208,19 @@ void InitCoin(void) { CoinImpCounter[i] = 0; CashImpCounter[i] = 0; + + cash_pulse[i] = 0; + cash_pause[i] = 0; pend_cash_counter[i] = 0; + pend_cash_timestamp[i] = 0; + + signal_pulse[i] = 0; + pend_signal_counter[i] = 0; + + period[i] = 0; + period_cash[i] = 0; + period_signal[i] = 0; } InitImpInput(); @@ -213,11 +229,6 @@ void InitCoin(void) void InputCapture_ISR(void) { - static CPU_INT32U period[COUNT_POST + COUNT_VACUUM]; - static CPU_INT32U period_cash[COUNT_POST + COUNT_VACUUM]; - static CPU_INT32U period_signal[COUNT_POST + COUNT_VACUUM]; - static CPU_INT32U T3CR = 0; - T3IR = 0xFF; // наращиваем тики @@ -225,7 +236,7 @@ void InputCapture_ISR(void) // пост 1 // купюроприемник 1 - if (FIO1PIN_bit.P1_20) + if (!FIO1PIN_bit.P1_20) { // пришел задний фронт CPU_INT32U cr=T3CR; cr -= period_cash[0]; @@ -244,7 +255,7 @@ void InputCapture_ISR(void) } // монетоприемник 1 - if (FIO1PIN_bit.P1_21) + if (!FIO1PIN_bit.P1_21) { // пришел задний фронт if (((T3CR-period[0]) > COIN_IMP_MIN_LEN) && ((T3CR-period[0]) < COIN_IMP_MAX_LEN)) @@ -258,7 +269,7 @@ void InputCapture_ISR(void) } // сигнал печати чека 1 - if (FIO4PIN_bit.P4_28) + if (!FIO4PIN_bit.P4_28) { // пришел задний фронт CPU_INT32U cr=T3CR; cr -= period_signal[0]; @@ -277,7 +288,7 @@ void InputCapture_ISR(void) // пост 2 // купюроприемник 2 - if (FIO1PIN_bit.P1_19) + if (!FIO1PIN_bit.P1_19) { // пришел задний фронт CPU_INT32U cr=T3CR; cr -= period_cash[1]; @@ -296,7 +307,7 @@ void InputCapture_ISR(void) } // монетоприемник 2 - if (FIO1PIN_bit.P1_18) + if (!FIO1PIN_bit.P1_18) { // пришел задний фронт if (((T3CR-period[1]) > COIN_IMP_MIN_LEN) && ((T3CR-period[1]) < COIN_IMP_MAX_LEN)) @@ -310,13 +321,27 @@ void InputCapture_ISR(void) } // сигнал печати чека 2 - if (FIO0PIN_bit.P0_4) - { - } + if (!FIO0PIN_bit.P0_4) + { // пришел задний фронт + CPU_INT32U cr=T3CR; + cr -= period_signal[1]; + + if ((cr > (signal_pulse[1] - COIN_IMP_SPAN)) + && (cr < (signal_pulse[1] + COIN_IMP_SPAN))) + { + pend_signal_counter[0] = 1; + } + } + else + { // пришел передний фронт + period_signal[1] = T3CR; + pend_signal_counter[1] = 0; + } + // пост 3 // купюроприемник 3 - if (FIO3PIN_bit.P3_25) + if (!FIO3PIN_bit.P3_25) { // пришел задний фронт CPU_INT32U cr=T3CR; cr -= period_cash[2]; @@ -335,7 +360,7 @@ void InputCapture_ISR(void) } // монетоприемник 3 - if (FIO3PIN_bit.P3_26) + if (!FIO3PIN_bit.P3_26) { // пришел задний фронт if (((T3CR-period[2]) > COIN_IMP_MIN_LEN) && ((T3CR-period[2]) < COIN_IMP_MAX_LEN)) @@ -349,13 +374,27 @@ void InputCapture_ISR(void) } // сигнал печати чека 3 - if (FIO1PIN_bit.P1_28) - { - } + if (!FIO1PIN_bit.P1_28) + { // пришел задний фронт + CPU_INT32U cr=T3CR; + cr -= period_signal[2]; + + if ((cr > (signal_pulse[2] - COIN_IMP_SPAN)) + && (cr < (signal_pulse[2] + COIN_IMP_SPAN))) + { + pend_signal_counter[2] = 1; + } + } + else + { // пришел передний фронт + period_signal[2] = T3CR; + pend_signal_counter[2] = 0; + } + // пост 4 // купюроприемник 4 - if (FIO0PIN_bit.P0_26) + if (!FIO0PIN_bit.P0_26) { // пришел задний фронт CPU_INT32U cr=T3CR; cr -= period_cash[3]; @@ -374,7 +413,7 @@ void InputCapture_ISR(void) } // монетоприемник 4 - if (FIO0PIN_bit.P0_25) + if (!FIO0PIN_bit.P0_25) { // пришел задний фронт if (((T3CR-period[3]) > COIN_IMP_MIN_LEN) && ((T3CR-period[3]) < COIN_IMP_MAX_LEN)) @@ -388,13 +427,27 @@ void InputCapture_ISR(void) } // сигнал печати чека 4 - if (FIO1PIN_bit.P1_27) - { - } + if (!FIO1PIN_bit.P1_27) + { // пришел задний фронт + CPU_INT32U cr=T3CR; + cr -= period_signal[3]; + + if ((cr > (signal_pulse[3] - COIN_IMP_SPAN)) + && (cr < (signal_pulse[3] + COIN_IMP_SPAN))) + { + pend_signal_counter[3] = 1; + } + } + else + { // пришел передний фронт + period_signal[3] = T3CR; + pend_signal_counter[3] = 0; + } + // пост 5 // купюроприемник 5 - if (FIO0PIN_bit.P0_9) + if (!FIO0PIN_bit.P0_9) { // пришел задний фронт CPU_INT32U cr=T3CR; cr -= period_cash[4]; @@ -413,7 +466,7 @@ void InputCapture_ISR(void) } // монетоприемник 5 - if (FIO2PIN_bit.P2_2) + if (!FIO2PIN_bit.P2_2) { // пришел задний фронт if (((T3CR-period[4]) > COIN_IMP_MIN_LEN) && ((T3CR-period[4]) < COIN_IMP_MAX_LEN)) @@ -427,13 +480,27 @@ void InputCapture_ISR(void) } // сигнал печати чека 5 - if (FIO1PIN_bit.P1_26) - { - } + if (!FIO1PIN_bit.P1_26) + { // пришел задний фронт + CPU_INT32U cr=T3CR; + cr -= period_signal[4]; + + if ((cr > (signal_pulse[4] - COIN_IMP_SPAN)) + && (cr < (signal_pulse[4] + COIN_IMP_SPAN))) + { + pend_signal_counter[4] = 1; + } + } + else + { // пришел передний фронт + period_signal[4] = T3CR; + pend_signal_counter[4] = 0; + } + // пост 6 // купюроприемник 6 - if (FIO0PIN_bit.P0_7) + if (!FIO0PIN_bit.P0_7) { // пришел задний фронт CPU_INT32U cr=T3CR; cr -= period_cash[5]; @@ -452,7 +519,7 @@ void InputCapture_ISR(void) } // монетоприемник 6 - if (FIO0PIN_bit.P0_8) + if (!FIO0PIN_bit.P0_8) { // пришел задний фронт if (((T3CR-period[5]) > COIN_IMP_MIN_LEN) && ((T3CR-period[5]) < COIN_IMP_MAX_LEN)) @@ -466,12 +533,26 @@ void InputCapture_ISR(void) } // сигнал печати чека 5 - if (FIO0PIN_bit.P0_0) - { - } + if (!FIO0PIN_bit.P0_0) + { // пришел задний фронт + CPU_INT32U cr=T3CR; + cr -= period_signal[5]; + + if ((cr > (signal_pulse[5] - COIN_IMP_SPAN)) + && (cr < (signal_pulse[5] + COIN_IMP_SPAN))) + { + pend_signal_counter[5] = 1; + } + } + else + { // пришел передний фронт + period_signal[5] = T3CR; + pend_signal_counter[5] = 0; + } + // монетоприемник пылесос 1 - if (FIO0PIN_bit.P0_5) + if (!FIO0PIN_bit.P0_5) { // пришел задний фронт if (((T3CR-period[6]) > COIN_IMP_MIN_LEN) && ((T3CR-period[6]) < COIN_IMP_MAX_LEN)) @@ -485,12 +566,26 @@ void InputCapture_ISR(void) } // сигнал печати чека пылесос 1 - if (FIO0PIN_bit.P0_6) - { - } + if (!FIO0PIN_bit.P0_6) + { // пришел задний фронт + CPU_INT32U cr=T3CR; + cr -= period_signal[6]; + + if ((cr > (signal_pulse[6] - COIN_IMP_SPAN)) + && (cr < (signal_pulse[6] + COIN_IMP_SPAN))) + { + pend_signal_counter[6] = 1; + } + } + else + { // пришел передний фронт + period_signal[6] = T3CR; + pend_signal_counter[6] = 0; + } + // монетоприемник пылесос 2 - if (FIO1PIN_bit.P1_25) + if (!FIO1PIN_bit.P1_25) { // пришел задний фронт if (((T3CR-period[7]) > COIN_IMP_MIN_LEN) && ((T3CR-period[7]) < COIN_IMP_MAX_LEN)) @@ -504,9 +599,23 @@ void InputCapture_ISR(void) } // сигнал печати чека пылесос 2 - if (FIO0PIN_bit.P0_10) - { - } + if (!FIO0PIN_bit.P0_10) + { // пришел задний фронт + CPU_INT32U cr=T3CR; + cr -= period_signal[7]; + + if ((cr > (signal_pulse[7] - COIN_IMP_SPAN)) + && (cr < (signal_pulse[7] + COIN_IMP_SPAN))) + { + pend_signal_counter[7] = 1; + } + } + else + { // пришел передний фронт + period_signal[7] = T3CR; + pend_signal_counter[7] = 0; + } + } extern CPU_INT32U BSP_CPU_PclkFreq (CPU_INT08U pclk); diff --git a/PROJECT/services/fr.c b/PROJECT/services/fr.c index 8b4ed74..4affa15 100644 --- a/PROJECT/services/fr.c +++ b/PROJECT/services/fr.c @@ -624,7 +624,7 @@ void ClrFiscalErrorByCode(CPU_INT08U err) // печать чека на ФР // ext - расширенный формат команды (Операция V2 расширенное закрытие чека) -int PrintFiscalBill(CPU_INT32U money) +int PrintFiscalBill(CPU_INT32U money, CPU_INT32U post) { CPU_INT08U err; CPU_INT64U count = 1000; @@ -716,8 +716,7 @@ repeat_sell1: GetData(&ServiceNameDesc, &serv_index, 0, DATA_FLAG_SYSTEM_INDEX); if (serv_index == 1) { - static const char sss[] = "Услуги мойки самообслуживания"; - strcpy(service_name, sss); + sprintf(service_name, "Услуги мойки самообслуживания пост %d", post + 1); } else { @@ -731,8 +730,7 @@ repeat_sell1: GetData(&ServiceNameDesc, &serv_index, 0, DATA_FLAG_SYSTEM_INDEX); if (serv_index == 1) { - static const char sss[] = "Услуги мойки самообслуживания"; - strcpy(service_name, sss); + sprintf(service_name, "Услуги мойки самообслуживания пост %d", post + 1); } else { @@ -810,8 +808,7 @@ repeat_sell2: GetData(&ServiceNameDesc, &serv_index, 0, DATA_FLAG_SYSTEM_INDEX); if (serv_index == 1) { - static const char sss[] = "Услуги мойки самообслуживания"; - strcpy(service_name, sss); + sprintf(service_name, "Услуги мойки самообслуживания пост %d", post + 1); } else { @@ -825,8 +822,7 @@ repeat_sell2: GetData(&ServiceNameDesc, &serv_index, 0, DATA_FLAG_SYSTEM_INDEX); if (serv_index == 1) { - static const char sss[] = "Услуги мойки самообслуживания"; - strcpy(service_name, sss); + sprintf(service_name, "Услуги мойки самообслуживания пост %d", post + 1); } else { diff --git a/PROJECT/services/fr.h b/PROJECT/services/fr.h index b67d91a..b1ded94 100644 --- a/PROJECT/services/fr.h +++ b/PROJECT/services/fr.h @@ -14,7 +14,7 @@ extern void InitFiscal(void); extern int IsFiscalConnected(void); extern void FPend(void); extern void FPost(void); -extern int PrintFiscalBill(CPU_INT32U money); +extern int PrintFiscalBill(CPU_INT32U money, CPU_INT32U post); extern int PrintFiscalBillRepeated(CPU_INT32U money, CPU_INT32U time); extern void SetFiscalErrorByCode(CPU_INT08U err); extern void ClearFiscalErrors(void); diff --git a/settings/sk-mlpc2368.dni b/settings/sk-mlpc2368.dni index 8b33404..57a05bf 100644 --- a/settings/sk-mlpc2368.dni +++ b/settings/sk-mlpc2368.dni @@ -14,7 +14,7 @@ Count=0 Enabled=0 ShowSource=1 [DebugChecksum] -Checksum=753675904 +Checksum=1198817827 [Exceptions] StopOnUncaught=_ 0 StopOnThrow=_ 0 diff --git a/settings/sk-mlpc2368.wsdt b/settings/sk-mlpc2368.wsdt index d6620ee..021bcaf 100644 --- a/settings/sk-mlpc2368.wsdt +++ b/settings/sk-mlpc2368.wsdt @@ -52,14 +52,14 @@ - TextEditor$WS_DIR$\PROJECT\menu\menu.h04814241424TextEditor$WS_DIR$\OS\app\app_cfg.h005858TextEditor$WS_DIR$\..\..\8\positive_6_24\OS\app\app.c02614311431TextEditor$WS_DIR$\PROJECT\services\fr.c04484484TextEditor$WS_DIR$\PROJECT\services\console.c010933323332TextEditor$WS_DIR$\OS\uc\cpu\cpu.h08545784589TextEditor$WS_DIR$\OS\uc\lib\lib_def.h011159735981TextEditor$WS_DIR$\PROJECT\data\fram_map.h039939939TextEditor$WS_DIR$\PROJECT\app\app_serv.h03115361564TextEditor$WS_DIR$\PROJECT\app\journal.h04432053205TextEditor$WS_DIR$\PROJECT\app\journal.c04211441144TextEditor$WS_DIR$\PROJECT\services\time.c012625625TextEditor$WS_DIR$\PROJECT\menu\menu.c020660776077TextEditor$WS_DIR$\OS\bsp\iolpc2368.h04749149473149473TextEditor$WS_DIR$\PROJECT\data\datadesc.c06362921629216TextEditor$WS_DIR$\PROJECT\app\control.h004949TextEditor$WS_DIR$\PROJECT\menu\menudesc.c08633624636246TextEditor$WS_DIR$\PROJECT\data\data.h07316181618TextEditor$WS_DIR$\PROJECT\data\data.c011234873487TextEditor$WS_DIR$\PROJECT\services\coin.h0018518519TextEditor$WS_DIR$\OS\uc\os_ii\source\os_time.c03823952395TextEditor$WS_DIR$\PROJECT\services\coin.c020853945394TextEditor$WS_DIR$\PROJECT\app\app_serv.c04291317913179TextEditor$WS_DIR$\OS\uc\tcpip\NIC\ETHER\LPC2368\net_nic.c07924255142551TextEditor$WS_DIR$\OS\bsp\bsp.c02481010810108TextEditor$WS_DIR$\OS\uc\os_ii\port\os_cpu_a.asm011757325732TextEditor$WS_DIR$\OS\bsp\bsp.h03021292140TextEditor$WS_DIR$\OS\app\app.c0011311131TextEditor$WS_DIR$\OS\uc\os_ii\port\os_cpu_c.c023299829982TextEditor$WS_DIR$\OS\uc\os_ii\source\os_core.c0136356947569470100000010000001 + TextEditor$WS_DIR$\PROJECT\menu\menu.h04814241424TextEditor$WS_DIR$\OS\app\app_cfg.h005858TextEditor$WS_DIR$\..\..\8\positive_6_24\OS\app\app.c02614311431TextEditor$WS_DIR$\PROJECT\services\fr.c080322014220143TextEditor$WS_DIR$\PROJECT\services\console.c010933323332TextEditor$WS_DIR$\OS\uc\cpu\cpu.h08545784589TextEditor$WS_DIR$\OS\uc\lib\lib_def.h011159735981TextEditor$WS_DIR$\PROJECT\data\fram_map.h020665665TextEditor$WS_DIR$\PROJECT\app\app_serv.h03115361564TextEditor$WS_DIR$\PROJECT\app\journal.c011031673200TextEditor$WS_DIR$\PROJECT\services\time.c081625625TextEditor$WS_DIR$\PROJECT\data\datadesc.c017827935879358TextEditor$WS_DIR$\PROJECT\menu\menudesc.c06172666426664TextEditor$WS_DIR$\PROJECT\data\data.h07316181618TextEditor$WS_DIR$\PROJECT\data\data.c034494269426TextEditor$WS_DIR$\PROJECT\services\coin.h00159159TextEditor$WS_DIR$\PROJECT\services\coin.c021453505350TextEditor$WS_DIR$\PROJECT\app\app_serv.c03411129911299TextEditor$WS_DIR$\PROJECT\data\datadesc.h012645634563TextEditor$WS_DIR$\OS\app\app.c028113111310100000010000001 - iaridepm.enu1-2-2742253-2-2200200156250210305199219782334-2-21641282-2-212841661003125174553156250210305 + iaridepm.enu1-2-2674253-2-2200200156250210305199219710831-2-22321282-2-212842341003125246057156250210305 diff --git a/sk-mlpc2368.dep b/sk-mlpc2368.dep index c3dc2e9..6e10960 100644 --- a/sk-mlpc2368.dep +++ b/sk-mlpc2368.dep @@ -2,7 +2,7 @@ 2 - 269454336 + 2899151881 Flash Central @@ -451,11 +451,11 @@ ICCARM - 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 7 23 130 123 20 133 21 6 145 135 152 + 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 7 23 130 20 133 21 6 145 135 152 BICOMP - 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 7 23 130 123 20 133 21 6 145 135 152 + 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 7 23 130 20 133 21 6 145 135 152 @@ -497,11 +497,11 @@ ICCARM - 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 7 23 130 123 20 133 129 152 145 153 + 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 7 23 130 20 133 129 152 145 153 BICOMP - 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 7 23 130 123 20 133 129 152 145 153 + 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 7 23 130 20 133 129 152 145 153 @@ -520,11 +520,11 @@ ICCARM - 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 2 122 165 8 140 129 133 123 130 20 135 + 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 2 122 165 8 140 129 133 130 20 135 BICOMP - 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 2 122 165 8 140 129 133 123 130 20 135 + 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 2 122 165 8 140 129 133 130 20 135 @@ -543,11 +543,11 @@ ICCARM - 254 61 244 221 220 232 242 252 135 1 133 129 123 42 60 46 142 157 31 58 163 50 + 254 61 244 221 220 232 242 252 135 1 133 129 42 60 46 142 157 31 58 163 50 BICOMP - 254 61 244 221 220 232 242 252 135 1 133 129 123 42 60 46 142 31 58 163 50 + 254 61 244 221 220 232 242 252 135 1 133 129 42 60 46 142 31 58 163 50 @@ -589,11 +589,11 @@ ICCARM - 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 133 129 123 7 23 130 20 8 140 152 3 1 + 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 133 129 7 23 130 20 8 140 152 3 1 BICOMP - 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 133 129 123 7 23 130 20 8 140 152 3 1 + 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 133 129 7 23 130 20 8 140 152 3 1 @@ -681,11 +681,11 @@ ICCARM - 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 130 123 20 8 140 129 133 152 148 3 145 + 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 130 20 8 140 129 133 152 148 3 145 BICOMP - 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 130 123 20 8 140 129 133 152 148 3 145 + 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 130 20 8 140 129 133 152 148 3 145 @@ -704,11 +704,11 @@ ICCARM - 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 133 129 123 8 152 + 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 133 129 8 152 BICOMP - 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 133 129 123 8 152 + 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 133 129 8 152 @@ -727,11 +727,11 @@ ICCARM - 122 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 165 8 140 129 133 123 130 20 152 3 135 153 + 122 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 165 8 140 129 133 130 20 152 3 135 153 BICOMP - 122 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 165 8 140 129 133 123 130 20 152 3 135 153 + 122 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 165 8 140 129 133 130 20 152 3 135 153 @@ -773,11 +773,11 @@ ICCARM - 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 1 152 20 7 133 145 23 130 123 129 148 3 120 2 21 + 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 1 152 20 7 133 145 23 130 129 148 3 120 2 21 BICOMP - 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 1 152 20 7 133 145 23 130 123 129 148 3 120 2 21 + 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 1 152 20 7 133 145 23 130 129 148 3 120 2 21 @@ -819,11 +819,11 @@ ICCARM - 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 20 148 5 133 129 123 130 152 8 140 + 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 20 148 5 133 129 130 152 8 140 BICOMP - 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 20 148 5 133 129 123 130 152 8 140 + 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 135 20 148 5 133 129 130 152 8 140 @@ -874,7 +874,7 @@ ILINK - 255 95 171 117 84 77 173 151 88 68 85 103 116 110 72 102 98 109 108 111 114 99 71 93 81 90 195 179 188 177 100 180 186 191 190 172 184 174 170 187 94 194 197 178 189 168 175 193 169 181 69 112 82 119 118 115 97 104 106 101 192 176 166 185 167 105 70 96 146 158 63 67 + 255 95 171 117 84 77 173 88 68 85 103 116 110 72 102 98 109 108 111 114 99 71 93 81 90 195 179 188 177 100 180 186 191 190 172 184 174 170 187 94 194 197 178 189 168 175 193 169 181 69 112 82 119 118 115 97 104 106 101 192 176 166 185 167 105 70 96 146 158 63 67 @@ -883,7 +883,7 @@ BILINK - 74 35 80 210 204 208 205 209 217 87 211 206 207 212 201 203 202 73 86 213 218 214 215 47 56 45 39 79 53 25 41 38 52 183 32 26 55 78 40 44 49 29 43 30 48 34 28 92 91 107 75 76 89 83 27 36 182 54 37 51 196 199 200 + 74 35 80 210 204 208 209 217 87 211 206 207 212 201 203 202 73 86 213 218 214 215 47 56 45 39 79 53 25 41 38 52 183 32 26 55 78 40 44 49 29 43 30 48 34 28 92 91 107 75 76 89 83 27 36 182 54 37 51 196 199 200 @@ -934,11 +934,11 @@ ICCARM - 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 268 10 8 2 140 129 133 123 130 20 6 21 135 22 165 + 219 160 60 46 142 157 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 268 10 8 2 140 129 133 130 20 6 21 135 22 165 BICOMP - 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 268 10 8 2 140 129 133 123 130 20 6 21 135 22 165 + 219 160 60 46 142 31 58 163 50 57 154 162 141 62 164 150 42 64 66 143 155 65 254 61 244 221 220 232 242 252 249 237 256 159 33 223 276 285 272 226 280 127 281 294 277 279 283 299 136 235 263 257 259 262 271 298 295 124 278 265 270 300 287 268 10 8 2 140 129 133 130 20 6 21 135 22 165 diff --git a/sk-mlpc2368.ewp b/sk-mlpc2368.ewp index 9179290..aecacc7 100644 --- a/sk-mlpc2368.ewp +++ b/sk-mlpc2368.ewp @@ -3125,12 +3125,6 @@ $PROJ_DIR$\PROJECT\app\console_cmd.h - - $PROJ_DIR$\PROJECT\app\control.c - - - $PROJ_DIR$\PROJECT\app\control.h - $PROJ_DIR$\PROJECT\app\host_app.c