#include "data.h" #include /****************************************** * 版本信息 ******************************************/ volatile const char _makeData[] = __DATE__; //12字节,编译日期 volatile const char _makeTime[] = __TIME__; //9字节 volatile const char cBootv[] = "Ver3.0.0"; //获取时添加上面两个时间信息,最大长度64字节 char _versionTemp[64]; const StrIndex_t cDownDataType[] = { {"run", DownRun}, {"stop", DownStop}, {"open", DownOpen}, {"close", DownClose}, {"reg_ans", DownRegistAns}, {"heart_ans", DownHeartAns}, {"update", DownUpdate}, {"reboot", DownReboot}, {"config", DownConfig}, {"read", DownRead}, {"fact", DownFact} }; const StrIndex_t cSiteType[] = { {"sluice", SiteSluice}, {"flow", SiteFlow}, {"press", SiteSee}, {"auto", SiteColl}, // 自动化采集站 {"trans", SiteServer}, {"level", SiteLevel}, {"skew", SiteSkew} //测斜仪 }; const StrIndex_t cMotorType[] = { {"mg1000", MT_MG_1000}, {"qh100", MT_QH_V100}, {"qh200", MT_QH_V200}, {"zs100", MT_ZS_V100}, {"jz200", MT_JZ_V200}, // 金志 4-20 ma {"dy100", MT_DY_V100}, // 大禹锥型阀 {"kg100", MT_KG_V100}, // 开关量模块 {"kr100", MT_KR_V100}, // 闸位计 {"asca3", MT_ASC_A3}, // A3 驱动器 {"ascws", MT_ASC_WS}, // A3 驱动器 }; const StrIndex_t c4851Type[] = { {"mg1000", ST_MG_1000}, {"qh100", ST_QH_V100}, {"qh200", ST_QH_V200}, {"zs100", ST_ZS_V100}, // 中盛4-20ma {"dy100", ST_DY_V100}, {"kg100", ST_KG_V100}, {"at100", ST_AT_V100}, {"kr100", ST_KR_V100}, }; const StrIndex_t cU485Type[] = { {"modbus", 0} }; // 485 2 通道 const StrIndex_t c4852Type[] = { {"rds600", ST_RDS_600}, {"tds300", ST_TDS_300}, {"ht100", ST_HT_V100}, {"zkjszk", ST_ZK_JSZK}, {"djx100", ST_DJX_100}, {"rds300", ST_RDS_300}, {"mi600", ST_MI_600} // 测斜仪 }; const ParShallInfo_t ParShallTale[] = { {.w = 0, .c = 0, .m = 0}, {.w = 0.152, .c = 0.381, .m = 1.58 , .minLeve = 0.03, .maxLeve = 0.45, .minFlow = 1.5 / 1000, .maxFlow = 100 / 1000}, {.w = 0.25, .c = 0.561, .m = 1.513 , .minLeve = 0.03, .maxLeve = 0.60, .minFlow = 3.0 / 1000, .maxFlow = 250 / 1000}, {.w = 0.30, .c = 0.679, .m = 1.521 , .minLeve = 0.03, .maxLeve = 0.75, .minFlow = 3.5 / 1000, .maxFlow = 400 / 1000}, {.w = 0.45, .c = 1.038, .m = 1.537 , .minLeve = 0.03, .maxLeve = 0.75, .minFlow = 4.5 / 1000, .maxFlow = 630 / 1000}, {.w = 0.60, .c = 1.403, .m = 1.548 , .minLeve = 0.05, .maxLeve = 0.75, .minFlow = 12.5 / 1000, .maxFlow = 850 / 1000}, {.w = 0.75, .c = 1.772, .m = 1.557 , .minLeve = 0.06, .maxLeve = 0.75, .minFlow = 25.0 / 1000, .maxFlow = 1100 / 1000}, {.w = 0.90, .c = 2.147, .m = 1.565 , .minLeve = 0.06, .maxLeve = 0.75, .minFlow = 30.0 / 1000, .maxFlow = 1250 / 1000}, {.w = 1.00, .c = 2.397, .m = 1.569 , .minLeve = 0.06, .maxLeve = 0.80, .minFlow = 30.0 / 1000, .maxFlow = 1500 / 1000}, {.w = 1.20, .c = 2.904, .m = 1.577 , .minLeve = 0.06, .maxLeve = 0.80, .minFlow = 35.0 / 1000, .maxFlow = 2000 / 1000}, {.w = 1.50, .c = 3.668, .m = 1.586 , .minLeve = 0.06, .maxLeve = 0.80, .minFlow = 45.0 / 1000, .maxFlow = 2500 / 1000}, {.w = 1.80, .c = 4.440, .m = 1.593 , .minLeve = 0.08, .maxLeve = 0.80, .minFlow = 80.0 / 1000, .maxFlow = 3000 / 1000}, {.w = 2.10, .c = 5.222, .m = 1.599 , .minLeve = 0.08, .maxLeve = 0.80, .minFlow = 95.0 / 1000, .maxFlow = 3600 / 1000}, {.w = 2.40, .c = 6.004, .m = 1.605 , .minLeve = 0.08, .maxLeve = 0.80, .minFlow = 100.0 / 1000, .maxFlow = 4000 / 1000}, {.w = 3.05, .c = 7.463, .m = 1.6 , .minLeve = 0.09, .maxLeve = 1.07, .minFlow = 0.16, .maxFlow = 8.28}, {.w = 3.66, .c = 8.859, .m = 1.6 , .minLeve = 0.09, .maxLeve = 1.37, .minFlow = 0.19, .maxFlow = 14.68}, {.w = 4.57, .c = 10.96, .m = 1.6 , .minLeve = 0.09, .maxLeve = 1.67, .minFlow = 0.23, .maxFlow = 25.04}, {.w = 6.10, .c = 14.45, .m = 1.6 , .minLeve = 0.09, .maxLeve = 1.83, .minFlow = 0.31, .maxFlow = 37.97}, {.w = 7.62, .c = 17.94, .m = 1.6 , .minLeve = 0.09, .maxLeve = 1.83, .minFlow = 0.38, .maxFlow = 47.16}, {.w = 9.14, .c = 21.44, .m = 1.6 , .minLeve = 0.09, .maxLeve = 1.83, .minFlow = 0.46, .maxFlow = 56.33}, {.w = 12.19, .c = 28.43, .m = 1.6 , .minLeve = 0.09, .maxLeve = 1.83, .minFlow = 0.60, .maxFlow = 74.70}, {.w = 15.24, .c = 35.41, .m = 1.6 , .minLeve = 0.09, .maxLeve = 1.83, .minFlow = 0.75, .maxFlow = 93.04}, } ; SluiceData_t SluiceData[SLUICE_COUTN]; WaterData_t WaterData[WATER_COUTN]; InclinometerData_t IncData[6]; // 测斜仪数据 SysData_t SysData; SOFTRTC_t g_SoftRtc = { 23, 10, 1, 0, 0, 0 }; uint32_t g_ifconfig = 0; uint32_t g_ifupdate = 0; int cMotorGetType (char * str) { for (int i = 0; i < sizeof (cMotorType) / sizeof (StrIndex_t); i++) { if (rt_memcmp (str, cMotorType[i].str, rt_strlen (str)) == 0) { return cMotorType[i].index; } } return -1; } int c4851GetType (char * str) { rt_kprintf ("485 option count:%d\r\n", sizeof (c4851Type) / sizeof (StrIndex_t)) ; for (int i = 0; i < sizeof (c4851Type) / sizeof (StrIndex_t); i++) { rt_kprintf ("%s,%s\r\n", str, c4851Type[i].str) ; if (rt_memcmp (str, c4851Type[i].str, rt_strlen (str)) == 0) { return c4851Type[i].index; } } return -1; } int c4852GetType (char * str) { for (int i = 0; i < sizeof (c4852Type) / sizeof (StrIndex_t); i++) { if (rt_memcmp (str, c4852Type[i].str, rt_strlen (str)) == 0) { return c4852Type[i].index; } } return -1; } int cU485GetType (char *str) { for (int i = 0; i < sizeof (cU485Type) / sizeof (StrIndex_t); i++) { if (rt_memcmp (str, cU485Type[i].str, rt_strlen (str)) == 0) { return cU485Type[i].index; } } return -1; } int cDownType2Index (char * str) { for (int i = 0; i < sizeof (cDownDataType) / sizeof (StrIndex_t); i++) { if (rt_memcmp (str, cDownDataType[i].str, rt_strlen (str)) == 0) { return cDownDataType[i].index; } } return -1; } int cSiteType2Index (char * str) { for (int i = 0; i < sizeof (cSiteType) / sizeof (StrIndex_t); i++) { if (rt_memcmp (str, cSiteType[i].str, rt_strlen (str)) == 0) { return cSiteType[i].index; } } return -1; } /********************************************** 获取boot版本信息 **********************************************/ void *GetVersion (void) { int i = rt_sprintf (_versionTemp, "%s-%s %s", cBootv, _makeData, _makeTime); _versionTemp[i] = 0; return (void*) _versionTemp; }