512 lines
22 KiB
C
512 lines
22 KiB
C
|
||
//#include "sysinfo-app.h"
|
||
#include "proto-sl651.h"
|
||
#include "rtc.h"
|
||
//#include "ff-collected.h"
|
||
//#include "mjson.h"
|
||
#include "elog.h"
|
||
//#include "base64.h"
|
||
|
||
// static uint8_t g_651txbuff[255];
|
||
// static uint16_t g_651txbuff_length;
|
||
|
||
static union //如果是切换页面,显示为页面ID
|
||
{
|
||
uint32_t Int;
|
||
uint8_t Byte[4];
|
||
} Int;
|
||
|
||
static int g_syn_number = 0;
|
||
|
||
// 打包数据帧
|
||
int PP_AddHeader (uint8_t func, char *data, int length, char *txbuff)
|
||
{
|
||
int tx_size = 0;
|
||
uint16_t crc = 0;
|
||
txbuff[tx_size++] = 0x7E;
|
||
txbuff[tx_size++] = 0x7E;
|
||
txbuff[tx_size++] = 0x02; // 根据中心站地址区分版本号
|
||
txbuff[tx_size++] = 0xFF;
|
||
txbuff[tx_size++] = 0xFF;
|
||
txbuff[tx_size++] = 0;//SysInfo.baseAddr[0];
|
||
txbuff[tx_size++] = 0;//SysInfo.baseAddr[1]; //(uint8_t) ( (SysInfo.Addr >> 24) & 0x000000FF);
|
||
txbuff[tx_size++] = 0;//SysInfo.baseAddr[2]; //(uint8_t) ( (SysInfo.Addr >> 16) & 0x000000FF);
|
||
txbuff[tx_size++] = 0;//SysInfo.baseAddr[3]; //(uint8_t) ( (SysInfo.Addr >> 8) & 0x000000FF);
|
||
txbuff[tx_size++] = 0;//SysInfo.baseAddr[4]; //(uint8_t) (SysInfo.Addr & 0x000000FF);
|
||
txbuff[tx_size++] = func;
|
||
txbuff[tx_size++] = 0x00;
|
||
txbuff[tx_size++] = length; // 长度
|
||
txbuff[tx_size++] = _651_STX;
|
||
// dbg_printf ("sizeof (_651_U_Header_t):%d\r\n", tx_size);
|
||
|
||
for (int i = 0; i < length; i++)
|
||
{
|
||
txbuff[tx_size++] = data[i];
|
||
}
|
||
txbuff[tx_size++] = 0x03;
|
||
|
||
crc = 0;//bsp_crc_calc16 ( (uint8_t *) txbuff, tx_size);
|
||
|
||
txbuff[tx_size++] = (crc >> 8) & 0x00FF;
|
||
txbuff[tx_size++] = crc & 0x00FF;
|
||
return tx_size;
|
||
//
|
||
// 计算校验
|
||
}
|
||
// 均匀时段报
|
||
int PP_PacketUnifData (char *tx_data)
|
||
{
|
||
uint8_t powerdata[26];
|
||
//RtcTime rtcTime;
|
||
//Get_Time (&rtcTime);
|
||
int tx_size = 0;
|
||
g_syn_number++;
|
||
tx_data[tx_size++] = (g_syn_number >> 8) & 0x00FF;
|
||
tx_data[tx_size++] = g_syn_number & 0xFF;
|
||
|
||
tx_data[tx_size++] = 0x00; // 要素1 瞬时流速
|
||
tx_data[tx_size++] = 0x00; // 要素1 瞬时流速
|
||
tx_data[tx_size++] = 0x00; // 要素1 瞬时流速
|
||
tx_data[tx_size++] = 0x00; // 要素1 瞬时流速
|
||
|
||
tx_data[tx_size++] = 0x00; // 要素2 瞬时流量
|
||
tx_data[tx_size++] = 0x00; // 要素2 瞬时流量
|
||
tx_data[tx_size++] = 0x00; // 要素2 瞬时流量
|
||
tx_data[tx_size++] = 0x00; // 要素2 瞬时流量
|
||
|
||
tx_data[tx_size++] = 0x00; // 要素3 累计流量
|
||
tx_data[tx_size++] = 0x00; // 要素3 累计流量
|
||
tx_data[tx_size++] = 0x00; // 要素3 累计流量
|
||
tx_data[tx_size++] = 0x00; // 要素3 累计流量
|
||
|
||
Int.Int = 0;//= (FF_ReadEcodeData() - SysInfo.SlMinEcode) / SysInfo.SlEcodeCoeff * 100 ;
|
||
tx_data[tx_size++] = Int.Byte[3]; // 要素4 闸门开度
|
||
tx_data[tx_size++] = Int.Byte[2]; // 要素4 闸门开度
|
||
tx_data[tx_size++] = Int.Byte[1]; // 要素4 闸门开度
|
||
tx_data[tx_size++] = Int.Byte[0]; // 要素4 闸门开度
|
||
Int.Int = 0;// (int) bsp_rng_get_number (1000, 1200) * 100; // MbusReadSensorValue (EcodeType) * 100;
|
||
tx_data[tx_size++] = 0x00; // 要素5 闸门荷重
|
||
tx_data[tx_size++] = 0x00; // 要素5 闸门荷重
|
||
tx_data[tx_size++] = 0x00; // 要素5 闸门荷重
|
||
tx_data[tx_size++] = 0x00; // 要素5 闸门荷重
|
||
// 要素6 最大开度
|
||
Int.Int = 0;// SysInfo.SlMaxOpen * 100;
|
||
tx_data[tx_size++] = Int.Byte[3];
|
||
tx_data[tx_size++] = Int.Byte[2];
|
||
tx_data[tx_size++] = Int.Byte[1];
|
||
tx_data[tx_size++] = Int.Byte[0];
|
||
|
||
// 要素7 电池电压
|
||
Int.Int = 23.5 * 100;
|
||
tx_data[tx_size++] = Int.Byte[3];
|
||
tx_data[tx_size++] = Int.Byte[2];
|
||
tx_data[tx_size++] = Int.Byte[1];
|
||
tx_data[tx_size++] = Int.Byte[0];
|
||
|
||
// 要素8 机箱温度
|
||
Int.Int = 52.6 * 100;
|
||
tx_data[tx_size++] = Int.Byte[3];
|
||
tx_data[tx_size++] = Int.Byte[2];
|
||
tx_data[tx_size++] = Int.Byte[1];
|
||
tx_data[tx_size++] = Int.Byte[0];
|
||
|
||
// 要素9 闸前水位
|
||
Int.Int = 0 * 100;
|
||
tx_data[tx_size++] = Int.Byte[3];
|
||
tx_data[tx_size++] = Int.Byte[2];
|
||
tx_data[tx_size++] = Int.Byte[1];
|
||
tx_data[tx_size++] = Int.Byte[0];
|
||
// 要素10 充电控制器数据
|
||
//FF_ReadPowerData (powerdata) ;
|
||
for (int i = 0; i < 26; i++)
|
||
{
|
||
tx_data[tx_size++] = powerdata[i];
|
||
}
|
||
return tx_size;
|
||
}
|
||
|
||
// 闸门状态自报
|
||
int _651PacketDataSluiceUp (char *tx_data)
|
||
{
|
||
// RtcTime rtcTime;
|
||
// Get_Time (&rtcTime);
|
||
int tx_size = 0;
|
||
g_syn_number++;
|
||
tx_data[tx_size++] = (g_syn_number >> 8) & 0x00FF;
|
||
tx_data[tx_size++] = g_syn_number & 0xFF;
|
||
tx_data[tx_size++] = 0x01;
|
||
tx_data[tx_size++] = 0x01;
|
||
// 闸门开度
|
||
// Int.Int = MbusReadSensorValue (EcodeType) * 100;
|
||
//dbg_printf ("%d\r\n", Int.Int);
|
||
tx_data[tx_size++] = Int.Byte[3];
|
||
tx_data[tx_size++] = Int.Byte[2];
|
||
tx_data[tx_size++] = Int.Byte[1];
|
||
tx_data[tx_size++] = Int.Byte[0];
|
||
// 闸门荷重
|
||
Int.Int = 0;//(int) bsp_rng_get_number (1200, 1400) * 100;
|
||
tx_data[tx_size++] = Int.Byte[3];
|
||
tx_data[tx_size++] = Int.Byte[2];
|
||
tx_data[tx_size++] = Int.Byte[1];
|
||
tx_data[tx_size++] = Int.Byte[0];
|
||
// 闸前水位
|
||
Int.Int = 0 * 100;
|
||
tx_data[tx_size++] = Int.Byte[3];
|
||
tx_data[tx_size++] = Int.Byte[2];
|
||
tx_data[tx_size++] = Int.Byte[1];
|
||
tx_data[tx_size++] = Int.Byte[0];
|
||
// 瞬时流量
|
||
Int.Int = 0 * 100;
|
||
tx_data[tx_size++] = Int.Byte[3];
|
||
tx_data[tx_size++] = Int.Byte[2];
|
||
tx_data[tx_size++] = Int.Byte[1];
|
||
tx_data[tx_size++] = Int.Byte[0];
|
||
return tx_size;
|
||
}
|
||
|
||
int _651PacketDataSluiceAck (char *tx_data)
|
||
{
|
||
// RtcTime rtcTime;
|
||
// Get_Time (&rtcTime);
|
||
int tx_size = 0;
|
||
g_syn_number++;
|
||
tx_data[tx_size++] = (g_syn_number >> 8) & 0x00FF;
|
||
tx_data[tx_size++] = g_syn_number & 0xFF;
|
||
tx_data[tx_size++] = 0;//rtcTime.year;
|
||
tx_data[tx_size++] = 0;//rtcTime.month;
|
||
tx_data[tx_size++] = 0;//rtcTime.day;
|
||
tx_data[tx_size++] = 0;//rtcTime.hour;
|
||
tx_data[tx_size++] = 0;//rtcTime.minute;
|
||
tx_data[tx_size++] = 0;//rtcTime.second;
|
||
|
||
tx_data[tx_size++] = 0;//SysInfo.baseAddr[0];
|
||
tx_data[tx_size++] = 0;//SysInfo.baseAddr[1]; //(uint8_t) ( (SysInfo.Addr >> 24) & 0x000000FF);
|
||
tx_data[tx_size++] = 0;//SysInfo.baseAddr[2]; //(uint8_t) ( (SysInfo.Addr >> 16) & 0x000000FF);
|
||
tx_data[tx_size++] = 0;//SysInfo.baseAddr[3]; //(uint8_t) ( (SysInfo.Addr >> 8) & 0x000000FF);
|
||
tx_data[tx_size++] = 0;//SysInfo.baseAddr[4]; //(uint8_t) (SysInfo.Addr & 0x000000FF);
|
||
return tx_size;
|
||
}
|
||
|
||
// 打包 基础参数
|
||
int Json651PacketBaseInfo (char *outBuffer, int length)
|
||
{
|
||
// char devidstr[11];
|
||
// int k = 0;
|
||
// memset (devidstr, 0, sizeof (devidstr));
|
||
// hexbyte_to_hex_str (SysInfo.baseAddr, devidstr, 5);
|
||
// // puthex ( (uint8_t *) devidstr, SysInfo.baseAddr, 5);
|
||
// struct mjson_fixedbuf fb = { (char *) outBuffer, length - 1, 0};
|
||
// k = mjson_printf (&mjson_print_fixed_buf, &fb, "{%Q:%d,%Q:%Q,%Q:%d,%Q:%Q,%Q:%Q,%Q:%Q,%Q:%Q,%Q:%Q,%Q:%Q,%Q:%d,%Q:%d,%Q:%d,%Q:%u}",
|
||
// "type", 1,
|
||
// "baseaddr", devidstr,
|
||
// "bute", 9600,
|
||
// "remoteAddr", SysInfo.baseRemoteAddr,
|
||
// "remoteUser", SysInfo.baseRemoteuser,
|
||
// "remotePass", SysInfo.baseRemotepass,
|
||
// "userPass", SysInfo.baseUserPassword,
|
||
// "sysPass", SysInfo.baseSysPassword,
|
||
// "topic", SysInfo.baseTopic,
|
||
// "remotePort", SysInfo.baseRemotePort,
|
||
// "LogInfo", SysInfo.baseLogInfo,
|
||
// "NetDev", SysInfo.baseNetDev,
|
||
// "StandTime", SysInfo.baseStandbyTime);
|
||
// return k;
|
||
return 0;
|
||
}
|
||
// 接口参数设置
|
||
int Json651PacketInterfaceInfo (char *outBuffer, int length)
|
||
{
|
||
// char u4851funstr[17], u4852funstr[17];
|
||
// int k = 0;
|
||
// memset (u4851funstr, 0, sizeof (u4851funstr));
|
||
// memset (u4852funstr, 0, sizeof (u4852funstr));
|
||
// hexbyte_to_hex_str ( (char *) SysInfo.u4851Func, u4851funstr, 8);
|
||
// hexbyte_to_hex_str ( (char *) SysInfo.u4852Func, u4852funstr, 8);
|
||
// // puthex ( (uint8_t *) devidstr, SysInfo.baseAddr, 5);
|
||
// struct mjson_fixedbuf fb = { (char *) outBuffer, length - 1, 0};
|
||
// k = mjson_printf (&mjson_print_fixed_buf, &fb, "{%Q:%d,%Q:%Q,%Q:%d,%Q:%d,%Q:%d,%Q:%Q,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d}",
|
||
// "type", 2,
|
||
// "u4851fun", u4851funstr,
|
||
// "u4851num", SysInfo.u4851FuncNum,
|
||
// "u4851bute", SysInfo.u4851Bute,
|
||
// "u4851para", SysInfo.u4851Para,
|
||
// "u4852fun", u4852funstr,
|
||
// "u4852num", SysInfo.u4852FuncNum,
|
||
// "u4852bute", SysInfo.u4852Bute,
|
||
// "u4852para", SysInfo.u4852Para,
|
||
// "di1", SysInfo.DIFunc[0],
|
||
// "di2", SysInfo.DIFunc[1],
|
||
// "di3", SysInfo.DIFunc[2],
|
||
// "di4", SysInfo.DIFunc[3],
|
||
// "pi1", SysInfo.PIFunc[0],
|
||
// "pi2", SysInfo.PIFunc[1],
|
||
// "pi3", SysInfo.PIFunc[2],
|
||
// "pi4", SysInfo.PIFunc[3],
|
||
// "ai1", SysInfo.AIFunc[0],
|
||
// "ai2", SysInfo.AIFunc[1],
|
||
// "k1", SysInfo.KEYFunc[0],
|
||
// "k2", SysInfo.KEYFunc[1],
|
||
// "pwm1", SysInfo.PWMFunc[0],
|
||
// "pwm2", SysInfo.PWMFunc[1],
|
||
// "pwm3", SysInfo.PWMFunc[2],
|
||
// "pwm4", SysInfo.PWMFunc[3]);
|
||
// return k;
|
||
return 0;
|
||
}
|
||
|
||
int Json651PacketSluiceInfo (char *outBuffer, int length)
|
||
{
|
||
// char devidstr[11];
|
||
// int k = 0;
|
||
// memset (devidstr, 0, sizeof (devidstr));
|
||
// hexbyte_to_hex_str (SysInfo.baseAddr, devidstr, 5);
|
||
// // puthex ( (uint8_t *) devidstr, SysInfo.baseAddr, 5);
|
||
// struct mjson_fixedbuf fb = { (char *) outBuffer, length - 1, 0};
|
||
// k = mjson_printf (&mjson_print_fixed_buf, &fb, "{%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d,%Q:%d}",
|
||
// "type", 3,
|
||
// "maxopen", SysInfo.SlMaxOpen,
|
||
// "maxcode", SysInfo.SlMaxEcode,
|
||
// "mincode", SysInfo.SlMinEcode,
|
||
// "codecoff", SysInfo.SlEcodeCoeff,
|
||
// "codetype", SysInfo.SlEcodeType,
|
||
// "loadtype", SysInfo.SlLoadType,
|
||
// "motortype", SysInfo.SlMotorType,
|
||
// "flowtype", SysInfo.SlFlowType,
|
||
// "motorspeed", SysInfo.SlMotorSpeed);
|
||
// return k;
|
||
return 0;
|
||
}
|
||
|
||
// uint16_t WTWidth;// = 100; // 宽度 cm
|
||
// Uint16_t WTSpeed[16];// = 100.0; // 流速 cm/s
|
||
// Uint16_t WTSenLoc[16]; //
|
||
// Uint16_t WTFlow[16]; // 流量
|
||
// uint8_t WTSenCount;// 层数
|
||
int Json651PacketWaterInfo (char *outBuffer, int length)
|
||
{
|
||
// int k = 0;
|
||
// char flowbuff[64];
|
||
// char speedbuff[64];
|
||
// char locbuff[64];
|
||
// memset (flowbuff, 0, 64);
|
||
// memset (speedbuff, 0, 64);
|
||
// memset (locbuff, 0, 64);
|
||
// B64Encode ( (uint8_t *) SysInfo.WTFlow, 32, flowbuff, 64);
|
||
// B64Encode ( (uint8_t *) SysInfo.WTSpeed, 32, speedbuff, 64);
|
||
// B64Encode ( (uint8_t *) SysInfo.WTSenLoc, 32, locbuff, 64);
|
||
// struct mjson_fixedbuf fb = { (char *) outBuffer, length - 1, 0};
|
||
// k = mjson_printf (&mjson_print_fixed_buf, &fb, "{%Q:%d,%Q:%d,%Q:%d,%Q:%Q,%Q:%Q,%Q:%Q}",
|
||
// "type", 4,
|
||
// "wtwidth", SysInfo.WTWidth,
|
||
// "wtsencount", SysInfo.WTSenCount,
|
||
// "wtflow", flowbuff,
|
||
// "wtspeed", speedbuff,
|
||
// "wtsenloc", locbuff
|
||
// );
|
||
// return k;
|
||
return 0;
|
||
}
|
||
|
||
|
||
//int Json651UnpackInfo (char *input, int length, SysInfoConfig_t *info)
|
||
//{
|
||
// double Number;
|
||
// int responce, resonces[32] = {0};
|
||
// char acs_data[64];
|
||
// int k = 0;
|
||
// //char test[64] = {0};
|
||
// if (mjson ( (char const *) input, strlen ( (char const *) input), NULL, NULL) != strlen ( (char const *) input))
|
||
// {
|
||
// // 乱码或者格式不对
|
||
// dbg_printf ("&&&&&&&&&&&&&&&&&\r\n");
|
||
// return -1;
|
||
// }
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.type", &Number);
|
||
// info->type = Number;
|
||
// if (info->type == 1) // base info
|
||
// {
|
||
// // 设备编码
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.baseaddr", (char*) acs_data, sizeof (acs_data) - 1) ;
|
||
// resonces[k++] = responce;
|
||
// hexstr_to_hexbyte (acs_data, info->info.base.baseAddr, responce);
|
||
// // 波特率
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.bute", &Number);
|
||
// info->info.base.baseBute = Number;
|
||
// // 远程地址
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.remoteAddr", (char*) acs_data, sizeof (acs_data) - 1);
|
||
// resonces[k++] = responce;
|
||
// memcpy (info->info.base.baseRemoteAddr, acs_data, 32);
|
||
|
||
// //mqtt用户
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.remoteUser", (char*) acs_data, sizeof (acs_data) - 1) ;
|
||
// resonces[k++] = responce;
|
||
// memcpy (info->info.base.baseRemoteuser, acs_data, 32);
|
||
|
||
// //mqtt密码
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.remotePass", (char*) acs_data, sizeof (acs_data) - 1) ;
|
||
// resonces[k++] = responce;
|
||
// memcpy (info->info.base.baseRemotepass, acs_data, 32);
|
||
|
||
// //屏幕用户登录密码
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.userPass", (char*) acs_data, sizeof (acs_data) - 1);
|
||
// resonces[k++] = responce;
|
||
// memcpy (info->info.base.baseUserPassword, acs_data, 32);
|
||
|
||
// //屏幕管理员登录密码
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.sysPass", (char*) acs_data, sizeof (acs_data) - 1);
|
||
// resonces[k++] = responce;
|
||
// memcpy (info->info.base.baseSysPassword, acs_data, 32);
|
||
|
||
// //订阅topic
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.topic", (char*) acs_data, sizeof (acs_data) - 1);
|
||
// resonces[k++] = responce;
|
||
// memcpy (info->info.base.baseTopic, acs_data, 32);
|
||
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.remotePort", &Number);
|
||
// info->info.base.baseRemotePort = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.LogInfo", &Number);
|
||
// info->info.base.baseLogInfo = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.NetDev", &Number);
|
||
// info->info.base.baseNetDev = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.StandTime", &Number);
|
||
// info->info.base.baseStandbyTime = Number;
|
||
// }
|
||
// else if (info->type == 2) //
|
||
// {
|
||
// // 4851 func
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.u4851fun", (char*) acs_data, sizeof (acs_data) - 1);
|
||
// resonces[k++] = responce;
|
||
// hexstr_to_hexbyte (acs_data, (char *) info->info.interface.u4851Func, responce);
|
||
// // 4852 func
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.u4852fun", (char*) acs_data, sizeof (acs_data) - 1);
|
||
// resonces[k++] = responce;
|
||
// hexstr_to_hexbyte (acs_data, (char *) info->info.interface.u4852Func, responce);
|
||
// //memcpy(info->info.interface.u4851Func,acs_data,32);
|
||
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.u4851num", &Number);
|
||
// info->info.interface.u4851FuncNum = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.u4852num", &Number);
|
||
// info->info.interface.u4852FuncNum = Number;
|
||
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.u4851para", &Number);
|
||
// info->info.interface.u4851Para = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.u4852para", &Number);
|
||
// info->info.interface.u4852Para = Number;
|
||
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.u4851bute", &Number);
|
||
// info->info.interface.u4851Bute = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.u4852bute", &Number);
|
||
// info->info.interface.u4852Bute = Number;
|
||
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.di1", &Number);
|
||
// info->info.interface.DI1Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.di2", &Number);
|
||
// info->info.interface.DI2Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.di3", &Number);
|
||
// info->info.interface.DI3Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.di4", &Number);
|
||
// info->info.interface.DI4Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.pi1", &Number);
|
||
// info->info.interface.PI1Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.pi2", &Number);
|
||
// info->info.interface.PI2Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.pi3", &Number);
|
||
// info->info.interface.PI3Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.pi4", &Number);
|
||
// info->info.interface.PI4Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.ai1", &Number);
|
||
// info->info.interface.AI1Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.ai2", &Number);
|
||
// info->info.interface.AI2Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.k1", &Number);
|
||
// info->info.interface.KEY1Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.k2", &Number);
|
||
// info->info.interface.KEY2Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.pwm1", &Number);
|
||
// info->info.interface.PWM1Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.pwm2", &Number);
|
||
// info->info.interface.PWM2Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.pwm3", &Number);
|
||
// info->info.interface.PWM3Func = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.pwm4", &Number);
|
||
// info->info.interface.PWM4Func = Number;
|
||
// }
|
||
// else if (info->type == 3) //
|
||
// {
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.maxopen", &Number);
|
||
// info->info.sluice.SlMaxOpen = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.mincode", &Number);
|
||
// info->info.sluice.SlMinEcode = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.maxcode", &Number);
|
||
// info->info.sluice.SlMaxEcode = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.codecoff", &Number);
|
||
// info->info.sluice.SlEcodeCoeff = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.codetype", &Number);
|
||
// info->info.sluice.SlEcodeType = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.loadtype", &Number);
|
||
// info->info.sluice.SlLoadType = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.flowtype", &Number);
|
||
// info->info.sluice.SlFlowType = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.motorspeed", &Number);
|
||
// info->info.sluice.SlMotorSpeed = Number;
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.motortype", &Number);
|
||
// info->info.sluice.SlMotorType = Number;
|
||
//// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.motortype", &Number);
|
||
//// info->info.sluice.SlMotorType = Number;
|
||
// }
|
||
// else if (info->type == 4) //
|
||
// {
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.wtwidth", &Number);
|
||
// info->info.water.WTWidth = Number;
|
||
|
||
// resonces[k++] = mjson_get_number ( (char const *) input, strlen ( (char const *) input), "$.wtsencount", &Number);
|
||
// info->info.water.WTSenCount = Number;
|
||
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.wtflow", (char*) acs_data, sizeof (acs_data) - 1);
|
||
// resonces[k++] = responce;
|
||
// B64Decode (acs_data, responce, (uint8_t *) info->info.water.WTFlow);
|
||
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.wtspeed", (char*) acs_data, sizeof (acs_data) - 1);
|
||
// resonces[k++] = responce;
|
||
// B64Decode (acs_data, responce, (uint8_t *) info->info.water.WTSpeed);
|
||
|
||
// memset (acs_data, 0, 64);
|
||
// responce = mjson_get_string ( (char const*) input, strlen ( (char const*) input), "$.wtsenloc", (char*) acs_data, sizeof (acs_data) - 1);
|
||
// resonces[k++] = responce;
|
||
// dbg_printf ("%s\r\n", acs_data);
|
||
// B64Decode (acs_data, responce, (uint8_t *) info->info.water.WTSenLoc);
|
||
// //memcpy((uint8_t *)info->info.water.WTSenLoc,test,32);
|
||
|
||
//// for(int i =0;i <32;i++)
|
||
//// {
|
||
//// dbg_printf("%02X ",test[i]);
|
||
//// }
|
||
//// dbg_printf("\r\n");
|
||
// //dbg_printf("%u,%u,%u,%u\r\n",info->info.water.WTSenLoc[0],info->info.water.WTSenLoc[1],info->info.water.WTSenLoc[2],info->info.water.WTSenLoc[3]) ;
|
||
// //hexstr_to_hexbyte (acs_data, (char *) info->info.interface.u4852Func, responce);
|
||
// }
|
||
// else
|
||
// {
|
||
// return -1;
|
||
// }
|
||
|
||
// for (int t = 0; t < k; t++)
|
||
// {
|
||
// if (resonces[t] < 0)
|
||
// return -2;
|
||
// }
|
||
// return 0;
|
||
//return 0;
|
||
//}
|