mirror of
https://github.com/dimoniche/changer.git
synced 2026-01-30 01:03:30 +03:00
ftp в процессе
This commit is contained in:
parent
cbdcd4c606
commit
4b12925a98
@ -5,11 +5,12 @@
|
||||
#include "ftp_client.h"
|
||||
#include <string.h>
|
||||
#include "time.h"
|
||||
#include "term_tsk.h"
|
||||
#include "journal.h"
|
||||
#include "data.h"
|
||||
#include "datadesc.h"
|
||||
#include "ftp_app.h"
|
||||
#include "fram.h"
|
||||
#include "fram_map.h"
|
||||
|
||||
/*
|
||||
92.53.96.10
|
||||
@ -17,8 +18,9 @@ xmiker_morozov
|
||||
Qwerty11
|
||||
*/
|
||||
|
||||
// èñïîëüóçåì îáùèé ñ òåðìèíàëîì áóôåð äàííûõ
|
||||
extern char term_buffer[TERM_BUFFER_SIZE];
|
||||
static OS_STK FtpTaskStk[TERM_TASK_STK_SIZE];
|
||||
char term_buffer[TERM_BUFFER_SIZE];
|
||||
|
||||
extern void PrintEventJournalRecord(TEventRecord *record, char *str_event, char *str_data);
|
||||
CPU_INT08U time_to_ftp = 0;
|
||||
|
||||
@ -70,214 +72,12 @@ int ReadFtpCountersString(int index, char *buf)
|
||||
{
|
||||
CPU_INT32U i;
|
||||
static const char header1[] = ";Ñîëÿðèé 1 Êîëëàòýí;Ñîëÿðèé 1 Óëüòðàôèîëåò;Ñîëÿðèé 1 Ìàêñèìàëüíûé;Ñîëÿðèé 2 Êîëëàòýí;Ñîëÿðèé 2 Óëüòðàôèîëåò;Ñîëÿðèé 2 Ìàêñèìàëüíûé;Ñîëÿðèé 3 Êîëëàòýí;Ñîëÿðèé 3 Óëüòðàôèîëåò;Ñîëÿðèé 3 Ìàêñèìàëüíûé\r\n";
|
||||
static const char line1[] = "Äåíüãè, ðóá.";
|
||||
static const char line2[] = "Çàïóñêîâ";
|
||||
static const char line3[] = "Íàðàáîòêà, ìèí.";
|
||||
static const char header2[] = ";Êîëëàòýí;Óëüòðàôèîëåò;Ìàêñèìàëüíûé\r\n";
|
||||
static const char header3[] = ";Ñîëÿðèé 1;Ñîëÿðèé 2;Ñîëÿðèé 3\r\n";
|
||||
static const char line4[] = "Êîëëàòýí, ÷:ìì";
|
||||
static const char line5[] = "Óëüòðàôèîëåò, ÷:ìì";
|
||||
static const char header4[] = "Íàëè÷íûå, ðóá.;Áàíê, ðóá.;Âñåãî, ðóá.\r\n";
|
||||
static const char line6[] = "Òåñòîâûõ çàïóñêîâ";
|
||||
static const char line7[] = "Âðåìÿ òåñòà, ìèí.";
|
||||
static const char line10[] = "Êîëè÷åñòâî óáîðîê";
|
||||
static const char line11[] = "Âðåìÿ óáîðîê, ìèí.";
|
||||
static const char line12[] = "Ñðåäíåå âðåìÿ óáîðêè, ì:ññ";
|
||||
static const char line13[] = "Ñðåäíåå âðåìÿ òåñòà, ì:ññ";
|
||||
|
||||
switch (index)
|
||||
{
|
||||
case 0:
|
||||
strcpy(buf, header1);
|
||||
break;
|
||||
case 1:
|
||||
strcpy(buf, line1);
|
||||
for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterSolarMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 2:
|
||||
strcpy(buf, line2);
|
||||
for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterSolarRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 3:
|
||||
strcpy(buf, line3);
|
||||
for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterSolarWorkTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 4:
|
||||
strcpy(buf, line6);
|
||||
for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterSolarTestRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 5:
|
||||
strcpy(buf, line6);
|
||||
for (i = 0; i < CHANNELS_NUM * SOLAR_MODES_COUNT; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterSolarTestWorkTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 6:
|
||||
strcpy(buf, "\r\n");
|
||||
break;
|
||||
case 7:
|
||||
strcpy(buf, header2);
|
||||
break;
|
||||
case 8:
|
||||
strcpy(buf, line1);
|
||||
for (i = 0; i < SOLAR_MODES_COUNT; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterModeMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 9:
|
||||
strcpy(buf, line2);
|
||||
for (i = 0; i < SOLAR_MODES_COUNT; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterModeRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 10:
|
||||
strcpy(buf, line3);
|
||||
for (i = 0; i < SOLAR_MODES_COUNT; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterModeWorkTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 11:
|
||||
strcpy(buf, line6);
|
||||
for (i = 0; i < SOLAR_MODES_COUNT; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterModeTestRunsDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 12:
|
||||
strcpy(buf, line7);
|
||||
for (i = 0; i < SOLAR_MODES_COUNT; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterModeWorkTestTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 13:
|
||||
strcpy(buf, "\r\n");
|
||||
break;
|
||||
case 14:
|
||||
strcpy(buf, header3);
|
||||
break;
|
||||
case 15:
|
||||
strcpy(buf, line4);
|
||||
for (i = 0; i < CHANNELS_NUM; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterCollatenTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 16:
|
||||
strcpy(buf, line5);
|
||||
for (i = 0; i < CHANNELS_NUM; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterUFTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 17:
|
||||
strcpy(buf, line6);
|
||||
for (i = 0; i < CHANNELS_NUM; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterAllTestCountDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 18:
|
||||
strcpy(buf, line7);
|
||||
for (i = 0; i < CHANNELS_NUM; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterAllTestTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 19:
|
||||
strcpy(buf, line13);
|
||||
for (i = 0; i < CHANNELS_NUM; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterTestMeanTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 20:
|
||||
strcpy(buf, line10);
|
||||
for (i = 0; i < CHANNELS_NUM; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterCleaningCountDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 21:
|
||||
strcpy(buf, line11);
|
||||
for (i = 0; i < CHANNELS_NUM; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterCleaningTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 22:
|
||||
strcpy(buf, line12);
|
||||
for (i = 0; i < CHANNELS_NUM; i++)
|
||||
{
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterCleaningMeanTimeDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
}
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
case 23:
|
||||
strcpy(buf, "\r\n");
|
||||
break;
|
||||
case 24:
|
||||
strcpy(buf, header4);
|
||||
break;
|
||||
case 25:
|
||||
GetDataStr(&CounterCashMoneyDesc, (CPU_INT08U*)buf, i, DATA_FLAG_DIRECT_INDEX);
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterCardMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
strcat(buf, ";");
|
||||
GetDataStr(&CounterCommonMoneyDesc, (CPU_INT08U*)&buf[strlen(buf)], i, DATA_FLAG_DIRECT_INDEX);
|
||||
strcat(buf, "\r\n");
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
@ -512,5 +312,58 @@ int FtpUploadCsvReport(NET_IP_ADDR ip, CPU_INT32U id, char* login, char* pass, C
|
||||
return 0;
|
||||
}
|
||||
|
||||
void FtpAppTask(void *p_arg)
|
||||
{
|
||||
while(1)
|
||||
{
|
||||
#ifdef CONFIG_FTP_CLIENT_ENABLE
|
||||
if (time_to_ftp)
|
||||
{
|
||||
CPU_INT32U ip;
|
||||
CPU_INT32U id;
|
||||
CPU_INT32U time = SystemTime;
|
||||
CPU_INT32U result;
|
||||
char login[16];
|
||||
char pass[16];
|
||||
|
||||
GetData(&FtpDeviceNumberDesc, &id, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
GetData(&FtpServerIpAddrDesc, &ip, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
GetData(&FtpServerLoginDesc, login, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
GetData(&FtpServerPassDesc, pass, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
|
||||
if (FtpUploadCsvReport(ip, id, login, pass, time, time_to_ftp) == 0)
|
||||
{
|
||||
result = 1;
|
||||
SaveEventRecord(0, JOURNAL_EVENT_FTP_SEND, (time_to_ftp << 1) | 0);
|
||||
if (time_to_ftp & FTP_FLAG_CLEAR_COUNTERS)
|
||||
{
|
||||
ClearCounters();
|
||||
}
|
||||
if (time_to_ftp & FTP_FLAG_CLEAR_LOGS)
|
||||
{
|
||||
ClearEventJournal();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result = 0;
|
||||
SaveEventRecord(0, JOURNAL_EVENT_FTP_SEND, (time_to_ftp << 1) | 1);
|
||||
}
|
||||
WriteArrayFram(offsetof(TFramMap, FtpLastResult), sizeof(CPU_INT32U), (unsigned char *)&result);
|
||||
WriteArrayFram(offsetof(TFramMap, FtpLastTime), sizeof(CPU_INT32U), (unsigned char *)&time);
|
||||
time_to_ftp = 0;
|
||||
ftp_send_cmd = 0;
|
||||
}
|
||||
#endif
|
||||
OSTimeDly(1000);
|
||||
}
|
||||
}
|
||||
|
||||
void InitFTPApp()
|
||||
{
|
||||
OSTaskCreate(FtpAppTask, (void *)0, (OS_STK *)&FtpTaskStk[TERM_TASK_STK_SIZE-1], TERM_TASK_PRIO);
|
||||
INT8U err;
|
||||
OSTaskNameSet(TERM_TASK_PRIO, "Ftp Task", &err);
|
||||
}
|
||||
|
||||
#endif //#ifdef CONFIG_FTP_CLIENT_ENABLE
|
||||
|
||||
@ -8,8 +8,9 @@ extern CPU_INT08U time_to_ftp;
|
||||
#define FTP_FLAG_SEND_COUNTERS 0x01
|
||||
#define FTP_FLAG_SEND_LOGS 0x02
|
||||
#define FTP_FLAG_CLEAR_COUNTERS 0x04
|
||||
#define FTP_FLAG_CLEAR_LOGS 0x08
|
||||
#define FTP_FLAG_CLEAR_LOGS 0x08
|
||||
|
||||
#define TERM_BUFFER_SIZE 2048
|
||||
|
||||
extern int FtpUploadCsvReport(NET_IP_ADDR ip, CPU_INT32U id, char* login, char* pass, CPU_INT32U time, CPU_INT08U flags);
|
||||
extern void FtpCheckTimeToSend(CPU_INT32U systime);
|
||||
|
||||
@ -13,6 +13,15 @@ int GetData(const TDataDescStruct* desc, void* buf, CPU_INT32U index, CPU_INT08U
|
||||
TVariant32 Val;
|
||||
CPU_INT32U ofst = 0;
|
||||
|
||||
if (desc->Type == DATA_TYPE_CHAR_STRING)
|
||||
{
|
||||
if (desc->Location == DATA_LOC_FRAM)
|
||||
{
|
||||
ReadArrayFram((CPU_INT32U)desc->Data, desc->ArraySize, buf);
|
||||
}
|
||||
return DATA_OK;
|
||||
}
|
||||
|
||||
// îïðåäåëèì äîï. ñìåùåíèå äëÿ ìàññèâà
|
||||
if (desc->IsArray)
|
||||
{
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
#include "modem_task.h"
|
||||
#include "modem.h"
|
||||
#include "coin.h"
|
||||
#include "ftp_app.h"
|
||||
|
||||
extern CPU_INT32U modem_status;
|
||||
|
||||
@ -3735,6 +3736,279 @@ TDataDescStruct const RegimeHopperDesc = {
|
||||
0 // çíà÷åíèå ïî óìîë÷àíèþ
|
||||
};
|
||||
|
||||
#ifdef CONFIG_FTP_CLIENT_ENABLE
|
||||
|
||||
/*************************************
|
||||
Включение FTP
|
||||
*************************************/
|
||||
TDataDescStruct const FtpEnableDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_ULONG, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
NULL, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, FtpEnable), // указатель на переменную или адрес FRAM
|
||||
(void*)&EnableChannelRange, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
sizeof(CPU_INT32U), // смещение между элементами в массиве
|
||||
EnableChannelName, // указатель на строку названия параметра
|
||||
DATA_IS_INDEX, // признак индексного параметра (список строк)
|
||||
EnableChannelList, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
0
|
||||
};
|
||||
|
||||
char const FtpEnableDescId[] = "FtpEnableDesc";
|
||||
|
||||
/*************************************
|
||||
IP-адрес FTP-сервера
|
||||
*************************************/
|
||||
CPU_INT08U const FtpServerIpAddrName[] = "FTP";
|
||||
|
||||
TDataDescStruct const FtpServerIpAddrDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_IP_ADDR, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
NULL, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, FtpServerIpAddr), // указатель на переменную или адрес FRAM
|
||||
NULL, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
sizeof(CPU_INT32U), // смещение между элементами в массиве
|
||||
FtpServerIpAddrName, // указатель на строку названия параметра
|
||||
DATA_NO_INDEX, // признак индексного параметра (список строк)
|
||||
NULL, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
0x5C35600A // "92.53.96.10"
|
||||
};
|
||||
char const FtpServerIpAddrDescId[] = "FtpServerIpAddrDesc";
|
||||
|
||||
/*************************************
|
||||
Логин FTP-сервера
|
||||
*************************************/
|
||||
CPU_INT08U const FtpServerLoginName[] = "Логин";
|
||||
CPU_INT08U const FtpServerLoginDefault[] = "xmiker_morozov";
|
||||
|
||||
TDataDescStruct const FtpServerLoginDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_CHAR_STRING, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
15, // размер массива
|
||||
NULL, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, FtpLogin), // указатель на переменную или адрес FRAM
|
||||
NULL, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
0, // смещение между элементами в массиве
|
||||
FtpServerLoginName, // указатель на строку названия параметра
|
||||
DATA_NO_INDEX, // признак индексного параметра (список строк)
|
||||
NULL, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
(CPU_INT32U)&FtpServerLoginDefault[0]
|
||||
};
|
||||
char const FtpServerLoginDescId[] = "FtpServerLoginDesc";
|
||||
|
||||
/*************************************
|
||||
Пароль FTP-сервера
|
||||
*************************************/
|
||||
CPU_INT08U const FtpServerPassName[] = "Пароль";
|
||||
CPU_INT08U const FtpServerPassDefault[] = "Qwerty11";
|
||||
|
||||
TDataDescStruct const FtpServerPassDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_CHAR_STRING, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
15, // размер массива
|
||||
NULL, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, FtpPass), // указатель на переменную или адрес FRAM
|
||||
NULL, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
0, // смещение между элементами в массиве
|
||||
FtpServerPassName, // указатель на строку названия параметра
|
||||
DATA_NO_INDEX, // признак индексного параметра (список строк)
|
||||
NULL, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
(CPU_INT32U)&FtpServerPassDefault[0]
|
||||
};
|
||||
char const FtpServerPassDescId[] = "FtpServerPassDesc";
|
||||
|
||||
/*************************************
|
||||
FTP идентификатор устройства
|
||||
*************************************/
|
||||
CPU_INT08U const FtpDeviceNumberName[] = "ID устр.";
|
||||
TRangeValueULONG const FtpDeviceNumberRange = {0, 99999999};
|
||||
|
||||
TDataDescStruct const FtpDeviceNumberDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_ULONG, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
NULL, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, FtpDeviceNumber), // указатель на переменную или адрес FRAM
|
||||
(void*)&FtpDeviceNumberRange, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
sizeof(CPU_INT32U), // смещение между элементами в массиве
|
||||
FtpDeviceNumberName, // указатель на строку названия параметра
|
||||
DATA_NO_INDEX, // признак индексного параметра (список строк)
|
||||
NULL, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
0
|
||||
};
|
||||
char const FtpDeviceNumberDescId[] = "FtpDeviceNumberDesc";
|
||||
|
||||
/*************************************
|
||||
Время отправки статистики на FTP, час : мин
|
||||
*************************************/
|
||||
CPU_INT08U const FtpSendHourMinName[] = "Вр.отпр.";
|
||||
|
||||
TDataDescStruct const FtpSendHourMinDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_HOUR_MIN, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
0, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, FtpSendHourMin), // указатель на переменную или адрес FRAM
|
||||
(void*)&StatSendHourRange, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
0, // смещение между элементами в массиве
|
||||
FtpSendHourMinName, // указатель на строку названия параметра
|
||||
DATA_NO_INDEX, // признак индексного параметра (список строк)
|
||||
NULL, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
60 * 1
|
||||
};
|
||||
char const FtpSendHourMinDescId[] = "FtpSendHourMinDesc";
|
||||
|
||||
/*************************************
|
||||
Интервал отправки на FTP
|
||||
*************************************/
|
||||
CPU_INT08U const FtpSendIntervalName[] = "Интервал";
|
||||
TRangeValueULONG const FtpSendIntervalRange = {0, 7};
|
||||
CPU_INT08U const FtpSendInterval_str0[] = "1ч";
|
||||
CPU_INT08U const FtpSendInterval_str1[] = "2ч";
|
||||
CPU_INT08U const FtpSendInterval_str2[] = "3ч";
|
||||
CPU_INT08U const FtpSendInterval_str3[] = "4ч";
|
||||
CPU_INT08U const FtpSendInterval_str4[] = "6ч";
|
||||
CPU_INT08U const FtpSendInterval_str5[] = "8ч";
|
||||
CPU_INT08U const FtpSendInterval_str6[] = "12ч";
|
||||
CPU_INT08U const FtpSendInterval_str7[] = "24ч";
|
||||
CPU_INT08U const *FtpSendIntervalList[] = {FtpSendInterval_str0, FtpSendInterval_str1, FtpSendInterval_str2, FtpSendInterval_str3,
|
||||
FtpSendInterval_str4, FtpSendInterval_str5, FtpSendInterval_str6, FtpSendInterval_str7};
|
||||
|
||||
TDataDescStruct const FtpSendIntervalDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_ULONG, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
NULL, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, FtpSendIntervalIndex), // указатель на переменную или адрес FRAM
|
||||
(void*)&FtpSendIntervalRange, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
0, // смещение между элементами в массиве
|
||||
FtpSendIntervalName, // указатель на строку названия параметра
|
||||
DATA_IS_INDEX, // признак индексного параметра (список строк)
|
||||
FtpSendIntervalList, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
7
|
||||
};
|
||||
char const FtpSendIntervalDescId[] = "FtpSendIntervalDesc";
|
||||
|
||||
/*************************************
|
||||
Последнее время отправки на ftp
|
||||
*************************************/
|
||||
CPU_INT08U const FtpLastSendTimeName[] = "Посл.вр.";
|
||||
|
||||
TDataDescStruct const FtpLastSendTimeDesc = {
|
||||
DATA_DESC_VIEW, // тип дескриптора
|
||||
DATA_TYPE_TIME, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
NULL, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, FtpLastTime), // указатель на переменную или адрес FRAM
|
||||
NULL, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
0, // смещение между элементами в массиве
|
||||
FtpLastSendTimeName, // указатель на строку названия параметра
|
||||
DATA_NO_INDEX, // признак индексного параметра (список строк)
|
||||
NULL, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
0
|
||||
};
|
||||
char const FtpLastSendTimeDescId[] = "FtpLastSendTimeDesc";
|
||||
|
||||
/*************************************
|
||||
Последний результат отправки на FTP
|
||||
*************************************/
|
||||
CPU_INT08U const FtpLastSendResultName[] = "Посл.статус";
|
||||
TRangeValueULONG const FtpLastSendResultRange = {0, 1};
|
||||
CPU_INT08U const FtpLastSendResult_str0[] = "ОШИБКА";
|
||||
CPU_INT08U const FtpLastSendResult_str1[] = "ОК";
|
||||
CPU_INT08U const FtpLastSendResult_str2[] = "НЕИЗВЕСТНО";
|
||||
CPU_INT08U const *FtpLastSendResultList[] = {FtpLastSendResult_str0, FtpLastSendResult_str1, FtpLastSendResult_str2};
|
||||
|
||||
TDataDescStruct const FtpLastSendResultDesc = {
|
||||
DATA_DESC_VIEW, // тип дескриптора
|
||||
DATA_TYPE_ULONG, // тип параметра
|
||||
DATA_LOC_FRAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
NULL, // указатель на дескриптор индекса массива
|
||||
(void*)offsetof(TFramMap, FtpLastResult), // указатель на переменную или адрес FRAM
|
||||
(void*)&FtpLastSendResultRange, // указатель на границы параметра
|
||||
NULL, // функция по изменению
|
||||
0, // смещение между элементами в массиве
|
||||
FtpLastSendResultName, // указатель на строку названия параметра
|
||||
DATA_IS_INDEX, // признак индексного параметра (список строк)
|
||||
FtpLastSendResultList, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_DISABLE,
|
||||
2
|
||||
};
|
||||
char const FtpLastSendResultDescId[] = "FtpLastSendResultDesc";
|
||||
|
||||
/*************************************
|
||||
Команда отправить данные на ftp сейчас
|
||||
*************************************/
|
||||
CPU_INT08U const FtpSendNowCmdName[] = "Отправить";
|
||||
|
||||
CPU_INT32U ftp_send_cmd;
|
||||
extern CPU_INT08U time_to_ftp;
|
||||
|
||||
void OnChangeFtpSendNowCmd(void)
|
||||
{
|
||||
if (ftp_send_cmd != 0)
|
||||
{
|
||||
time_to_ftp = FTP_FLAG_SEND_COUNTERS | FTP_FLAG_SEND_LOGS;
|
||||
}
|
||||
}
|
||||
|
||||
TDataDescStruct const FtpSendNowCmdDesc = {
|
||||
DATA_DESC_EDIT, // тип дескриптора
|
||||
DATA_TYPE_ULONG, // тип параметра
|
||||
DATA_LOC_RAM, // расположение параметра
|
||||
DATA_NO_ARRAY, // признак массива
|
||||
0, // размер массива
|
||||
NULL, // указатель на дескриптор индекса массива
|
||||
(void*)&ftp_send_cmd, // указатель на переменную или адрес FRAM
|
||||
(void*)&EnableChannelRange, // указатель на границы параметра
|
||||
OnChangeFtpSendNowCmd, // функция по изменению
|
||||
0, // смещение между элементами в массиве
|
||||
FtpSendNowCmdName, // указатель на строку названия параметра
|
||||
DATA_IS_INDEX, // признак индексного параметра (список строк)
|
||||
EnableChannelList, // указатель на список строк для индексного параметра
|
||||
DATA_INIT_ENABLE,
|
||||
0
|
||||
};
|
||||
char const FtpSendNowCmdDescId[] = "FtpSendNowCmdDesc";
|
||||
|
||||
#endif // #ifdef CONFIG_FTP_CLIENT_ENABLE
|
||||
|
||||
//**************************************************
|
||||
//**************************************************
|
||||
//**************************************************
|
||||
@ -3832,7 +4106,20 @@ const TDataDescArrayStruct AllDataArray[] =
|
||||
|
||||
{&PrintModeDesc, "PrintModeDesc"},
|
||||
{&PrintTimeoutAfterDesc, "PrintTimeoutAfterDesc"},
|
||||
|
||||
|
||||
#ifdef CONFIG_FTP_CLIENT_ENABLE
|
||||
{&FtpEnableDesc, "FtpEnableDesc"},
|
||||
{&FtpServerIpAddrDesc, "FtpServerIpAddrDesc"},
|
||||
{&FtpSendHourMinDesc, "FtpSendHourMinDesc"},
|
||||
{&FtpSendIntervalDesc, "FtpSendIntervalDesc"},
|
||||
{&FtpLastSendTimeDesc, "FtpLastSendTimeDesc"},
|
||||
{&FtpLastSendResultDesc, "FtpLastSendResultDesc"},
|
||||
{&FtpSendNowCmdDesc, "FtpSendNowCmdDesc"},
|
||||
{&FtpDeviceNumberDesc, "FtpDeviceNumberDesc"},
|
||||
{&FtpServerLoginDesc, "FtpServerLoginDesc"},
|
||||
{&FtpServerPassDesc, "FtpServerPassDesc"},
|
||||
#endif
|
||||
|
||||
{NULL, ""}
|
||||
};
|
||||
|
||||
|
||||
@ -291,4 +291,17 @@ extern TDataDescStruct const AcceptedRestMoneyCRC16Desc;
|
||||
extern TDataDescStruct const AcceptedCoinDesc;
|
||||
extern TDataDescStruct const AcceptedCoinCRC16Desc;
|
||||
|
||||
extern TDataDescStruct const FtpServerIpAddrDesc;
|
||||
extern TDataDescStruct const FtpEnableDesc;
|
||||
extern TDataDescStruct const FtpSendHourMinDesc;
|
||||
extern TDataDescStruct const FtpSendIntervalDesc;
|
||||
extern TDataDescStruct const FtpLastSendTimeDesc;
|
||||
extern TDataDescStruct const FtpLastSendResultDesc;
|
||||
extern TDataDescStruct const FtpSendNowCmdDesc;
|
||||
extern TDataDescStruct const FtpDeviceNumberDesc;
|
||||
extern TDataDescStruct const FtpServerLoginDesc;
|
||||
extern TDataDescStruct const FtpServerPassDesc;
|
||||
|
||||
extern CPU_INT32U ftp_send_cmd;
|
||||
|
||||
#endif //#ifndef _DATADESC_H_
|
||||
|
||||
@ -80,5 +80,17 @@ typedef struct
|
||||
CPU_INT32U CommandV2;
|
||||
CPU_INT32U TaxSystem;
|
||||
|
||||
#ifdef CONFIG_FTP_CLIENT_ENABLE
|
||||
CPU_INT32U FtpEnable;
|
||||
CPU_INT32U FtpServerIpAddr;
|
||||
CPU_INT32U FtpDeviceNumber;
|
||||
CPU_INT32U FtpSendHourMin;
|
||||
CPU_INT32U FtpSendIntervalIndex;
|
||||
CPU_INT32U FtpLastTime;
|
||||
CPU_INT32U FtpLastResult;
|
||||
char FtpLogin[16];
|
||||
char FtpPass[16];
|
||||
#endif
|
||||
|
||||
}TFramMap;
|
||||
|
||||
|
||||
@ -319,4 +319,9 @@ void Sec2Date(TRTC_Data *pDest, CPU_INT32U ulSec)
|
||||
pDest->sec = ulSec;
|
||||
}
|
||||
|
||||
|
||||
void PrintSecDateTimeStringRaw(char *str, CPU_INT32U time)
|
||||
{
|
||||
TRTC_Data rtc_data;
|
||||
Sec2Date(&rtc_data, time);
|
||||
sprintf(str, "20%02d%02d%02d_%02d%02d%02d", rtc_data.year, rtc_data.mon, rtc_data.date, rtc_data.hour, rtc_data.min, rtc_data.sec);
|
||||
}
|
||||
|
||||
@ -39,6 +39,6 @@ int RTCCheckTime(TRTC_Data *rtc);
|
||||
extern void PrintTimeString(char *str, CPU_INT32U time);
|
||||
extern void PrintSecToHourMinSec(char *str, int seconds);
|
||||
extern void PrintSecToBigHourMinSec(char *str, int seconds);
|
||||
|
||||
extern void PrintSecDateTimeStringRaw(char *str, CPU_INT32U time);
|
||||
|
||||
#endif //#ifndef _TIME_H_
|
||||
|
||||
File diff suppressed because one or more lines are too long
8903
sk-mlpc2368.dep
8903
sk-mlpc2368.dep
File diff suppressed because it is too large
Load Diff
@ -1084,6 +1084,7 @@
|
||||
<option>
|
||||
<name>CCDefines</name>
|
||||
<state>BOARD_CENTRAL_CFG</state>
|
||||
<state>CONFIG_FTP_CLIENT_ENABLE</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCPreprocFile</name>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user