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

{
#--------------------------------------------------------
    'AT+RESETN':
    {
        'name':'AT+RESETN',
        'explain':u'DTU重启方式',
        'param_list_count':1,
        'writeonly':True,
        'testonly': True,
        'actual command':'AT+RESET',
        'fields':
        [
            {
                'name':'reset type',
                'explain':u'重启类型',
                'type':'string list',
                'default':'130',
                'list_value':
                [
                    {'value':'100', 'desciption':u': DTU软件重启'},
                    {'value':'130', 'desciption':u': 硬重启'},
                ],
            },
        ],
    },
#--------------------------------------------------------
    'AT+DLSRVC':
    {
        'name':'AT+DLSRVC',
        'param_list_count':2,
        'explain':u'并行服务器配置',
        'split_string':' ',
        'index_no_split':True,
        'pre_set_at_command':'AT+DLSRVC=c',
        'fields':
        [
            {
                'name':'server url',
                'explain':u'服务器url',
                'type':'url',
                'default':'',
                'ignore_all_value':[None, '', 0],
            },
            {
                'name':'packet mode',
                'explain':u'报文模式',
                'type':'int list',
                'default':0,
                'set_prefix':'-p',
                'get_prefix':'-p',
                'band_fields_value':
                {
                    1:
                    [
                        {'field_index':0, 'value':'ds.fusionunix.com:9000'},
                        {'field_index':3, 'value':''},
                        {'field_index':6, 'value':0},
                        {'field_index':7, 'value':''},
                        {'field_index':10, 'value':0},
                    ]
                },
                'list_value':
                [
                    {'value':0, 'desciption':': TRANSPARENT'},
                    {'value':1, 'desciption':': COMWAY'},
                    {'value':2, 'desciption':': ID_TRANSPARENT'},
                    {'value':3, 'desciption':': SANGRONG'},
                    {'value':4, 'desciption':': HONGDIAN'},
                ],
            },
            {
                'name':'heart time',
                'explain':u'心跳间隔',
                'type':'int',
                'default':180,
                'min_val':0,
                'max_val':300,
                'suffix':u' 秒',
                'set_prefix':'-h',
                'get_prefix':'-h',
            },
            {
                'name':'heart data',
                'explain':u'心跳数据',
                'type':'hex_str',
                'default':'',
                'maxLength':128,
                'set_prefix':'-d',
                'get_prefix':'-d',
                'ignore_field_value':[None, '', 0],
            },
            {
                'name':'server heart time',
                'explain':u'服务器心跳',
                'type':'int',
                'default':0,
                'min_val':0,
                'max_val':300,
                'suffix':u' 秒',
                'set_prefix':'-s',
                'get_prefix':'-s',
            },
            {
                'name':'link mode',
                'explain':u'常在线',
                'type':'int list',
                'default':1,
                'set_prefix':'-l',
                'get_prefix':'-l',
                'list_value':
                [
                    {'value':0, 'desciption':u': 否'},
                    {'value':1, 'desciption':u': 是'},
                ],
            },
            {
                'name':'udp mode',
                'explain':u'UDP模式',
                'type':'int list',
                'default':0,
                'set_prefix':'-u',
                'get_prefix':'-u',
                'ignore_field_value':[None, '', 0],
                'ignore_field_value_read_set_value':1,
                'list_value':
                [
                    {'value':0, 'desciption':u': 否'},
                    {'value':1, 'desciption':u': 是'},
                ],
            },
            {
                'name':'register data',
                'explain':u'注册包',
                'type':'hex_str',
                'default':'',
                'maxLength':128,
                'set_prefix':'-r',
                'get_prefix':'-r',
                'ignore_field_value':[None, '', 0],
            },
            {
                'name':'not upload uart data',
                'explain':u'不上传数据',
                'type':'int list',
                'default':0,
                'set_prefix':'-a',
                'get_prefix':'-a',
                'list_value':
                [
                    {'value':0, 'desciption':u': 否'},
                    {'value':1, 'desciption':u': 是'},
                ],
            },
            {
                'name':'not upload uart data',
                'explain':u'不下发数据',
                'type':'int list',
                'default':0,
                'set_prefix':'-o',
                'get_prefix':'-o',
                'list_value':
                [
                    {'value':0, 'desciption':u': 否'},
                    {'value':1, 'desciption':u': 是'},
                ],
            },
            {
                'name':'ssl mode',
                'explain':u'SSL模式',
                'type':'int list',
                'default':0,
                'set_prefix':'-e',
                'get_prefix':'-e',
                'list_value':
                [
                    {'value':0, 'desciption':u': 否'},
                    {'value':1, 'desciption':u': 是'},
                ],
            },
        ],
    },
#--------------------------------------------------------
    'AT+RBTYPE':
    {
        'name':'AT+RBTYPE',
        'explain':u'重启模式',
        'param_list_count':1,
        'split_string':'\r\n',
        'pre_set_at_command':'AT+RBTYPE=0',
        'fields':
        [
            {
                'name':'no signal time',
                'explain':u'无SIM卡重启',
                'type':'int list',
                'default':10,
                'set_prefix':'1 ',
                'get_prefix':'1: ',
                'suffix':u' 分钟',
                'single_at':True,
                'ignore_field_value':[None, '', 0],
                'list_value':
                [
                    {'value':0, 'desciption':u': 否'},
                    {'value':10, 'desciption':u': 是'},
                ],
            },
            {
                'name':'root time',
                'explain':u'定间隔重启',
                'type':'int',
                'min_val':0,
                'max_val':43200,
                'default':1440,
                'set_prefix':'2 ',
                'get_prefix':'2: ',
                'suffix':u' 分钟',
                'single_at':True,
                'ignore_field_value':[None, '', 0],
            },
            {
                'name':'root time',
                'explain':u'定时重启',
                'type':'int',
                'min_val':0,
                'max_val':43200,
                'default':5,
                'set_prefix':'3 ',
                'get_prefix':'3: ',
                'suffix':u' 分钟 从0点开始',
                'single_at':True,
                'ignore_field_value':[None, '', 0],
            },
        ],
    },
#--------------------------------------------------------
    'AT+MQTTSRV':
    {
        'name':'AT+MQTTSRV',
        'param_list_count':1,
        'explain':u'MQTT服务器url，默认空用COMWAY方式连接mqtt.comway.com.cn:2883',
        'pre_set_at_command':'AT+MQTTSRV=c',
        'fields':
        [
            {
                'name':'server url',
                'explain':u'服务器url',
                'type':'url string',
                'default':'',
                'maxLength':127,
                'band_at_value':
                {
                    '':
                    [
                        {'name':'AT+MQTTUSR', 'value':[['']]},
                        {'name':'AT+MQTTPWD', 'value':[['']]},
                        {'name':'AT+MQTCLIENTID', 'value':[['']]},
                    ],
                },
                'ignore_all_value':[None, '', 0],
            },
        ],
    },
#--------------------------------------------------------
    'AT+MQTTUSR':
    {
        'name':'AT+MQTTUSR',
        'explain':u'MQTT用户名',
        'param_list_count':1,
        'fields':
        [
            {
                'name':'user name',
                'explain':u'用户名',
                'type':'string',
                'default':'test_user',
                'maxLength':127,
                'ignore_all_value':['False'],
            },
        ],
    },
#--------------------------------------------------------
    'AT+MQTTPWD':
    {
        'name':'AT+MQTTPWD',
        'explain':u'MQTT密码',
        'param_list_count':1,
        'fields':
        [
            {
                'name':'user password',
                'explain':u'密码',
                'type':'string',
                'default':'test_pwd',
                'maxLength':127,
                'ignore_all_value':['False'],
            },
        ],
    },
#--------------------------------------------------------
    'AT+MQTTUARTPUB':
    {
        'name':'AT+MQTTUARTPUB',
        'explain':u'MQTT串口发布主题',
        'param_list_count':1,
        'fields':
        [
            {
                'name':'user pub',
                'explain':u'发布主题',
                'type':'string',
                'default':'',
                'maxLength':127,
                'ignore_all_value':['False'],
            },
        ],
    },
#--------------------------------------------------------
    'AT+MQTTUARTSUB':
    {
        'name':'AT+MQTTUARTSUB',
        'explain':u'MQTT串口订阅主题',
        'param_list_count':1,
        'fields':
        [
            {
                'name':'user sub',
                'explain':u'订阅主题',
                'type':'string',
                'default':'',
                'maxLength':127,
                'ignore_all_value':['False'],
            },
        ],
    },
#--------------------------------------------------------
    'AT+MQTCLIENTID':
    {
        'name':'AT+MQTCLIENTID',
        'explain':u'MQTT客户端ID，默认空使用随机数避免ID冲突',
        'param_list_count':1,
        'fields':
        [
            {
                'name':'user clientid',
                'explain':u'客户端ID',
                'type':'string',
                'default':'',
                'maxLength':127,
                'ignore_all_value':['False'],
            },
        ],
    },
#--------------------------------------------------------
    'AT+MQTTGPSPUB':
    {
        'name':'AT+MQTTGPSPUB',
        'explain':u'MQTT_GPS数据发布主题',
        'param_list_count':1,
        'fields':
        [
            {
                'name':'user pub',
                'explain':u'发布主题',
                'type':'string',
                'default':'',
                'maxLength':127,
                'ignore_all_value':['False'],
            },
        ],
    },
#--------------------------------------------------------
    'AT+GPSEN':
    {
        'name':'AT+GPSEN',
        'param_list_count':1,
        'explain':u'启用或关闭GPS',
        'fields':
        [
            {
                'name':'enable',
                'explain':u'启用或关闭GPS',
                'type':'int list',
                'default':0,
                'list_value':
                [
                    {'value':0, 'desciption':u': 关闭'},
                    {'value':1, 'desciption':u': 启用'},
                ],
            },
        ],
    },

#--------------------------------------------------------
    'AT+MQTTSAMPLEPUB':
    {
        'name':'AT+MQTTSAMPLEPUB',
        'explain':u'MQTT定时采集发布主题',
        'param_list_count':1,
        'fields':
        [
            {
                'name':'user pub',
                'explain':u'发布主题',
                'type':'string',
                'default':'',
                'maxLength':127,
                'ignore_all_value':['False'],
            },
        ],
    },
#--------------------------------------------------------   
    'AT+DTUCONF':
    {
        'name':'AT+DTUCONF',
        'explain':u'DTU采样参数',
        'param_list_count':1,
        'fields':
        [
            {
                'name':'sampling interval',
                'explain':u'采样时间间隔',
                'type':'int',
                'default':10,
                'min_val':1,
                'max_val':86400,
                'set_prefix':'-s',
                'suffix':u' 秒',
            },
        ],
    },
#--------------------------------------------------------
    'AT+DTUNETMOD':
	{
		'name':'AT+DTUNETMOD',
		'param_list_count':1,
		'explain':u'报文格式',
		'fields':
		[
			{
				'name':'packet format',
				'explain':u'报文格式',
				'type':'int list',
				'default':1,
				'list_value':
				[
					{'value':0, 'desciption':u': 字符串'},
					{'value':1, 'desciption':u': ID+字符串'},
                    {'value':2, 'desciption':u': JSON'},
				],
			},
		],
	},
#--------------------------------------------------------
    'AT+DTUPKMD':
    {
        'name':'AT+DTUPKMD',
        'param_list_count':1,
        'explain':u'服务器选择',
        'fields':
        [
            {
                'name':'upload mode',
                'explain':u'服务器选择',
                'type':'int list',
                'default':1,
                'list_value':
                [
					{'value':0, 'desciption':u': 采集数据通过串口服务器上传'},
					{'value':1, 'desciption':u': 采集数据通过mqtt服务器上传'},
                    {'value':2, 'desciption':u': 采集数据通过http服务器上传'},
                ],
            },
        ],
    },
#--------------------------------------------------------
    'AT+DTUWKMODE':
    {
        'name':'AT+DTUWKMODE',
        'param_list_count':1,
        'explain':u'工作模式',
        'fields':
        [
            {
                'name':'work mode',
                'explain':u'工作模式',
                'type':'int list',
                'default':0,
                'list_value':
                [
                    {'value':0, 'desciption':u': MQTT透传模式'},
                    {'value':1, 'desciption':u': 采集模式'},
                ],
            },
        ],
    },
#--------------------------------------------------------
    'AT+DTURECORD':
	{
		'name':'AT+DTURECORD',
		'explain':u'读取最新记录',
		'param_list_count':0,
		'testonly':True,
		'fields':[],
	},
#--------------------------------------------------------
    'AT+DTUEXTN=extmb':
    {
        'name':'AT+DTUEXTN=extmb',
        'param_list_count':16,
        'explain':u'采集指令设置',
        'split_string':' ',
        'pre_set_at_command':'AT+DTUEXTN=extmb c',
        'list_value':
        [
            {'value':0, 'desciption':': M0'},
            {'value':1, 'desciption':': M1'},
            {'value':2, 'desciption':': M2'},
            {'value':3, 'desciption':': M3'},
            {'value':4, 'desciption':': M4'},
            {'value':5, 'desciption':': M5'},
            {'value':6, 'desciption':': M6'},
            {'value':7, 'desciption':': M7'},
            {'value':8, 'desciption':': M8'},
            {'value':9, 'desciption':': M9'},
            {'value':10, 'desciption':': M10'},
            {'value':11, 'desciption':': M11'},
            {'value':12, 'desciption':': M12'},
            {'value':13, 'desciption':': M13'},
            {'value':14, 'desciption':': M14'},
            {'value':15, 'desciption':': M15'},

        ],
        'fields':
        [
            {
                'name':'senser type',
                'explain':u'指令类型',
                'type':'int list',
                'default':0,
                'ignore_all_value':[None, ''],
                'list_value':
                [
                    {'value':0, 'desciption':u': modbus指令'},
                    {'value':1, 'desciption':u': 自定义hex指令'},
                ],
            },
            {
                'name':'command',
                'explain':u'指令',
                'type':'hex_data',
                'default':'',
                'ignore_all_value':[None, '', 0, '000000000000'],
                'maxLength':60,
            },
        ],
    },
#--------------------------------------------------------
    'AT+GPSCNF':
    {
        'name':'AT+GPSCNF',
        'param_list_count':1,
        'explain':u'GPS参数配置',
        'fields':
        [
            {
                'name':'packet mode',
                'explain':u'报文模式',
                'type':'int list',
                'default':1,
                'set_prefix':'-m',
                'list_value':
                [
                    {'value':0, 'desciption':u': ID头固定域长模式'},
                    {'value':1, 'desciption':u': ID域为字符串模式'},
                    {'value':2, 'desciption':u': AT指令读取模式'},
                    {'value':3, 'desciption':u': ID域为字符串模式'},
                    {'value':4, 'desciption':u': ID域为字符串模，附加时间标签模式'},
                    {'value':5, 'desciption':u': JSON格式'},
                    {'value':10, 'desciption':u': COMWAY格式上传，主服务器必须设置为COMWAY模式'},
                ],
            },
            {
                'name':'upload threshold',
                'explain':u'上传GPS阀值',
                'type':'assemble_fields',
                'default':'016300010',
                'set_prefix':'-v',
                'child_fields':
                [
                    {
                        'name':'speed threshold',
                        'explain':u'速度阀值',
                        'type':'int',
                        'min_val':0,
                        'max_val':999,
                        'default':16,
                        'suffix':u' 节×10',
                        'start_pos':0,
                        'field_len':3,
                    },
                    {
                        'name':'below threshold',
                        'explain':u'低于阀值速率',
                        'type':'int',
                        'min_val':0,
                        'max_val':999,
                        'default':300,
                        'suffix':u' 秒',
                        'start_pos':3,
                        'field_len':3,
                    },
                    {
                        'name':'beyond threshold',
                        'explain':u'高于阀值速率',
                        'type':'int',
                        'min_val':0,
                        'max_val':999,
                        'default':10,
                        'suffix':u' 秒',
                        'start_pos':6,
                        'field_len':3,
                    },
                ],
            },
            {
                'name':'baundrate',
                'explain':u'波特率',
                'type':'int list',
                'default':9600,
                'set_prefix':'-b',
                'list_value':
                [
                    {'value':4800, 'desciption':u''},
                    {'value':9600, 'desciption':u''},
                ],
            },
            {
                'name':'store data',
                'explain':u'保存数据',
                'type':'int list',
                'default':0,
                'set_prefix':'-w',
                'list_value':
                [
                    {'value':0, 'desciption':u': 否'},
                    {'value':1, 'desciption':u': 是'},
                ],
            },
        ],
    },
#--------------------------------------------------------
    'AT+GPSINFO':
    {
        'name':'AT+GPSINFO',
        'explain':u'GPS信息',
        'param_list_count':1,
        'readonly':True,
        'head_string':'$GPS,',
        'split_string':',',
        'delete strings':['**#'],
        'fields':
        [
            {
                'name':'gps status',
                'explain':u'定位状态',
                'type':'string list',
                'default':'',
                'maxLength':1,
                'list_value':
                [
                    {'value':'A', 'desciption':u': 已定位'},
                    {'value':'V', 'desciption':u': 未定位'},
                ],
                'valid_fields_check':
                [
                    {'check_value':['A'], 'field_index':[1, 2, 3, 4, 5, 6, 7, 8]},
                    {'check_value':['V'], 'field_index':[1, 2, 3, 4, 6, 8]},
                ],
            },
            {
                'name':'wei du ban qiu',
                'explain':u'纬度半球',
                'type':'string',
                'default':'',
                'maxLength':1,
            },
            {
                'name':'wei du',
                'explain':u'纬度',
                'type':'string',
                'default':'',
                'maxLength':12,
                'ToolTip':u'格式ddmm.mmmm',
            },
            {
                'name':'jing du ban qiu',
                'explain':u'经度半球',
                'type':'string',
                'default':'',
                'maxLength':1,
            },
            {
                'name':'jing du',
                'explain':u'经度',
                'type':'string',
                'default':'',
                'maxLength':12,
                'ToolTip':u'格式dddmm.mmmm',
            },
            {
                'name':'V',
                'explain':u'速率标识',
                'type':'string',
                'default':'',
                'maxLength':1,
            },
            {
                'name':'di mian su lv',
                'explain':u'地面速率节',
                'type':'string',
                'default':'',
                'maxLength':12,
            },
            {
                'name':'H',
                'explain':u'高度标识',
                'type':'string',
                'default':'',
                'maxLength':1,
            },
            {
                'name':'hai ba gao du',
                'explain':u'海拔高度',
                'type':'string',
                'default':'',
                'maxLength':12,
            },
        ],
    },
#--------------------------------------------------------
    'AT+HTTPDATA':
    {
        'name':'AT+HTTPDATA',
        'explain':u'RTU数据上传HTTP协议配置',
        'param_list_count':1,
        'fields':
        [
            {
                'name':'domain',
                'explain':u'服务器地址',
                'type':'url',
                'default':'',
                'set_prefix':'-h',
                'maxLength':63,
            },
            {
                'name':'port',
                'explain':u'服务器端口',
                'type':'int',
                'default':0,
                'min_val':0,
                'max_val':65532,
                'set_prefix':'-p',
                'ignore_field_value':[None, '', 0],
            },
            {
                'name':'ssl',
                'explain':u'ssl连接',
                'type':'int list',
                'set_prefix':'-s',
                'default':0,
                'list_value':
                [
                    {'value':0, 'desciption':u': 否'},
                    {'value':1, 'desciption':u': 是'},
                ],
            },
            {
                'name':'post path',
                'explain':u'post路径',
                'type':'string',
                'default':'/post_rtu_data',
                'set_prefix':'-t',
            },
            ##{
            ##  'name':'post name',
            ##  'explain':u'post名称',
            ##  'type':'string',
            ##  'default':'rtu_data',
            ##  'set_prefix':'-n',
            ##},
            ##{
            ##  'name':'post file',
            ##  'explain':u'post文件名',
            ##  'type':'string',
            ##  'default':'data',
            ##  'set_prefix':'-f',
            ##},
        ],
    },
#--------------------------------------------------------
}