#include "main.h" #include // 下行数据回调函数 // 应答 type int netDownloadHandle (uint8_t type, char *data, int length) { int IntData;//filenamesize = 0; char filename[32] = {0}; char buffer[100]; switch (type) { case 0x4E: // 闸门操作 { //data += 2; // 去掉流水号和闸门操作方式 //IntData = ty_byte2int (data, 4); //sprintf(buffer,"open:%02X%02X%02X%02X\r\n",data[0],data[1],data[2],data[3]); //NETSendLog(buffer); // sprintf(buffer,"open:%02X%02X%02X%02Xopen:%u\r\n",data[0],data[1],data[2],data[3],IntData); // NETSendLog(buffer); // MM_SluiceSetOpen (IntData / 100); // MM_SluiceStart(); //IntData = IntData; // NETSendSluiceAck(); // dbg_printf("remote sluice%d\r\n",IntData); break; } case 0xE0: // 远程升级 { // todo : 发起升级请求 // memset (g_ymodeinfo.updatePacket, 0, 64); // memset (filename, 0, 32); // memcpy (filename, data, length); // 去掉帧尾和校验= // sprintf (g_ymodeinfo.updatePacket, "N %s,%d", filename, g_ymodeinfo.PacketSize); // dbg_printf ("g_ymodeinfo.fileName:%s\r\n", g_ymodeinfo.updatePacket); // NETSendUpdateAck (1); // dbg_printf ("Jump To Remote Update Firmware\r\n"); break; } case 0xE1: // 停止执行 { //MM_SluiceStop(); // SluiceScram(); break; } case 0xE2: // 远程修改参数 { // SysInfoConfig_t config ; // data[length] = 0; // // 设置参数 // int k = Json651UnpackInfo (data, length, &config); // if (k < 0) // { // fmtprintf ("ERROR +CME:%d\r\n", k); // } // else // { // if (config.type == 1) // 基础参数配置 // { // SysWriteBaseConfig (config.info.base); // SysInfoWriteParam(); // NETSendConfigAck (1); // } // else if (config.type == 2) // 接口参数配置 // { // SysWriteInterfaceInfo (config.info.interface); // SysInfoWriteParam(); // NETSendConfigAck (1); // } // else if (config.type == 3) // 闸门参数配置 // { // SysWriteSluiceInfo (config.info.sluice); // SysInfoWriteParam(); // NETSendConfigAck (1); // } // else if (config.type == 4) // 闸门参数配置 // { // SysWriteWaterInfo (config.info.water); // SysInfoWriteParam(); // NETSendConfigAck (1); // } // else // { // NETSendConfigAck (2); // } // } // break; } case 0xE3: // 远程读取参数 { // if (data[0] == 1) // 上报基础参数 // { // netWritebaseParams(); // } // else if (data[0] == 2) // // { // netWriteInterfaceParams(); // } // else if (data[0] == 3) // 保存 // { // netWriteSluiceParams(); // } // else if (data[0] == 4) // 保存 // { // //static void netWriteWaterParams (void) // netWriteWaterParams(); // } // break; } case 0xE4: //远程读取流量计数据 { // memset(data, 0, 256); // memcpy(data, &rxdata_decode[14], dataLength); // instantSpeed = MyJsonReadNumber(data, "instantSpeed", dataLength); // instantFlow = MyJsonReadNumber(data, "instantFlow", dataLength); // waterLevel = MyJsonReadNumber(data, "waterLevel", dataLength); } case 0XE5: { HAL_NVIC_SystemReset(); break; } case 0XE6: // 上升 { //sluice_run_motor(SysInfo.SlMotorType,RunOpen); //NETSendLog("debug runopen"); break; } case 0XE7: // 下降 { //sluice_run_motor(SysInfo.SlMotorType,RunClose); //NETSendLog("debug runclose"); break; } case 0XE8: // 停止 { //sluice_run_motor(SysInfo.SlMotorType,RunStop); //NETSendLog("debug runstop"); break; } case 0XE9: // 召测开度 { //sprintf(buffer,"open:%u,%u,%u,%u\r\n",FF_ReadEcodeData(),FF_ReadCalcEcodeData(),FF_ReadMaxEcodeData(),FF_ReadMinEcodeData()); //NETSendLog(buffer); break; } default: break; } return type; }