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

{
#--------------------------------------------------------
    'AT+ENHF':
	{
		'name':'AT+ENHF',
		'param_list_count':1,
		'explain':u'是否启用扩展程序',
		'fields':
		[
			{
				'name':'enable',
				'explain':u'是否启用',
				'type':'int list',
				'default':1,
				'list_value':
				[
					{'value':0, 'desciption':u': 否'},
					{'value':1, 'desciption':u': 是'},
				],
			},
		],
	},
#--------------------------------------------------------
    '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+MQTTETHPUB':
	{
		'name':'AT+MQTTETHPUB',
		'explain':u'MQTT网口发布主题',
		'param_list_count':8,
		'list_value':
		[
			{'value':0, 'desciption':u': AT+IPIDCONF指令索引0的发布主题'},
			{'value':1, 'desciption':u': AT+IPIDCONF指令索引1的发布主题'},
			{'value':2, 'desciption':u': AT+IPIDCONF指令索引2的发布主题'},
			{'value':3, 'desciption':u': AT+IPIDCONF指令索引3的发布主题'},
			{'value':4, 'desciption':u': AT+IPIDCONF指令索引4的发布主题'},
			{'value':5, 'desciption':u': AT+IPIDCONF指令索引5的发布主题'},
			{'value':6, 'desciption':u': AT+IPIDCONF指令索引6的发布主题'},
			{'value':7, 'desciption':u': AT+IPIDCONF指令索引7的发布主题'},
		],
		'fields':
		[
			{
				'name':'user pub',
				'explain':u'发布主题',
				'type':'string',
				'default':'',
				'maxLength':127,
				'ignore_all_value':['False'],
			},
		],
	},

#--------------------------------------------------------
    'AT+MQTTETHSUB':
	{
		'name':'AT+MQTTETHSUB',
		'explain':u'MQTT网口订阅主题',
		'param_list_count':8,
		'list_value':
		[
			{'value':0, 'desciption':u': AT+IPIDCONF指令索引0的订阅主题'},
			{'value':1, 'desciption':u': AT+IPIDCONF指令索引1的订阅主题'},
			{'value':2, 'desciption':u': AT+IPIDCONF指令索引2的订阅主题'},
			{'value':3, 'desciption':u': AT+IPIDCONF指令索引3的订阅主题'},
			{'value':4, 'desciption':u': AT+IPIDCONF指令索引4的订阅主题'},
			{'value':5, 'desciption':u': AT+IPIDCONF指令索引5的订阅主题'},
			{'value':6, 'desciption':u': AT+IPIDCONF指令索引6的订阅主题'},
			{'value':7, 'desciption':u': AT+IPIDCONF指令索引7的订阅主题'},
		],
		'fields':
		[
			{
				'name':'user sub',
				'explain':u'订阅主题',
				'type':'string',
				'default':'',
				'maxLength':127,
				'ignore_all_value':['False'],
			},
		],
	},
#--------------------------------------------------------
    'AT+MQTTR2TPUB':
	{
		'name':'AT+MQTTR2TPUB',
		'explain':u'RTU2TCP发布主题',
		'param_list_count':1,
		'fields':
		[
			{
				'name':'user pub',
				'explain':u'发布主题',
				'type':'string',
				'default':'',
				'maxLength':127,
				'ignore_all_value':['False'],
			},
		],
	},
#--------------------------------------------------------
    'AT+MQTTR2PSUB':
	{
		'name':'AT+MQTTR2PSUB',
		'explain':u'RTU2TCP订阅主题',
		'param_list_count':1,
		'fields':
		[
			{
				'name':'user pub',
				'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+IPIDCONF':
	{
		'name':'AT+IPIDCONF',
		'explain':u'CLIENT TCP',
		'param_list_count':8,
		'pre_set_at_command':'AT+IPIDCONF=c',
		'fields':
		[
			{
				'name':'ip address',
				'explain':u'ip地址',
				'type':'ip string',
				'default':'',
				'ignore_all_value':[None, '', 0],
			},
			{
				'name':'port number',
				'explain':u'端口号',
				'type':'int',
				'default':0,
				'ignore_all_value':[None, '', 0],
				'min_val':0,
				'max_val':65532,
			},
			{
				'name':'RTU ID',
				'explain':u'RTU设备地址',
				'type':'int',
				'default':1,
				'ignore_all_value':[None, '', 0],
				'min_val':1,
				'max_val':255,
			},
		],
	},
#--------------------------------------------------------
    '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'是否关闭',
				'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':'enable',
				'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':'enable',
				'explain':u'服务器选择',
				'type':'int list',
				'default':1,
				'list_value':
				[
					{'value':0, 'desciption':u': 采集数据通过串口服务器上传'},
					{'value':1, 'desciption':u': 采集数据通过mqtt服务器上传'},
					{'value':2, 'desciption':u': 采集数据通过HTTP服务器上传(json格式)'},
				],
			},
		],
	},
#--------------------------------------------------------
    'AT+DTUWKMODE':
	{
		'name':'AT+DTUWKMODE',
		'param_list_count':1,
		'explain':u'工作模式',
		'fields':
		[
			{
				'name':'enable',
				'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,
			},
			{
				'name':'ip address',
				'explain':u'ip地址',
				'type':'ip string',
				'default':'',
				#'ignore_all_value':[None, '', 0],
			},
			{
				'name':'port number',
				'explain':u'端口号',
				'type':'string',
				'default':'',
				#'ignore_all_value':[None, '', 0],
			},
		],
	},
#--------------------------------------------------------
    '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+DTUHTTPDATA':
	{
		'name':'AT+DTUHTTPDATA',
		'explain':u'DTU数据上传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',
			},
		],
	},
#--------------------------------------------------------
}