MS-DTU/Anjiehui7_Set_ZNY/User/def_data.h

950 lines
30 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
*********************************************************************************************************
* IAR Development Kits
* on the
*
* Nano130
*
* Filename : def_data.h
* Version : V1.00
* Programmer(s) : Qian Xianghong
*********************************************************************************************************
*/
#ifndef USER_DEF_DATA_PRESENT
#define USER_DEF_DATA_PRESENT
#include "includes.h"
// 豚冀콴츰써뭐
#pragma anon_unions
#pragma pack(push, 1)
////////////////////////////////////////////////////////////////////////////////////////
// 鹿苟경굶땍屢극伎할怜콘朞嶝寧몸
//#define _PRAXAIR_TTS_VER_ // 팹윰옹薑
//#define _PRAXAIR_DOL_VER_ // 팹윰옹薑맣芚
//#define _PRAXAIR_TTS_CHARGE_VER_ // 팹윰옹薑념든/미땍받
//#define _YINGDE_TTS_VER_ // 簞돠
//#define _YINGDE_DOL_VER_ // 簞돠맣芚
//#define _YINGDE_TTS_CHARGE_VER_ // 簞돠념든/미땍받
//#define _LINDE_HTTPS_CHARGE_VER_ // 주돠념든/미땍받
//#define _LINDE_HTTPS_VER_ // 주돠TTS
//#define _LINDE_HTTPS_DOL_VER_ // 주돠맣芚
//#define _MESSER_TTS_VER_ // 첨힘랑
//#define _MESSER_TTS_CHARGE_VER_ // 첨힘랑
//#define _FAYEKONG_TTS_VER_ // 랬捻왕
//#define _FAYEKONG_TTS_CHARGE_VER_ // 랬捻왕념든/미땍받
//#define _BAOGANG_TTS_VER_ // 괜멀
//#define _GUANGGANG_TTS_VER_ // 밤멀
//#define _FUSHIKANG_TTS_VER_ // 말却영
//#define _ZHONGHAIYOU_BOX_VER_ // 櫓베答받芎-PT1000-3窟
//#define _BOX_500_2_VER_ // 받芎-PT500-2窟
//#define _BOX_1000_2_VER_ // 받芎-PT1000-2窟
//#define _BOX_1000_3_VER_ // 받芎-PT1000-3窟
//#define _CAOCHE_VER_ // 꾼났
//#define _LANSHI_CAOCHE_VER_ // 읊柯꾼났
//#define _LANSHI_TTS_VER_ // 읊柯
//#define _LANSHI_BOX_1000_3_VER_ // 읊柯받芎-PT1000-3窟
//#define _LANSHI_TTS_CHARGE_VER_ // 읊柯념든/미땍받
//#define _LANSHI_TTS_ALARM_VER_ // 읊柯<EC9D8A>밟괩쒸
//#define _LANSHI_TTS_ANTI_VER_ // 읊柯렝법념
//#define _LANSHI_TTS_ANTI_SINGLE_VER_ // 읊柯렝법념+데庫
//#define _LANSHI_TTS_LEAK02_VER_ // 읊柯南큠똑괩쒸
//#define _CHATE_TTS_VER_ // 꿴景<E699AF>
//#define _TRAIN_BOX_VER_ // 屆쨌받芎
//#define _AOYANG_BOX_VER_ // 걔爛받芎
// #define _LOCAL_DISP_VER_ // 怜굶뒈鞫刻
// #define _LOCAL_DISP_1S_VER_ // 怜굶뒈鞫刻(1S꽃섞)
//#define _LOCAL_ANTI_VER_ // 怜굶뒈鞫刻+렝법념
// #define _LOCAL_ANTI_SINGLE_VER_ // 怜굶뒈鞫刻+렝법념+데庫
//#define _ANJIEHUI4_VER_ // 갛쌥삠4덜
//#define _ANJIEHUI4_ANTI_VER_ // 갛쌥삠4덜+렝법념
//#define _ANJIEHUI4_PRAXAIR_VER_ // 갛쌥삠4덜+팹윰옹薑
#define _ANJIEHUI4_LINDE_VER_ // 갛쌥삠4덜+주돠
//#define _ANJIEHUI4_JINHONG_VER_ // 갛쌥삠4덜+쏜브
//#define _ANJIEHUI4_ALARM_VER_ // 갛쌥삠4덜+<2B>밟괩쒸
//#define _LOCAL_ALARM_VER_ // 굶뒈鞫刻+<2B>밟괩쒸
//#define _ANJIEHUI4_LINDE_ALARM_VER_ // 갛쌥삠4덜+주돠+<2B>밟괩쒸
//#define _ANJIEHUI4_TTS_LEAK02_VER_ // 갛쌥삠南큠똑괩쒸
//#define _DUWAPING_VER_ // 뗘崑틸
//#define _DUWAPING_LOCAL_VER_ // 뗘崑틸(怜굶뒈鞫刻)
//#define _DUWAPING_LOCAL_ANTI_VER_ // 뗘崑틸(굶뒈鞫刻+데庫렝법념+菱땡념陋)
//#define _BRASIL_BOX_VER_ // 것鮫받芎4~20mA눈먁포
// #define _DUWAPING_LANSHI_VER_ // 뗘崑틸(읊柯틱憩)
//#define _LANSHI_ZNY_HEYUAN_VER_ // 읊柯뵨陶폭竟ZNY)
//#define _LEVEL_P2_ALARM_VER_ // 捻貫멕됴、崗箕제멕됴<EB90B4>밟괩쒸
//#define _LEVEL_P1_ALARM_VER_ // 捻貫멕됴、箕제멕됴<EB90B4>밟괩쒸
//#define _FURUI_TTS_CHARGE_VER_ // 말흩미땍받
//#define _BASF_MAGNETIC_CHARGE_VER_ // 것薑뤼늚럇겼미땍받
//#define _PCT_LEVEL_CAOCHE_VER_ // 殮쌈꿎捻貫겟롸궐(꾼났)
//#define _CIDC_MAIKE_VER_ // 櫓묏鑒俚찝옹4~20mA뀌箕箕제눈먁포
//#define _2ND_420MA_OUT_LEVEL_VER_ // 뒤2쨌4~20mA渴놔捻貫경굶
//#define _HUIDA_CHARGE_VER_ // 삠댐
//#define _HUAGONG_BOX_VER_ // 뺏묏받芎
//#define _ANJIEHUI4_CHAOYANG_VER_ // 갛쌥삠4덜+路헤날捺
//#define _ANJIEHUI4_R0SEMOUNT_VER_ // 쭈薑촁景눈먁포
//#define _LNG_LORA_4G_VER_ // LNG-LORA던4G경굶
//#define _LNG_LORA_LOCAL_VER_ // LNG-LORA꼇던4G경굶
//#define _LANSHI_ROSEMOUNT_485TEMPR_VER_ // 읊柯쭈薑촁景뀌箕+485侊똑
//#define _TTS_TEMPR_420MA_VER_ // 痰4~20mA돨侊똑눈먁포
//#define _LANSHI_TTS_ANTI_NORM_OPEN_VER_ // 읊柯렝법념+데庫끽역
//#define _PCT_LEVEL_TTS_VER_ // 殮쌈꿎捻貫겟롸궐0.5-4.5v,롸箕寧곕)
//#define _ANJIEHUI4_ALL_420MA_VER_ // 뀌箕、箕제、侊똑떼角4~20mA
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// 鹿苟땍屢꼇狼錦맣<EFBC8C>충朞嶝돨顆寧경굶엄땍
#if defined(_PRAXAIR_DOL_VER_) || defined(_YINGDE_DOL_VER_) || defined(_LINDE_HTTPS_DOL_VER_)
#define _DOL_VER_ // 맣芚경
#endif
#if defined(_BOX_500_2_VER_) || defined(_BOX_1000_2_VER_) || defined(_BOX_1000_3_VER_) || defined(_ZHONGHAIYOU_BOX_VER_) || defined(_BRASIL_BOX_VER_)
#define _BOX_VER_ // 받芎
#endif
#if defined(_TRAIN_BOX_VER_) || defined(_LANSHI_BOX_1000_3_VER_) || defined(_DUWAPING_VER_) || defined(_DUWAPING_LANSHI_VER_) || defined(_AOYANG_BOX_VER_)
#define _BOX_VER_ // 받芎
#endif
#if defined(_HUAGONG_BOX_VER_)
#define _BOX_VER_ // 받芎
#endif
#if defined(_CAOCHE_VER_) || defined(_LANSHI_CAOCHE_VER_) || defined(_PCT_LEVEL_CAOCHE_VER_)
#define _SEND_GPS_DATA_ // 랙箇뱀샬鑒앴
#endif
#if defined(_PRAXAIR_TTS_VER_) || defined(_YINGDE_TTS_VER_) || defined(_LINDE_HTTPS_VER_) || defined(_FAYEKONG_TTS_VER_) || defined(_LANSHI_TTS_VER_)
#define _LEVEL_SENSOR_ONLY_ // 怜唐뀌箕눈먁포
#endif
#if defined(_BOX_VER_) && !defined(_TRAIN_BOX_VER_)
#define _CELL_LOCATION_ // 샘籃땍貫瞳GPS땍貫呵겨돨헙워苟
#endif
#ifdef _ANJIEHUI4_CHAOYANG_VER_
#define _NO_LOCATION_ // 꼇땍貫
#endif
#if defined(_PRAXAIR_TTS_VER_) || defined(_PRAXAIR_DOL_VER_) || defined(_PRAXAIR_TTS_CHARGE_VER_) || defined(_ANJIEHUI4_PRAXAIR_VER_)
#define _PRAXAIR_SERVER_ // 팹윰옹薑륩蛟포
#endif
#if defined(_YINGDE_TTS_VER_) || defined(_YINGDE_DOL_VER_) || defined(_YINGDE_TTS_CHARGE_VER_)
#define _YINGDE_SERVER_ // 簞돠륩蛟포
#endif
#if defined(_BAOGANG_TTS_VER_)
//#define _BAOGANG_SERVER_ // 괜멀륩蛟포
#define _YINGDE_SERVER_ // 簞돠륩蛟포
#endif
#if defined(_LINDE_HTTPS_CHARGE_VER_) || defined(_LINDE_HTTPS_VER_) || defined(_ANJIEHUI4_LINDE_VER_) || defined(_LINDE_HTTPS_DOL_VER_) || defined(_ANJIEHUI4_LINDE_ALARM_VER_)
#define _LINDE_SERVER_ // 주돠륩蛟포tcp to praxair
#endif
#ifdef _FUSHIKANG_TTS_VER_
#define _FUSHIKANG_SERVER_ // 말却영륩蛟포
#endif
#ifdef _ZHONGHAIYOU_BOX_VER_
#define _ZHONGHAIYOU_SERVER_ // 櫓베答륩蛟포mqtt
#endif
#if defined(_MESSER_TTS_VER_) || defined(_MESSER_TTS_CHARGE_VER_)
#define _MESSER_SERVER_ // 첨힘랑륩蛟포
#endif
#if defined(_DUWAPING_LANSHI_VER_) || defined(_LANSHI_TTS_VER_) || defined(_LANSHI_CAOCHE_VER_) || defined(_LANSHI_BOX_1000_3_VER_)
#define _LANSHI_SERVER_ // 읊柯륩蛟포
#endif
#if defined(_LANSHI_TTS_CHARGE_VER_) || defined(_LANSHI_TTS_ALARM_VER_) || defined(_LANSHI_TTS_ANTI_VER_) || defined(_LANSHI_TTS_ANTI_SINGLE_VER_)
#define _LANSHI_SERVER_ // 읊柯륩蛟포
#endif
#if defined(_LANSHI_TTS_LEAK02_VER_) || defined(_LANSHI_ZNY_HEYUAN_VER_) || defined(_CIDC_MAIKE_VER_) || defined(_LANSHI_ROSEMOUNT_485TEMPR_VER_)
#define _LANSHI_SERVER_ // 읊柯륩蛟포
#endif
#if defined(_LANSHI_TTS_ANTI_NORM_OPEN_VER_)
#define _LANSHI_SERVER_ // 읊柯륩蛟포
#endif
#ifdef _TRAIN_BOX_VER_
#define _TRAIN_SERVER_ // 屆쨌받芎륩蛟포
#endif
#ifdef _AOYANG_BOX_VER_
#define _AOYANG_SERVER_ // 걔爛륩蛟포
#endif
#if defined(_FURUI_TTS_CHARGE_VER_)
#define _FURUI_SERVER_ // 말흩륩蛟포
#endif
#ifdef _HUIDA_CHARGE_VER_
#define _HUIDA_SERVER_ // 삠댐륩蛟포
#endif
#ifdef _HUAGONG_BOX_VER_
#define _HUAGONG_SERVER_ // 뺏묏받芎륩蛟포
#endif
#ifdef _ANJIEHUI4_CHAOYANG_VER_
#define _CHAOYANG_SERVER_ // 路헤날捺륩蛟포
#endif
#if defined(_PRAXAIR_SERVER_) || (defined(_LINDE_SERVER_) && !defined(_ANJIEHUI4_LINDE_ALARM_VER_)) || defined(_CHATE_TTS_VER_) || defined(_BAOGANG_SERVER_) || defined(_CIDC_MAIKE_VER_)
#define _DISP_MMWC_ONLY_ // 怜鞫刻뀌箕mmWC
#endif
#define _USE_PT100_SENSOR_ // 痰PT100侊똑눈먁포宮뚤4~20mA侊똑눈먁포
#if defined(_BRASIL_BOX_VER_) || defined(_TTS_TEMPR_420MA_VER_) || defined(_ANJIEHUI4_ALL_420MA_VER_)
#undef _USE_PT100_SENSOR_ // 4~20mA侊똑눈먁포
#endif
#if defined(_DUWAPING_VER_) || defined(_DUWAPING_LOCAL_VER_) || defined(_DUWAPING_LANSHI_VER_) || defined(_DUWAPING_LOCAL_ANTI_VER_)
#undef _USE_PT100_SENSOR_ // 4~20mA侊똑눈먁포
#endif
#ifdef _BOX_500_2_VER_
#define _PT100_MULTI_ 5 // 든羸렴댕굡鑒PT100/PT500/PT1000)
#else
#define _PT100_MULTI_ 10 // 든羸렴댕굡鑒PT100/PT500/PT1000)
#endif
#if !defined(_BOX_500_2_VER_) && !defined(_BOX_1000_2_VER_)
#define _PT100_3LINE_ // 힛窟齡든羸꿎좆
#endif
#define _DIFF_RESIST_ // 4G鹿빈돨경굶떼角뀌롸꿎좆든羸
#if defined(_DUWAPING_VER_) || defined(_DUWAPING_LOCAL_VER_) || defined(_DUWAPING_LANSHI_VER_) || defined(_DUWAPING_LOCAL_ANTI_VER_)
#define _USE_CAPACITY_SENSOR_
#define _USE_PCAP04_CHIP_
#endif
#if defined(_LOCAL_DISP_VER_) || defined(_LOCAL_ANTI_VER_) || defined(_DUWAPING_LOCAL_VER_) || defined(_LOCAL_DISP_1S_VER_) || defined(_LOCAL_ANTI_SINGLE_VER_) || defined(_LOCAL_ALARM_VER_)
#define _LOCAL_DISP_ONLY_ // 怜唐굶뒈鞫刻
#endif
#if defined(_DUWAPING_LOCAL_ANTI_VER_) || defined(_LNG_LORA_LOCAL_VER_)
#define _LOCAL_DISP_ONLY_ // 怜唐굶뒈鞫刻
#endif
#if defined(_LOCAL_DISP_1S_VER_)
#define _LOCAL_DISP_1S_ // 굶뒈鞫刻1취꽃섞
#endif
#if defined(_LOCAL_ANTI_VER_) || defined(_ANJIEHUI4_ANTI_VER_) || defined(_LANSHI_TTS_ANTI_VER_) || defined(_LOCAL_ANTI_SINGLE_VER_) || defined(_LANSHI_TTS_ANTI_SINGLE_VER_)
#define _ANTI_OVER_FILL_ // 렝법념
#endif
#if defined(_LANSHI_TTS_ANTI_NORM_OPEN_VER_)
#define _ANTI_NORM_OPEN_ // 끽역렝법념(폭땡궁)
#endif
#if defined(_DUWAPING_LOCAL_ANTI_VER_)
#define _ANTI_OVER_FILL_ // 렝법념
#endif
#if defined(_DUWAPING_LOCAL_ANTI_VER_)
#define _USE_PCT_CAP_ // 객藤낀든휭渴놔겟롸궐
#endif
#if defined(_LOCAL_ANTI_SINGLE_VER_) || defined(_LANSHI_TTS_ANTI_SINGLE_VER_) || defined(_DUWAPING_LOCAL_ANTI_VER_)
#define _ANTI_SINGLE_CTRL_ // 렝법념데庫든늚랫
#endif
#if defined(_DUWAPING_LOCAL_ANTI_VER_)
#define _ANTI_AUTO_FILL_ // 菱땡념陋
#endif
#if defined(_LANSHI_TTS_ALARM_VER_) || defined(_ANJIEHUI4_ALARM_VER_) || defined(_ANJIEHUI4_LINDE_ALARM_VER_) || defined(_LANSHI_ZNY_HEYUAN_VER_) || defined(_LOCAL_ALARM_VER_)
#define _SOUND_ALARM_ // <20>밟괩쒸
#endif
#if defined(_LANSHI_TTS_LEAK02_VER_) || defined(_ANJIEHUI4_TTS_LEAK02_VER_)
#define _USE_O2_LEAK_ // O2큠똑눈먁포
#endif
#if defined(_LANSHI_TTS_LEAK02_VER_) || defined(_LANSHI_ZNY_HEYUAN_VER_) || defined(_ANJIEHUI4_TTS_LEAK02_VER_)
#define _LEAK_SOUND_ALARM_ // 橘쨋<E6A998>밟괩쒸
#endif
#if defined(_LEVEL_P2_ALARM_VER_) || defined(_LEVEL_P1_ALARM_VER_)
#define _SOUND_ALARM_ // 捻貫멕됴<EBA995>밟괩쒸
#define _PRESS_SOUND_ALARM_ // 箕제멕<ECA09C>밟괩쒸
#define _LOW_PRESS_SOUND_ALARM_ // 箕제됴<ECA09C>밟괩쒸
#endif
#ifdef _PCT_LEVEL_CAOCHE_VER_
#define _USE_PCT_LEVEL_MA_ // 殮쌈꿎捻貫겟롸궐(4~20mA
#endif
#ifdef _PCT_LEVEL_TTS_VER_
#define _USE_PCT_LEVEL_V_ // 殮쌈꿎捻貫겟롸궐(0.5~4.5v,롸箕寧곕)
#endif
// MQTT/HTTPS/HTTP륩蛟포죗깊
extern const char SERVER_URLs[][100];
////////////////////////////////////////////////////////////////////////////////////////
// 굶샙寮겼뵀
extern const uint8_t CONFIG_BOARD_SELF;
// 닸뇨깃街="LS"
#define CONFIG_MARK_LS (('S' << 8) | 'L')
// 끓틔깃街="CY"
#define CONFIG_PRODUCT_CY (('Y' << 8) | 'C')
// 놓迦뺏깃街
#define CONFIG_FLAG_NOT_INITED 0
#define CONFIG_FLAG_INITED 1
// 寮겼깃街
#define CONFIG_BOARD_SINGLE 0 // 寧竟駕
#define CONFIG_BOARD_SAMPLE 1
#define CONFIG_BOARD_POWER 2
#define CONFIG_BOARD_DISPLAY 3
#define CONFIG_BOARD_BLUETOOTH 4
// 鑒앴긍쯤DC
#define CAN_DC_NONE 0
#define CAN_DC_BOTTLE_CONFIG 1
#define CAN_DC_SENSOR_CONFIG 2
#define CAN_DC_DATA_CONFIG 3
#define CAN_DC_DISPLAY_CONFIG 4
#define CAN_DC_SAMPLE_SYSINFO 5
#define CAN_DC_POWER_SYSINFO 6
#define CAN_DC_DISPLAY_SYSINFO 7
#define CAN_DC_BLUETOOTH_SYSINFO 8
#define CAN_DC_DTU_DATA 9
#define CAN_DC_SAMPLE_DATA 10
#define CAN_DC_ADC_DATA 11
// 繫列츱즈
#define CAN_NOTIFY_RESET 0
#define CAN_NOTIFY_UPGRADE 1
#define CAN_NOTIFY_UPDATE 2
#define CAN_NOTIFY_SLEEP 3
#define CAN_NOTIFY_PING 4
#define CAN_NOTIFY_SAMPLE 5
// 뇨받잚謹
#define BOTTLE_TYPE_STAND 0 // 접駕
#define BOTTLE_TYPE_LYING 1 // 塊駕
#define BOTTLE_TYPE_SPHERICAL 2 // 헷謹
#define SENSOR_STATUS_NORMAL 0x00 // 攣끽榴檄
#define SENSOR_STATUS_NOCONNECT 0x01 // BIT0
#define SENSOR_STATUS_UNDERFLOW 0x02 // BIT1
#define SENSOR_STATUS_OVERFLOW 0x04 // BIT2
#define SENSOR_STATUS_FULL 0x80 // BIT7
// 꿎좆렘駕
#define MEASURE_DPRESS 0
#define MEASURE_WEIGHT 1
// 鞫刻데貫
#define DISP_UNIT_METRIC 0 // 무齡데貫
#define DISP_UNIT_ENGLISH 1 // 亶齡데貫
// 鞫刻친駕
#define DISP_MODE_DPRESS 0 // 꼇鞫刻휭생뵨路좆
#define DISP_MODE_ALL 1 // 鞫刻휭생뵨路좆
#define DISP_MODE_L 2 // 鞫刻휭생, 꼇鞫刻路좆
#define DISP_MODE_KG 3 // 鞫刻路좆, 꼇鞫刻휭생
// 펜탉叫駱렘駕
#define PARITY_NONE 'n'
#define PARITY_SPACE 's'
#define PARITY_MARK 'm'
#define PARITY_ODD 'o'
#define PARITY_EVEN 'e'
// 頓檀<E9A093>貢쭹잚謹
#define NET_TYPE_2G '2'
#define NET_TYPE_3G '3'
#define NET_TYPE_4G '4'
#define NET_TYPE_GPRS 'G'
#define NET_TYPE_CDMA 'C'
#define NET_TYPE_EDGE 'E'
// 廬왕눈먁포榴檄
#define VACUUM_STATUS_FAULT 0 // 믐崍
#define VACUUM_STATUS_OK 1 // 攣끽
#define VACUUM_STATUS_COMM_FAULT 255 // 繫祇믐崍
// 橘쨋괩쒸포榴檄
#define LEAK_STATUS_OK 0 // 攣끽
#define LEAK_STATUS_FAULT 1 // 믐崍
#define LEAK_STATUS_A1_ALARM 2 // 됴掘괩쒸
#define LEAK_STATUS_A2_ALARM 3 // 멕掘괩쒸
#define LEAK_STATUS_COMM_FAULT 255 // 繫祇믐崍
// 橘짤괩쒸포잚謹(객貫拿쯤)
#define LEAK_TYPE_SWITCH 1 // 역밑謹
#define LEAK_TYPE_CURRENT 2 // 든직謹
#define LEAK_TYPE_MODBUS 4 // Modubs悧窟謹
// 륩蛟포잚謹
#define SERVER_PROTOCOL_TCP 0 // TCP<43>
#define SERVER_PROTOCOL_MQTT 1 // MQTT<54>
#define SERVER_PROTOCOL_HTTPS 2 // HTTPS<50>
#define SERVER_PROTOCOL_HTTP 3 // HTTP<54>
#define SERVER_PROTOCOL_TRAIN 4 // 屆쨌받芎<EBB09B>
#define SERVER_PROTOCOL_AOYANG 5 // 걔爛葵累<E891B5>
#define SERVER_PROTOCOL_FURUI 7 // 말흩葵累<E891B5>
#define SERVER_PROTOCOL_HUIDA 8 // 삠댐葵累<E891B5>
#define SERVER_PROTOCOL_CHAOYANG 9 // 路헤날捺攣쫠무鱇<E9B187>
// 끓틔잚깎
#define PRODUCT_CLASS_LEVEL 0 // 捻貫셕
#define PRODUCT_CLASS_H2PRESS 1 // 향箕제
// 땍貫렘駕
#define LOCATE_TYPE_NONE 0 // 轟땍貫
#define LOCATE_TYPE_GPS 1 // 括槿땍貫
#define LOCATE_TYPE_BS 2 // 샘籃땍貫
// 離댕뻠녑혐댕鬼
#define DATA_BUFF_SIZE 128
// 냔路눈먁포꽝鑒
typedef struct
{
uint32_t lowRange; // 苟좆넋
uint32_t highRange; // <20>좆넋
uint32_t zeroValue; // 叫쥐令
uint32_t fullValue; // 叫찮令
} weight_param_t;
// 뀌箕/箕제눈먁포꽝鑒
typedef struct
{
uint16_t lowRange; // 苟좆넋
union
{
uint16_t highRange; // <20>좆넋
struct
{
unsigned highRangeX10 : 15; // 렴댕죄10굡돨좆넋
unsigned ishighRangeX10 : 1; // 좆넋角뤠렴댕죄10굡
};
};
uint16_t zeroValue; // 叫쥐令
uint16_t fullValue; // 叫찮令
} press_param_t;
// 든휭K令叫硫긴箇포돨꿎좆溝固섟눈먁포꽝鑒뒀든휭찮든휭
typedef struct
{
uint16_t c1ADC; // 든휭c1깃땍ADC令
uint16_t c2ADC; // 든휭c2깃땍ADC令
uint16_t baseC; // 뒀든휭(pF)
uint16_t refC; // 藤낀든휭(pF)
} capacity_param_t;
// 侊똑눈먁포꽝鑒
typedef struct
{
int16_t lowRange; // 苟좆넋
int16_t highRange; // <20>좆넋
uint16_t zeroValue; // 叫쥐令
uint16_t fullValue; // 叫찮令
} tempr_param_t;
// PT100껄든羸侊똑눈먁포꽝鑒
typedef struct
{
int16_t calibrateT; // 叫硫侊똑렴댕10굡
int16_t calibrateR; // 叫硫든羸렴댕10굡
uint16_t zeroValue; // 叫쥐令(-200→돨ADC令(PT100譚叫硫令셕炬잿쬠令
uint16_t fullValue; // 叫찮令80→돨ADC令 (PT100譚叫硫令셕炬잿쬠令
} pt100_param_t;
// 廬왕셕鑒앴
typedef struct
{
uint8_t staVacuum; // 廬왕셕榴檄
unsigned : 8;
uint16_t lifeVacuum; // 廬왕셕賈痰쾨掘
float vacuum; // 廬왕똑
float rateVacuum; // 짤렴폭醵쪽
} vacuum_data_t;
// 橘쨋괩쒸포鑒앴
typedef struct // size = 4
{
uint8_t typeLeak; // 橘쨋괩쒸포잚謹
uint8_t staLeak; // 橘쨋괩쒸포榴檄
uint16_t concentrations; // 폭竟큠똑
} leak_data_t;
// 직좆셕鑒앴
typedef struct // size = 22
{
uint8_t nM3[6]; // 깃워竟생悧좆BCD쯤렴댕100굡
uint8_t nM3_h[4]; // 깃워직좆BCD쯤렴댕100굡
uint8_t M3_h[4]; // 묏워직좆BCD쯤렴댕100굡
uint8_t tempr[4]; // 侊똑BCD쯤렴댕100굡뒤寧俚쌘槨륜뵀 80H 槨맏00H 槨攣)
uint8_t pressure[4]; // 箕제BCD쯤렴댕100굡
} flow_data_t;
typedef union
{
uint8_t status;
struct
{
unsigned notConnect : 1; // 젯쌈榴檄
unsigned underFlow : 1; // 角뤠苟淚놔
unsigned overFlow : 1; // 角뤠<E8A792>淚놔
unsigned : 4;
unsigned full : 1; // 角뤠찮
};
} sensor_status_t;
// 경굶뵀
typedef struct
{
uint8_t major; // 寮경굶뵀
uint8_t minor; // 늴경굶뵀
} version_t;
// 휑퍅
typedef struct
{
uint8_t year;
uint8_t month;
uint8_t day;
} date_t;
// 珂쇌
typedef struct
{
uint8_t hour;
uint8_t minute;
uint8_t second;
} time_t;
// 휑퍅珂쇌
typedef struct
{
uint8_t year;
uint8_t month;
uint8_t day;
uint8_t hour;
uint8_t minute;
uint8_t second;
} date_time_t;
// 토零혐庫斤口
typedef struct
{
uint16_t mark; //="LS",닸뇨깃街
uint16_t product; //="CY",끓틔깃街
uint8_t DC; // 鑒앴긍쯤
unsigned : 8;
version_t ver; // 닸뇨목駕경굶뵀
} config_header_t;
// 토零혐1-뇨받꽝鑒
typedef struct
{
config_header_t header; // 庫斤口
uint16_t serverVer; // 륩蛟포꽝鑒경굶뵀
uint8_t updateFlag; // 꽝鑒뫘劤깃羚
uint8_t addr; // 繫斤뒈囹
uint8_t PSN[6]; // PSN
uint8_t type; // 뇨받잚謹
uint8_t source; // 捻都
uint16_t len; // 途料竟낀똑
uint16_t diameter; // 코쓺
uint16_t lenExtra; // 殮긋룐庫낀똑
float density[5]; // 몹捻都돨궐路, 데貫g/cm3
uint8_t chargePct; // 념陋궐
uint8_t measureType;// 꿎좆렘駕
uint16_t fullPct; // 찮捻貫겟롸궐
uint16_t priPct; // 밑숩捻貫겟롸궐
uint16_t orderPct; // 땐새捻貫겟롸궐
uint16_t emptyPct; // 왕捻貫겟롸궐
uint32_t planMount; // 첼휑셕뺍痰좆
uint32_t predictMount; // 첼휑渡꿎痰좆
uint16_t warnVolt; // 든箕괩쒸됴듐: 10mV
uint16_t warnVoltH; // 든箕괩쒸멕듐: 10mV
uint16_t warnPress; // 箕제괩쒸됴듐: KPa
uint16_t warnPressH; // 箕제괩쒸멕듐: KPa
uint32_t options; // 꽝鑒역밑
uint32_t ts; // 꽝鑒珂쇌늑
unsigned dispMode : 2; // 鞫刻친駕
unsigned hideVacu : 1; // 茶꾜廬왕鞫刻
unsigned : 5;
unsigned : 8;
union // size = 6
{
struct // Praxair
{
uint16_t floorLevel; // praxair: 捻좆괩쒸苟掘
uint16_t span; // praxair: 捻좆긴뺏괩쒸쳔掘
uint16_t spanPeriod; // praxair: 捻좆긴뺏괩쒸珂쇌
};
struct // Others
{
uint16_t warnVacuumH; // 侊똑괩쒸<EAB4A9>
int16_t warnTempr; // 侊똑괩쒸苟掘
int16_t warnTemprH; // 侊똑괩쒸<EAB4A9>
};
};
// 屆쨌받芎劤藤토零
struct // size = 18
{
char tankId[12]; // 섞陋芎긍뵀11貫ASCII쯤
uint32_t moduleId; // 친욥Id
uint16_t appId; // 壇痰Id
} train;
union
{
uint8_t reserved[20];
uint16_t densityExt[8]; // 몹捻都돨궐路(劤藤썽醴, 데貫kg/m3
};
uint16_t crc;
} config_bottle_t;
// 토零혐2-눈먁포꽝鑒
typedef struct
{
config_header_t header; // 庫斤口
unsigned : 8;
unsigned : 8;
weight_param_t sensorWeight; // 냔路눈먁포
union
{
press_param_t sensorDPress; // 뀌箕눈먁포
capacity_param_t sensorCap; // 든휭눈먁포꽝鑒
};
press_param_t sensorPress; // 箕제눈먁포
press_param_t sensorEPress[3];// 윈嵐箕제눈먁포
union
{
tempr_param_t sensorMTempr[3];// 윈嵐侊똑눈먁포-4~20mA
pt100_param_t sensorPTempr[3];// 윈嵐侊똑눈먁포-PT100
};
uint8_t sensor; // 눈먁포蘆잚 0-뗘崑틸1-났潼틸櫓든휭
uint8_t reserved[35];
uint16_t crc;
} config_sensor_t;
// 토零혐3-鑒앴꽝鑒
typedef struct
{
config_header_t header; // 庫斤口
unsigned : 8;
unsigned : 8;
char reserved[8];
char server[30]; // 鑒앴륩蛟포
int16_t port; // 鑒앴똥왯
union
{
struct
{
char gpsServer[30]; // 뱀샬륩蛟포
int16_t gpsPort; // 뱀샬똥왯
};
struct // 屆悧돨륩蛟포
{
char mtupServer[30]; // 屆悧륩蛟포
int16_t mtupPort; // 屆悧똥왯
} train;
};
uint16_t intervalSample; // 鑒앴꽃섞鷺퍅
uint32_t intervalTrans; // 鑒앴<E99192>괩鷺퍅
uint16_t intervalGPS; // 貫零꽃섞鷺퍅
uint16_t intervalGPSTrans; // 貫零<E8B2AB>괩鷺퍅
int8_t timeLag; // 珂뀌,칵훰槨+8
unsigned : 8;
char upgServer[30]; // <20>섬륩蛟포
int16_t upgPort; // <20>섬똥왯
uint16_t crc;
} config_data_t;
// 토零혐4-鞫刻팁꽝鑒
typedef struct
{
config_header_t header; // 庫斤口
unsigned : 8;
unsigned : 8;
uint16_t lightDelay; // 교밟儺珂
uint16_t dispDelay; // 鞫刻팁儺珂
uint8_t unit; // 鞫刻데貫(무齡、亶齡)
uint8_t L_Unit; // 鞫刻데貫UNIT_KPA, UNIT_KG, UNIT_L, UNIT_PCT, UNIT_MMH2O
char pwd1[6]; // 뇨받꽝鑒錦맣쵱쯤
char pwd2[6]; // 눈먁포깃땍쵱쯤
char APN[20]; // 頓檀<E9A093>APN
uint32_t bdCommander; // 굇떱寧뿐샙엥뵀
struct
{
uint8_t op_HARDWARE_VER_MAJOR; // 袒숭토零(꼇谿와빵뵨朞淃돨莉북)
uint8_t op_DISP_MMWC_ONLY;
uint8_t op_DOL_VER;
uint8_t op_BOX_VER;
unsigned op_CELL_LOCATION : 1; // 샘籃땍貫
unsigned op_NO_LOCATION : 1; // 꼇땍貫
unsigned : 6;
uint8_t op_LEVEL_SENSOR_ONLY;
uint8_t op_USE_PT100_SENSOR;
uint8_t op_PT100_MULTI;
uint8_t op_PT100_3LINE;
uint8_t op_DIFF_RESIST;
unsigned op_SEND_GPS_DATA : 1;
unsigned : 6;
unsigned op_ANTI_NORM_OPEN : 1; // 렝법념끽역궁(폭땡밑균)
unsigned op_USE_CAPACITY_SENSOR : 1;
unsigned op_LOW_ALARM_OUTPUT : 1; // 됴捻貫<E68DBB>밟괩쒸묘콘
unsigned op_PRESS_ALARM_OUTPUT : 1; // 箕제<E7AE95>밟괩쒸
unsigned op_LOW_PRESS_ALARM_OUTPUT : 1; // 됴箕제<E7AE95>밟괩쒸
unsigned op_ANTI_SINGLE_CTRL : 1; // 렝법념데庫든늚랫
unsigned op_ANTI_AUTO_FILL : 1; // 렝법념됴捻貫菱땡념陋
unsigned op_USE_PCT_CAP : 1; // 객藤낀든휭渴놔겟롸궐
unsigned op_LOCAL_DISP_1S : 1; // 굶뒈鞫刻1취꽃섞
unsigned : 1; // 괏즛,꼇狼欖痰
unsigned op_USE_R0SEMOUNT : 1; // 쭈薑촁景눈먁포
unsigned op_USE_SOLAR : 1; // 唐格捺콘
unsigned op_USE_O2_LEAK : 1; // 南눈먁포
unsigned op_LEAK_ALARM_OUTPUT : 1; // 橘쨋괩쒸渴놔
unsigned op_USE_DOL_TTL : 1; // DOL鑒俚渴놔눈먁포
unsigned op_USE_HEIGHT_LEVEL : 1;// 殮쌈꿎捻貫멕똑
unsigned op_USE_PCT_LEVEL: 1; // 殮쌈꿎捻貫겟롸궐
uint8_t op_SERVER_PROTOCOL; // 륩蛟포葵累0-TCP; 1-MQTT; 2-HTTPS; 3-HTTP; 4-TRAIN; 5-AOYANG
uint8_t op_SERVER_INDEX; // 륩蛟포뒈囹乞多
unsigned op_UNIDIR_COMM : 1; // 꼇連넣崗蕨繫斤
unsigned op_LOCAL_DISP : 1; // 怜唐굶뒈鞫刻
unsigned op_ANTI_OVERFILL : 1; // 렝법념묘콘
unsigned op_ALARM_OUTPUT : 1; // 멕捻貫<E68DBB>밟괩쒸묘콘
unsigned op_DIFF_420MA : 1; // 뀌箕눈먁포槨4~20mA
unsigned op_PRESS_420MA : 1; // 箕제눈먁포槨4~20mA
unsigned op_2ND_420MA_OUT_LEVEL : 1; // 뒤2쨌4~20mA渴놔捻貫
unsigned : 1;
uint8_t op_PRODUCT_CLASS; // 0-뀌箕셕경굶1-향箕제경굶
unsigned op_TRAIN : 1; // 屆쨌받芎경굶
unsigned op_TIGER : 1; // 일빪횝폭경굶
unsigned : 2;
unsigned op_LNG_LORA: 1; // LNG-LORA경굶
unsigned : 3;
};
union
{
uint8_t reserved[56];
struct // size = 52, 屆쨌받芎劤藤토零
{
char reserved[12]; // 섞陋芎긍뵀11貫ASCII쯤盧돕뇨받토零혼죄
int16_t intervalTransAlarm; // 渡쒸<E6B8A1>눈鷺퍅롸爐
int16_t regTimeout; // 貢쭹鬧꿍珂쇌낚珂(취)
int16_t gpsTimeout; // 땍貫珂쇌낚珂(취)
int16_t sendTimeout; // 鑒앴랙箇珂쇌낚珂(취)
int16_t motionThreshold; // 속醵똑땡쓰埴令mg
int16_t leakAlarm; // 옵횝폭竟큠똑渡쒸랫令(渡즛)
int16_t temprAlarm; // 侊똑渡쒸랫令(→)
int32_t diffCaliRatio; // 뀌箕叫硫溝
int32_t pressCaliRatio; // 폭宮箕제繫돛叫硫溝鑒
int32_t temprCaliRatio; // 捻宮侊똑繫돛叫硫溝鑒
int32_t leakCaliRatio; // 橘짤큠똑繫돛叫硫溝鑒(渡즛)
int32_t vaccumCaliRatio; // 廬왕똑繫돛叫硫溝鑒(渡즛)
int16_t pressCompensate; // 폭宮箕제껸낄
int16_t diffCompensate; // 뀌箕껸낄
int8_t gpsEnabled; // GPS 역밑
int8_t loraDisabled; // lora 역밑
} train;
};
uint16_t crc;
} config_display_t;
// 꽃섞겼溝固斤口
typedef struct
{
uint8_t boardFlag; // 寮겼깃街
unsigned : 8;
version_t hardVer;
version_t softVer;
date_t softDate;
unsigned : 8;
} sysinfo_sample_t;
// 든都겼溝固斤口
typedef struct
{
uint8_t boardFlag; // 寮겼깃街
unsigned : 8;
version_t hardVer;
version_t softVer;
date_t softDate;
char parity; // 펜탉叫駱렘駕
uint32_t baudrate; // DTU꺼景쪽
version_t protocolVer; // 陶눈葵累경굶뵀
char simNumber[24]; // sim엥뵀
uint32_t gprsSendCount; // GPRS랙箇늴鑒
uint32_t gprsSuccCount; // GPRS냥묘늴鑒
char gprsFailCode[6]; // GPRS呵겨덜쯤
uint32_t bdNumber; // 굇떱엥뵀
} sysinfo_power_t;
// 鞫刻겼溝固斤口
typedef struct
{
uint8_t boardFlag; // 寮겼깃街
unsigned : 8;
version_t hardVer;
version_t softVer;
date_t softDate;
unsigned : 8;
} sysinfo_display_t;
// 융記겼溝固斤口
typedef struct
{
uint8_t boardFlag; // 寮겼깃街
unsigned : 8;
version_t hardVer;
version_t softVer;
date_t softDate;
char parity; // 펜탉叫駱렘駕
uint32_t baudrate; // 융記친욥꺼景쪽
version_t protocolVer; // 융記葵累경굶
char moduleName[20]; // 융記친욥츰냔
} sysinfo_bluetooth_t;
// DTU꽃섞鑒앴
typedef struct // size = 56
{
date_time_t sysTime; // 溝固珂쇌, size = 6
int32_t longitude; // 쒔똑
int32_t latitude; // 郭똑
uint16_t speed; // 醵똑
uint8_t rssi; // GPRS斤뵀퓻똑
uint8_t networked; // 角뤠흙貢
uint8_t connected; // 角뤠젯<EBA4A0>륩蛟포
uint8_t netType; // 貢쭹잚謹
uint8_t posState; // GPS땍貫榴檄
uint8_t sateCount; // GPS括槿鑒좆
uint8_t batPct; // 든넥든좆겟롸궐
uint8_t batLow; // 됴든좆깃羚
int16_t batVoltage; // 든넥든箕
uint16_t batMaxCapa; // 든넥悧휭좆
uint16_t batCapa; // 든넥휭좆
int16_t batCurrent; // 든넥념/렴든직
int16_t batTempr; // 든넥侊똑
int16_t sunLevel; // 밟亮퓻똑
struct //size = 20, 屆쨌받芎劤藤꽃섞斤口
{
int16_t countryId; // 샘籃벌소긍뵀
int16_t ispId; // 頓檀<E9A093>긍뵀
int16_t areaId; // 혐堵긍뵀
int32_t cellId; // 샘籃긍뵀
int8_t genNo; // 貢쭹경굶2G/3G/4G
int8_t bandNo; // 繫斤貢쭹틉뙈斤口
// 2G 槨-1
// 3G 槨(wcdma(1-8(꺼뙈) tdscdma(9(a 꺼뙈) 10(f꺼뙈) 11(e 꺼뙈)))
// 4G (1-43(꺼뙈))
int16_t regTime; // 貢쭹鬧꿍珂쇌(취)
int16_t locateTime; // 땍貫鎧槿珂쇌(취)
int16_t elevation; // 베겄(쵠)
int8_t dBm; // 없뚤斤뵀퓻똑
int8_t locateType; // 땍貫렘駕0: 轟땍貫1括槿땍貫2샘籃땍貫
} train;
} data_dtu_t;
// 꽃섞겼꽃섞鑒앴
typedef struct // size = 126
{
uint32_t volumeTotal; // 뇨받휭생
sensor_status_t staWeight; // 냔路눈먁포榴檄, size = 1
sensor_status_t staDPress; // 뀌箕/든휭눈먁포榴檄
sensor_status_t staPress; // 箕제눈먁포榴檄
sensor_status_t staExtPress[3]; // 윈嵐箕제눈먁포榴檄
sensor_status_t staExtTempr[3]; // 윈嵐侊똑눈먁포榴檄
unsigned : 8;
float diff; // 뀌箕/든휭
float height; // 捻貫멕똑
uint32_t volume; // 휭생
uint32_t weight; // 路좆
uint16_t volumePct; // 휭생겟롸궐
uint16_t pressure; // 箕제
uint16_t extPressure[3]; // 윈嵐箕제
int16_t extTempr[3]; // 윈嵐侊똑
vacuum_data_t vacuum[2]; // 廬왕눈먁포鑒앴A、Bsize = 12 x 2
leak_data_t leak; // 橘쨋괩쒸포鑒앴, size = 4
flow_data_t flow; // 직좆셕鑒앴size = 22
uint32_t adWeight; // 냔路눈먁포AD瘻뻣令
uint16_t adDPress; // 뀌箕눈먁포AD瘻뻣令
uint16_t adPress; // 箕제눈먁포AD瘻뻣令
uint16_t adExtPress[3]; // 윈嵐箕제눈먁포AD瘻뻣令
uint16_t adExtTempr[3]; // 윈嵐侊똑눈먁포AD瘻뻣令
uint8_t charging; // 념陋깃羚
uint8_t warnning; // 괩쒸깃羚
struct //size = 8, 屆쨌받芎劤藤꽃섞斤口
{
int8_t cpuTempr; // cpu 侊똑(→)
int8_t tranMode; // 묏鱗榴檄0x00 攣끽랙箇0x01 渡쒸랙箇
int16_t x_accelerate; // X 菉렘蕨令
int16_t y_accelerate; // Y 菉렘蕨令
int16_t z_accelerate; // Z 菉렘蕨令
} train;
} data_sample_t;
// adc令
typedef struct
{
uint16_t adcDiff; // 뀌箕ADC令
uint16_t adcPress; // 箕제ADC令
uint16_t adcEPress[3]; // 윈嵐箕제ADC令
uint16_t adcETempr[3]; // 윈嵐侊똑ADC令
uint32_t adcWeight; // 냔路ADC令
} adc_sample_t;
// 땍屢뻠녑혐痰黨CAN繫祇샀Flash뗍畇
typedef union
{
// 俚쌘뻠녑,痰黨繫斤법넋櫓뗍畇
uint8_t buff[DATA_BUFF_SIZE];
// 俚뻠녑
uint16_t buff16[DATA_BUFF_SIZE / sizeof(uint16_t)];
// 崗俚뻠녑痰黨뗍畇Flash
uint32_t buff32[DATA_BUFF_SIZE / sizeof(uint32_t)];
// 痰黨쇱꿴토零角뤠唐槻
config_header_t header; // 庫斤口
// 鑒앴써뭐,痰黨俚뙈썩驕
config_bottle_t configBottle;
config_sensor_t configSensor;
config_data_t configData;
config_display_t configDisplay;
sysinfo_sample_t sampleInfo;
sysinfo_power_t powerInfo;
sysinfo_display_t displayInfo;
sysinfo_bluetooth_t bluetoothInfo;
data_dtu_t dtuData;
data_sample_t sampleDdata;
adc_sample_t adcData;
} rd_buff_t;
// 痰黨닸뇨鑒앴
typedef struct
{
config_bottle_t configBottle;
config_sensor_t configSensor;
config_data_t configData;
config_display_t configDisplay;
sysinfo_sample_t sampleInfo;
sysinfo_power_t powerInfo;
sysinfo_display_t displayInfo;
sysinfo_bluetooth_t bluetoothInfo;
data_dtu_t dtuData;
data_sample_t sampleData;
adc_sample_t adcData;
} data_buff_t;
#pragma pack(pop)
// 몹몸鑒앴욥돨낀똑
#define CONFIG_DATA_LEN(DC) Config_DataLen[(DC) - 1]
#define CONFIG_DATA_PTR(DC) Config_DataPtr[(DC) - 1]
extern const uint8_t Config_DataLen[];
extern const void* Config_DataPtr[];
// 몹몸토零혐돨코닸
extern data_buff_t dcBuff;
uint32_t Config_CheckValid(rd_buff_t *dataBuff, uint8_t DC);
void Config_ForceValid(rd_buff_t *dataBuff, uint8_t DC);
// 쇱꿴꽝鑒錦맣깃羚
uint32_t Config_CheckUpdate(data_buff_t *dataBuff);
// <20>零뇨받꽝鑒돨칵훰令
void Config_setBottleDefParam(data_buff_t *dataBuff);
// <20>零눈먁포꽝鑒돨칵훰令
void Config_setSensorDefParam(data_buff_t *dataBuff);
// <20>零鑒앴꽝鑒돨칵훰令
void Config_setDataDefParam(data_buff_t *dataBuff);
// <20>零鞫刻꽝鑒돨칵훰令
void Config_setDisplayDefParam(data_buff_t *dataBuff);
// 輕념꽃섞겼溝固斤口
void Config_fillSampleInfo(data_buff_t *dataBuff);
// 輕념든都겼溝固斤口
void Config_fillPowerInfo(data_buff_t *dataBuff);
// 輕념鞫刻겼溝固斤口
void Config_fillDisplayInfo(data_buff_t *dataBuff);
// 輕념융記겼溝固斤口
void Config_fillBluetoothInfo(data_buff_t *dataBuff);
// 뜩淃駕槨x16+x15+x2+1,LSB糠埼
uint16_t do_crc_16(unsigned short crc_reg, uint8_t *message, int16_t len);
#endif