# -*- coding: utf-8 -*-

{
#--------------------------------------------------------
    'AT+WATCONF':
    {
        'name':'AT+WATCONF',
        'explain':u'WRC820水文参数配置',
        'param_list_count':1,
        'split_string':'\r\n',
        ##'pre_set_at_command':'AT+WATCONF',
        'fields':
        [
            {
                'name':'server1',
                'explain':u'服务器1地址',
                'type':'url',
                'default':'DEFAULT',
                'set_prefix':'-a',
                'get_prefix':'a: ',
            },
            {
                'name':'server2',
                'explain':u'服务器2地址',
                'type':'url',
                'default':'',
                'set_prefix':'-b',
                'get_prefix':'b: ',
            },
            {
                'name':'server3',
                'explain':u'服务器3地址',
                'type':'url',
                'default':'',
                'set_prefix':'-c',
                'get_prefix':'c: ',
            },
            {
                'name':'server4',
                'explain':u'服务器4地址',
                'type':'url',
                'default':'',
                'set_prefix':'-d',
                'get_prefix':'d: ',
            },
            {
                'name':'sms server',
                'explain':u'短信服务号码',
                'type':'string',
                'default':'',
                'set_prefix':'-e',
                'get_prefix':'e: ',
                'RegExp':'^[0-9]{23}',
            },
            {
                'name':'device number',
                'explain':u'本机号码',
                'type':'string',
                'default':'',
                'set_prefix':'-f',
                'get_prefix':'f: ',
                'RegExp':'^[0-9]{23}',
            },
            {
                'name':'hibernate mode',
                'explain':u'休眠模式',
                'type':'int list',
                'default':0,
                'set_prefix':'-g',
                'get_prefix':'g: ',
                'list_value':
                [
                    {'value':0, 'desciption':u': 正常功耗'},
                    ##{'value':1, 'desciption':u': 微功耗'},
                ],
            },
            {
                'name':'work mode',
                'explain':u'工作模式',
                'type':'int list',
                'default':1,
                'set_prefix':'-h',
                'get_prefix':'h: ',
                'list_value':
                [
                    {'value':1, 'desciption':u': 自报模式'},
                    {'value':2, 'desciption':u': 自报确认模式'},
                    {'value':3, 'desciption':u': 查询/应答模式'},
                    {'value':4, 'desciption':u': 调试或维修模式'},
                ],
            },
            {
                'name':'server addr',
                'explain':u'中心站地址',
                'type':'hex_str',
                'default':'00000000',
                'set_prefix':'-i',
                'get_prefix':'i: ',
                'maxLength':4,
            },
            {
                'name':'terminal addr',
                'explain':u'终端地址',
                'type':'hex_str',
                'default':'0000000000',
                'set_prefix':'-j',
                'get_prefix':'j: ',
                'maxLength':5,
            },
            {
                'name':'terminal type',
                'explain':u'终端类型',
                'type':'hex_str',
                'default':'48',
                'set_prefix':'-k',
                'get_prefix':'k: ',
                'maxLength':1,
            },
            {
                'name':'terminal key',
                'explain':u'终端密码',
                'type':'hex_str',
                'default':'1234',
                'set_prefix':'-l',
                'get_prefix':'l: ',
                'maxLength':2,
            },
            {
                'name':'data mode',
                'explain':u'数据格式',
                'type':'int list',
                'default':1,
                'set_prefix':'-m',
                'get_prefix':'m: ',
                'list_value':
                [
                    {'value':0, 'desciption':u': 二进制模式'},
                    {'value':1, 'desciption':u': 字符串模式'},
                ],
            },
            {
                'name':'sampling interval',
                'explain':u'采样间隔',
                'type':'int',
                'default':300,
                'set_prefix':'-n',
                'get_prefix':'n: ',
                'min_val':60,
                'max_val':7200,
                'suffix':u' 秒',
            },
            {
                'name':'save interval',
                'explain':u'保存间隔',
                'type':'int',
                'default':5,
                'set_prefix':'-o',
                'get_prefix':'o: ',
                'min_val':1,
                'max_val':9999,
                'suffix':u' 分钟',
            },
            {
                'name':'ding shi bao interval',
                'explain':u'定时报间隔',
                'type':'int',
                'default':1,
                'set_prefix':'-p',
                'get_prefix':'p: ',
                'min_val':1,
                'max_val':24,
                'suffix':u' 小时',
            },
            {
                'name':'jia bao interval',
                'explain':u'加报报间隔',
                'type':'int',
                'default':30,
                'set_prefix':'-q',
                'get_prefix':'q: ',
                'min_val':1,
                'max_val':1440,
                'suffix':u' 分钟',
            },
            {
                'name':'yu liang qi shi',
                'explain':u'雨量起始时间',
                'type':'int',
                'default':8,
                'set_prefix':'-r',
                'get_prefix':'r: ',
                'min_val':0,
                'max_val':23,
                'suffix':u' 点',
            },
            {
                'name':'yu liang fen bian lv',
                'explain':u'雨量分辨率',
                'type':'custom int',
                'custom type':0,    # 10*浮点
                'default':5,
                'set_prefix':'-s',
                'get_prefix':'s: ',
                'suffix':u' 毫米',
                'min_val':1,
                'max_val':99,
            },
            {
                'name':'shui wei fen bian lv',
                'explain':u'水位分辨率',
                'type':'custom int',
                'custom type':0,    # 10*浮点
                'default':46,
                'set_prefix':'-t',
                'get_prefix':'t: ',
                'suffix':u' 厘米',
                'min_val':1,
                'max_val':99,
            },
            {
                'name':'yu liang fa zhi',
                'explain':u'雨量阀值',
                'type':'int',
                'default':1,
                'set_prefix':'-u',
                'get_prefix':'u: ',
                'suffix':u' 毫米',
                'min_val':1,
                'max_val':99,
            },
            {
                'name':'shui wei ji zhi',
                'explain':u'水位基值',
                'type':'custom int',
                'custom type':1,    # 1000*浮点
                'default':0,
                'set_prefix':'-v',
                'get_prefix':'v: ',
                'suffix':u' 米',
                'min_val':-9999999,
                'max_val':9999999,
            },
            {
                'name':'shui wei xiu zheng zhi',
                'explain':u'水位修正值',
                'type':'custom int',
                'custom type':1,    # 1000*浮点
                'default':0,
                'set_prefix':'-w',
                'get_prefix':'w: ',
                'suffix':u' 米',
                'min_val':-99999,
                'max_val':99999,
            },
            {
                'name':'shui wei fa zhi',
                'explain':u'水位阀值',
                'type':'custom int',
                'custom type':2,    # 100*浮点
                'default':125,
                'set_prefix':'-x',
                'get_prefix':'x: ',
                'suffix':u' 米',
                'min_val':0,
                'max_val':9999,
            },
            {
                'name':'shui wei fa zhi shang',
                'explain':u'上水位阀值',
                'type':'custom int',
                'custom type':2,    # 100*浮点
                'default':1,
                'set_prefix':'-y',
                'get_prefix':'y: ',
                'suffix':u' 米',
                'min_val':0,
                'max_val':999,
            },
            {
                'name':'shui wei fa zhi xia',
                'explain':u'下水位阀值',
                'type':'custom int',
                'custom type':2,    # 100*浮点
                'default':50,
                'set_prefix':'-z',
                'get_prefix':'z: ',
                'suffix':u' 米',
                'min_val':0,
                'max_val':999,
            },
            {
                'name':'out debug',
                'explain':u'调试模式',
                'type':'int list',
                'default':1,
                'set_prefix':'-A',
                'get_prefix':'A: ',
                'list_value':
                [
                    {'value':0, 'desciption':u': 不输出调试信息'},
                    {'value':1, 'desciption':u': 输出调试信息'},
                    {'value':2, 'desciption':u': 输出调试信息，如果工作模式是4，那么会产生虚拟数据'},
                ],
            },
            {
                'name':'multi packet ack',
                'explain':u'多包确认模式',
                'type':'int list',
                'default':0,
                'set_prefix':'-B',
                'get_prefix':'B: ',
                'list_value':
                [
                    {'value':0, 'desciption':u': 只确认最后一个报文'},
                    {'value':1, 'desciption':u': 确认每个报文'},
                ],
            },
            {
                'name':'zheng fa fen bian lv',
                'explain':u'蒸发分辨率',
                'type':'custom int',
                'custom type':1,    # 1000*浮点
                'default':100,
                'set_prefix':'-C',
                'get_prefix':'C: ',
                'suffix':u' 毫米',
                'min_val':0,
                'max_val':999999,
            },
            {
                'name':'user addr',
                'explain':u'用户地址',
                'type':'hex_str',
                'default':'0000000000',
                'set_prefix':'-D',
                'get_prefix':'D: ',
                'maxLength':5,
            },
            {
                'name':'dtu auxiliary',
                'explain':u'外挂DTU模式',
                'type':'int list',
                'default':0,
                'set_prefix':'-E',
                'get_prefix':'E: ',
                'list_value':
                [
                    {'value':0, 'desciption':u': 不外挂'},
                    {'value':1, 'desciption':u': 外挂'},
                ],
            },
            {
                'name':'shui biao',
                'explain':u'水表使能',
                'type':'int list',
                'default':0,
                'set_prefix':'-F',
                'get_prefix':'F: ',
                'list_value':
                [
                    {'value':0, 'desciption':u': 不使用'},
                    {'value':1, 'desciption':u': 使用'},
                ],
            },
            {
                'name':'liu su fa zhi',
                'explain':u'流速阀值',
                'type':'custom int',
                'custom type':1,    # 1000*浮点
                'default':1000,
                'set_prefix':'-G',
                'get_prefix':'G: ',
                'suffix':u' 米每秒',
                'min_val':0,
                'max_val':99999,
            },
            {
                'name':'liu liang fa zhi',
                'explain':u'流量阀值',
                'type':'custom int',
                'custom type':1,    # 1000*浮点
                'default':1000,
                'set_prefix':'-H',
                'get_prefix':'H: ',
                'suffix':u' 立方米每秒',
                'min_val':0,
                'max_val':999999,
            },
            ##{
            ##  'name':'save config',
            ##  'explain':u'保存配置',
            ##  'type':'string list',
            ##  'default':'',
            ##  'set_prefix':'-S',
            ##  'get_prefix':'S: ',
            ##  'list_value':
            ##  [
            ##      {'value':'', 'desciption':u' : 保存'},
            ##      {'value':' ', 'desciption':u': 不保存'},
            ##  ],
            ##  'ignore_field_value':[' '],
            ##},
        ],
        'configsave':'AT+WATCONF=-S',
    },
#--------------------------------------------------------
    'AT+WATSENCNF':
    {
        'name':'AT+WATSENCNF',
        'param_list_count':27,
        'explain':u'传感器配置',
        'index name':u'传感器',
        'split_string':', ',
        'index_set_prefix':'-i',
        'list_value':
        [
            {'value':0, 'desciption':u': 雨量'},
            {'value':1, 'desciption':u': 水位'},
            {'value':2, 'desciption':u': 流量'},
            {'value':3, 'desciption':u': 总流量'},
            {'value':4, 'desciption':u': 气温'},
            {'value':5, 'desciption':u': 水位1'},
            {'value':6, 'desciption':u': 水位2'},
            {'value':7, 'desciption':u': 水位3'},
            {'value':8, 'desciption':u': 水位4'},
            {'value':9, 'desciption':u': 水位5'},
            {'value':10, 'desciption':u': 水位6'},
            {'value':11, 'desciption':u': 水位7'},
            {'value':12, 'desciption':u': 水位8'},
            {'value':13, 'desciption':u': 三相电压'},
            {'value':14, 'desciption':u': 三相电流'},
            {'value':15, 'desciption':u': 流速'},
            {'value':16, 'desciption':u': 过水面积'},
            {'value':17, 'desciption':u': 方向指示'},
            {'value':18, 'desciption':u': 墒情10CM'},
            {'value':19, 'desciption':u': 墒情20CM'},
            {'value':20, 'desciption':u': 墒情30CM'},
            {'value':21, 'desciption':u': 墒情40CM'},
            {'value':22, 'desciption':u': 墒情50CM'},
            {'value':23, 'desciption':u': 墒情60CM'},
            {'value':24, 'desciption':u': 墒情80CM'},
            {'value':25, 'desciption':u': 墒情100CM'},
            {'value':26, 'desciption':u': 瞬时流速'},
        ],
        'fields':
        [
            {
                'name':'senser type',
                'explain':u'传感器类型',
                'type':'int list',
                'default':0,
                'set_prefix':'-t',
                'ignore_all_value':[None, ''],
                'list_value':
                [
                    {'value':0, 'desciption':u': 关闭传感器'},
                    {'value':1, 'desciption':u': RTU管脚采样'},
                    {'value':2, 'desciption':u': 485接口MODBUS协议'},
                    {'value':3, 'desciption':u': RTU管脚采样，采样数据做负运算'},
                ],
                'valid_fields_check':
                [
                    {'check_value':[0], 'field_index':[4]},
                    {'check_value':[1, 3], 'field_index':[2, 4]},
                    {'check_value':[2], 'field_index':[1, 2, 3, 4]},
                ],
            },
            {
                'name':'data type',
                'explain':u'数据类型',
                'type':'int list',
                'default':0,
                'set_prefix':'-d',
                'list_value':
                [
                    {'value':0, 'desciption':u': 2字节整数，字节顺序12，高字节最高位表示正负'},
                    {'value':1, 'desciption':u': 2字节正整数，字节顺序12'},
                    {'value':2, 'desciption':u': 4字节正整数，字节顺序3412'},
                    {'value':3, 'desciption':u': 浮点型数据，字节顺序3412'},
                    {'value':4, 'desciption':u': 4字节正整数，字节顺序4321'},
                    {'value':5, 'desciption':u': 浮点型数据，字节顺序4321'},
                    {'value':6, 'desciption':u': 4字节正整数，字节顺序1234'},
                    {'value':7, 'desciption':u': 浮点型数据，字节顺序1234'},
                    {'value':8, 'desciption':u': 2字节BCD，字节顺序12'},
                ],
            },
            {
                'name':'multiple',
                'explain':u'倍数',
                'type':'multiple string',
                'default':'1',
                'set_prefix':'-m',
                'min_val':1,
                'max_val':99999999,
                'ignore_field_value':[None, '', 0],
            },
            {
                'name':'modbus command',
                'explain':u'MODBUS指令',
                'type':'assemble_fields',
                'default':'',
                'set_prefix':'-c',
                'ignore_field_value':[None, '', 0, '000000000000'],
                'child_fields':
                [
                    {
                        'name':'modbus device id',
                        'explain':u'设备地址',
                        'type':'hex data',
                        'default':'',
                        'start_pos':0,
                        'field_len':2,
                        'ignore_all_value':[None, '', 0],
                    },
                    {
                        'name':'modbus command',
                        'explain':u'功能码',
                        'type':'string list',
                        'default':'',
                        'start_pos':2,
                        'field_len':2,
                        'ignore_all_value':[None, '', 0, '00'],
                        'list_value':
                        [
                            {'value':'03', 'desciption':u': 读取'},
                            {'value':'04', 'desciption':u': 读取'},
                            {'value':'', 'desciption':u': 无'},
                            {'value':'00', 'desciption':u': 无'},
                        ],
                        'band_fields_value':
                        {
                            '':
                            [
                                {'field_index':0, 'value':'00'},
                                {'field_index':2, 'value':'0000'},
                                {'field_index':3, 'value':'0000'},
                            ],
                            '00':
                            [
                                {'field_index':0, 'value':'00'},
                                {'field_index':2, 'value':'0000'},
                                {'field_index':3, 'value':'0000'},
                            ],
                        },
                    },
                    {
                        'name':'modbus address',
                        'explain':u'起始地址',
                        'type':'hex data',
                        'default':'',
                        'start_pos':4,
                        'field_len':4,
                        'ignore_all_value':[None, '', 0],
                    },
                    {
                        'name':'register count',
                        'explain':u'数据长度',
                        'type':'hex data',
                        'default':'',
                        'start_pos':8,
                        'field_len':4,
                        'ignore_all_value':[None, '', 0],
                        'min_val':'0001',
                    },
                    ##{
                    ##    'name':'modbus crc',
                    ##    'explain':u'CRC',
                    ##    'type':'modbus crc',
                    ##    'default':'',
                    ##    'start_pos':12,
                    ##    'field_len':4,
                    ##},
                ],
            },
            ##{
            ##  'name':'save config',
            ##  'explain':u'保存配置',
            ##  'type':'string list',
            ##  'default':'',
            ##  'set_prefix':'-S',
            ##  'get_prefix':'S: ',
            ##  'list_value':
            ##  [
            ##      {'value':'', 'desciption':u' : 保存'},
            ##      {'value':' ', 'desciption':u': 不保存'},
            ##  ],
            ##  'ignore_field_value':[' '],
            ##},
        ],
        'configsave':'AT+WATSENCNF=-S',
    },
#--------------------------------------------------------
    'AT+WATSENCNF_1':
    {
        'name':'AT+WATSENCNF_1',
        'explain':u'传感器串口配置',
        'actual command':'AT+WATSENCNF',
        'param_list_count':1,
        'split_string':' ',
        'head_string':'UART: ',
        'fields':
        [
            {
                'name':'bandrate',
                'explain':u'波特率',
                'type':'int list',
                'default':9600,
                'set_prefix':'-b',
                'list_value':
                [
                    {'value':9600, 'desciption':u''},
                    {'value':1200, 'desciption':u''},
                    {'value':2400, 'desciption':u''},
                    {'value':4800, 'desciption':u''},
                    {'value':19200, 'desciption':u''},
                    {'value':38400, 'desciption':u''},
                    {'value':115200, 'desciption':u''},
                ],
            },
            {
                'name':'uart config',
                'explain':u'串口配置',
                'type':'assemble_fields',
                'default':'810',
                'set_prefix':'-u',
                'child_fields':
                [
                    {
                        'name':'bit count',
                        'explain':u'数据位',
                        'type':'string list',
                        'default':'8',
                        'start_pos':0,
                        'field_len':1,
                        'list_value':
                        [
                            {'value':'8', 'desciption':u''},
                            {'value':'7', 'desciption':u''},
                            {'value':'6', 'desciption':u''},
                            {'value':'5', 'desciption':u''},
                        ],
                    },
                    {
                        'name':'stop bit',
                        'explain':u'停止位',
                        'type':'string list',
                        'default':'1',
                        'start_pos':1,
                        'field_len':1,
                        'list_value':
                        [
                            {'value':'1', 'desciption':u': 1个停止位'},
                            {'value':'2', 'desciption':u': 2个停止位'},
                            {'value':'3', 'desciption':u': 1.5个停止位'},
                        ],
                    },
                    {
                        'name':'verify bit',
                        'explain':u'校验位',
                        'type':'string list',
                        'default':'0',
                        'start_pos':2,
                        'field_len':1,
                        'list_value':
                        [
                            {'value':'0', 'desciption':u': 无校验'},
                            {'value':'1', 'desciption':u': 奇校验'},
                            {'value':'2', 'desciption':u': 偶校验'},
                            {'value':'3', 'desciption':u': 空校验'},
                        ],
                    },
                ],
            },
            ##{
            ##  'name':'save config',
            ##  'explain':u'保存配置',
            ##  'type':'string list',
            ##  'default':'',
            ##  'set_prefix':'-S',
            ##  'get_prefix':'S: ',
            ##  'list_value':
            ##  [
            ##      {'value':'', 'desciption':u' : 保存'},
            ##      {'value':' ', 'desciption':u': 不保存'},
            ##  ],
            ##  'ignore_field_value':[' '],
            ##},
        ],
        'configsave':'AT+WATSENCNF=-S',
    },
#--------------------------------------------------------
    'AT+WATCONF=-S':
    {
        'name':'AT+WATCONF=-S',
        'explain':u'保存WRC820水文参数配置',
        'param_list_count':0,
        'writeonly':True,
        'fields':[],
        'timeout':10,
        'savecommand':True,
    },
#--------------------------------------------------------
    'AT+WATSENCNF=-S':
    {
        'name':'AT+WATSENCNF=-S',
        'explain':u'保存WRC820传感器配置',
        'param_list_count':0,
        'writeonly':True,
        'fields':[],
        'timeout':10,
        'savecommand':True,
    },
#--------------------------------------------------------
    'AT+WATTIME':
    {
        'name':'AT+WATTIME',
        'explain':u'设置WRC820时间，输入%LOCALTIME%设置当前时间',
        'param_list_count':1,
        'substitutable':True,
        'timeformat':'%Y%m%d%H%M%S',
        'read_paser_ignore':True,
        'store_ignore':True,
        'fields':
        [
            {
                'name':'WRC820 TIME',
                'explain':u'WRC820时间',
                'type':'string',
                'default':'%LOCALTIME%',
                'ignore_field_value':[None, '', 0],
                'maxLength':14,
                'clear_after_write':True,
            },
        ],
    },
#--------------------------------------------------------
    'AT+WATENT':
    {
        'name':'AT+WATENT',
        'explain':u'要求WRC820主动发送水文报文',
        'param_list_count':1,
        'testonly':True,
        'fields':
        [
            {
                'name':'event type',
                'explain':u'报文类型',
                'type':'hex_str',
                'default':'30',
                'maxLength':1,
            },
        ],
    },
#--------------------------------------------------------
    'AT+WATRESET':
    {
        'name':'AT+WATRESET',
        'explain':u'WRC820复位',
        'param_list_count':0,
        'testonly':True,
        'fields':[],
    },
#--------------------------------------------------------
    'AT+WATCLR':
    {
        'name':'AT+WATCLR',
        'explain':u'WRC820清空记录',
        'param_list_count':0,
        'testonly':True,
        'fields':[],
    },
#--------------------------------------------------------
    'AT+WATVERS':
    {
        'name':'AT+WATVERS',
        'explain':u'WRC820版本',
        'param_list_count':1,
        'readonly':True,
        'fields':
        [
            {
                'name':'WRC820 version',
                'explain':u'WRC820版本',
                'type':'string',
                'default':'',
            },
        ],
    },
#--------------------------------------------------------
    'AT+WATUPMD':
    {
        'name':'AT+WATUPMD',
        'explain':u'通知MCU进入升级模式。在升级模式下，MCU不会复位模块。',
        'param_list_count':0,
        'testonly':True,
        'fields':[],
    },
#--------------------------------------------------------
    'AT+WATRNGN=H':
    {
        'name':'AT+WATRNGN=H',
        'explain':u'设置人工置数',
        'param_list_count':1,
        'testonly':True,
        'fields':
        [
            {
                'name':'reng gong',
                'explain':u'人工置数',
                'type':'hex_str',
                'default':'',
                'maxLength':128,
                'ignore_field_value':['False'],
            },
        ],
    },
#--------------------------------------------------------
    'AT+WATRTSPPIC':
    {
        'name':'AT+WATRTSPPIC',
        'explain':u'网络摄像头rtsp链接',
        'param_list_count':1,
        'pre_set_at_command':'AT+WATRTSPPIC=c',
        'fields':
        [
            {
                'name':'rtsp link',
                'explain':u'rtsp链接',
                'type':'string',
                'default':'',
                'ignore_field_value':['False'],
                'maxLength':255,
            },
        ],
        'configsave':'AT+SAVE',
    },
#--------------------------------------------------------
    'AT+WATRESET':
    {
        'name':'AT+WATRESET',
        'explain':u'RTU重启',
        'param_list_count':0,
        'writeonly':True,
        'testonly':True,
        'fields':[],
    },
#--------------------------------------------------------
    'AT+BDSIM':
	{
		'name':'AT+BDSIM',
		'param_list_count':1,
		'explain':u'北斗接收号码',
		'pre_set_at_command':'AT+BDSIM=c',
		'fields':
		[
			{
				'name':'BD number',
				'explain':u'北斗接收号码',
				'type':'string',
				'default':'',
				'maxLength':12,
				'ignore_all_value':[None, '', 0],
			},
		],
	},
#--------------------------------------------------------
    'AT+WATEXTN=reboot':
	{
		'name':'AT+WATEXTN=reboot',
		'explain':u'定时重启',
		'param_list_count':1,
		'fields':
		[
			{
				'name':'mcu_reset time',
				'explain':u'定时重启',
				'type':'int',
				'default':86400,
				'min_val':0,
				'max_val':172800,
				'suffix':u' 秒',
			},
		],
	},
#--------------------------------------------------------
}