Commit deb06860 authored by limm's avatar limm

v1.3

parent f4a8fe0b
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -262,7 +262,7 @@ void ikkUartRecvLoopCheck(UMsgNodeSt *pNode, int waitto_ms )
{
if( emberSerialReadAvailable(g_uManagerInsc.port)) {
while(emberSerialReadByte(g_uManagerInsc.port, &data) == EMBER_SUCCESS ) {
//iKonkeAfSelfPrint(">>>>>>1111Recv Data %x\r\n", data);
iKonkeAfSelfPrint(">>>>>>1111Recv Data %x\r\n", data);
currentTime = halCommonGetInt64uMillisecondTick();
//add by maozj 20200602
//When the data header is detected, fix the problem that the data is too long to verify successfully
......
......@@ -269,7 +269,7 @@ static kk_err_t kOptTunnelCommonReportSend(uint16_t attribute_id, uint8_t conten
emAfApsFrameEndpointSetup(1, 1);
EmberAfStatus status = emberAfSendUnicast(EMBER_OUTGOING_DIRECT, 0, &globalApsFrame, appZclBufferLen, appZclBuffer);
iKonkeAfSelfPrint("######OPT SEND Attr(0x%2x) Time(%d)\r\n",attribute_id, halCommonGetInt64uMillisecondTick());
iKonkeAfSelfPrint("######OPT SEND Attr(0x%2x) Time(%llu)\r\n",attribute_id, halCommonGetInt64uMillisecondTick());
cliBufferPrint();
return ((status == EMBER_ZCL_STATUS_SUCCESS)?KET_OK:KET_ERR_UNKNOW);
}
......@@ -356,9 +356,10 @@ kk_err_t kOptTunnelCommonReport(uint16_t attribute_id )
void kOptTunnelMtoRRDelayRspEventHandler(void )
{
emberEventControlSetInactive(kOptTunnelMtoRRDelayRspEventControl);
iKonkeAfSelfPrint("####### MtoO report time(%d)\r\n", halCommonGetInt64uMillisecondTick());
iKonkeAfSelfPrint("####### MtoO report time(%llu)\r\n", halCommonGetInt64uMillisecondTick());
//Prevent interference when reading CMEI Or ISN Or installation code, resulting in error report
kOptTunnelCommonReport(ECA_OPTDATA);
emberEventControlSetInactive(kOptTunnelMtoRRDelayRspEventControl);
}
/* DESP: private protocol command response process.
......@@ -840,7 +841,7 @@ static kk_err_t kOptTunnelCommonWriteAttributeSend(uint16_t attribute_id, uint8_
emAfApsFrameEndpointSetup(1, 1);
EmberAfStatus status = emberAfSendUnicast(EMBER_OUTGOING_DIRECT, 0, &globalApsFrame, appZclBufferLen, appZclBuffer);
iKonkeAfSelfPrint("######OPT SEND Attr(0x%2x) Time(%d)\r\n",attribute_id, halCommonGetInt64uMillisecondTick());
iKonkeAfSelfPrint("######OPT SEND Attr(0x%2x) Time(%d\llu)\r\n",attribute_id, halCommonGetInt64uMillisecondTick());
cliBufferPrint();
return ((status == EMBER_ZCL_STATUS_SUCCESS)?KET_OK:KET_ERR_UNKNOW);
}
......
......@@ -34,7 +34,7 @@ static uint8_t g_u8MessageSeqRecord = 0XFF;
#define HEART_RAND_MAX_NUM (300 * 1000)
#define MIN_JOINED_NWK_DELAY_TIME_MS (7 * 1000) //重新上电后最短时间,用于判断是否随机延时10~40S上报心跳和CMEI和ISN
#define BOOT_DONE_TIME_MS (2 * 1000)
#define BOOT_DONE_TIME_MS (10)
#if HEART_DEBUG
#define HEARTBEAT_TIME_MS (1 * 60 * 1000)
......@@ -135,7 +135,7 @@ SensorStatusSt g_stSensorStatusBuffer = {
};
extern uint8_t generatedDefaults[];
#define Software_Version 0x12
#define Software_Version 0x14
#define Hardware_Version 0x10
#define MODEID_AIR_MEIDI 0x03008611 //美的线控器
......@@ -143,7 +143,6 @@ extern uint8_t generatedDefaults[];
#define MODEID_ELECTRIC_FLOOR_HEATING 0x03008603 //电地暖
#define MODEID_FAN_CONTROL_PANNEL 0x03008601 //风机盘管
extern BIND_Info_Store Bind_Addr_Table;
void Rewrite_Modeid(uint8_t *modeid,uint8_t software,uint8_t hardware)
{
......@@ -746,6 +745,7 @@ bool kZclClusterReportChangeCallback(uint8_t endpoint, EmberAfClusterId clusterI
//属性延时上报事件,可根据不同的属性延时上报自定义修改
void kOnOffDelayReportAttrEventHandler(void)
{
iKonkeAfSelfPrint("##############kOnOffDelayReportAttrEventHandler\r\n");
emberEventControlSetInactive( kOnOffDelayReportAttrEventControl);
kZclClusterSetPermitReportInfo(g_sDevice_Info.Device_Type, ZCL_ON_OFF_CLUSTER_ID, true, false, true, false);
kOptTunnelReportingPlagiarizeOriginal(g_sDevice_Info.Device_Type, ZCL_ON_OFF_CLUSTER_ID, ZCL_ON_OFF_ATTRIBUTE_ID, CLUSTER_MASK_SERVER);
......@@ -759,6 +759,7 @@ void kSystemModeDelayReportAttrEventHandler(void)
void kTargetTemperDelayReportAttrEventHandler(void)
{
iKonkeAfSelfPrint("##############kTargetTemperDelayReportAttrEventHandler\r\n");
emberEventControlSetInactive( kTargetTemperDelayReportAttrEventControl);
kZclClusterSetPermitReportInfo(g_sDevice_Info.Device_Type, ZCL_THERMOSTAT_CLUSTER_ID, true, false, true, false);
kOptTunnelReportingPlagiarizeOriginal(g_sDevice_Info.Device_Type, ZCL_THERMOSTAT_CLUSTER_ID, ZCL_OCCUPIED_HEATING_SETPOINT_ATTRIBUTE_ID, CLUSTER_MASK_SERVER);
......@@ -1107,7 +1108,7 @@ void kkSystemSetUpEventHandler(void )
{
emberEventControlSetInactive(kkSystemSetUpEventControl);
//static bool relayStatusBuffer[] = {false, false, false, false};
iKonkeAfSelfPrint("####### kkSystemSetUpEventHandler\r\n");
switch (g_u8SystemSetupStatus)
{
......@@ -1325,7 +1326,10 @@ void Process_Device_TypeCallback(uint8_t device_type,uint8_t device_subtype)
{
case Device_Type_Air_Condition:
{
modeid = MODEID_AIR_MEIDI;
if(device_subtype == 0)
modeid = MODEID_AIR_MEIDI;
else if(device_subtype == 1)
modeid = MODEID_FAN_CONTROL_PANNEL;
}
break;
case Device_Type_Floor_Heating:
......
......@@ -165,7 +165,7 @@ beginAttrList:REPORTABLE
cl:0xFCC0, at:0x100C, di:server, mf:0x0000
endAttrList:REPORTABLE
beginAttributeDefaults
cl:0x0000, at:0x0001, di:server, mf:0x0000 => 0x11
cl:0x0000, at:0x0001, di:server, mf:0x0000 => 0x14
cl:0x0000, at:0x0003, di:server, mf:0x0000 => 0x10
cl:0x0000, at:0x0004, di:server, mf:0x0000 => Konke
cl:0x0000, at:0x0005, di:server, mf:0x0000 => 3AFE101003008611
......@@ -794,11 +794,8 @@ AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_AF_PLUGIN_OTA_STORAGE_SIMPLE_EEPROM_STORAGE_START,425984
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_AF_PLUGIN_OTA_STORAGE_SIMPLE_EEPROM_STORAGE_END,778240
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_AF_PLUGIN_NETWORK_STEERING_SCAN_DURATION,3
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_APS_UNICAST_MESSAGE_COUNT,64
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_BROADCAST_TABLE_SIZE,64
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_END_DEVICE_POLL_TIMEOUT,Minutes-64
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_MAX_END_DEVICE_CHILDREN,32
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_PACKET_BUFFER_COUNT,200
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_NEIGHBOR_TABLE_SIZE,26
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_AF_PLUGIN_NETWORK_STEERING_CHANNEL_MASK,0x02108000
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_AF_PLUGIN_NVM3_FLASH_PAGES,8
......@@ -808,4 +805,7 @@ AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_AF_PLUGIN_NVM3_MAX_OBJECT_SIZE,254
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_AF_PLUGIN_REPORTING_TABLE_SIZE,62
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_AF_PLUGIN_NVM3_CACHE_SIZE,335
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_AF_PLUGIN_OTA_CLIENT_POLICY_FIRMWARE_VERSION,0x12
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_PACKET_BUFFER_COUNT,200
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_APS_UNICAST_MESSAGE_COUNT,64
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_BROADCAST_TABLE_SIZE,64
AppPluginOption(efr32~family[M]~series[2]~device_configuration[1]~performance[A]~radio[020]~flash[768K]~temp[I]~package[M]~pins[32]~!module+iar):EMBER_AF_PLUGIN_OTA_CLIENT_POLICY_FIRMWARE_VERSION,0x14
......@@ -90,14 +90,14 @@ def GBL():
def OTA():
if not '"%PROJECT_DIR%\..\\..\\..\\..\\..\\..\\SiliconLabs\\SimplicityStudio\\v4\\developer\\sdks\\gecko_sdk_suite\\v2.6\\protocol\\zigbee\\tool\\image-builder\\image-builder-windows.exe" --create "%TARGET_BPATH%.ota" --version 0x12 --manuf-id 0x1268 --image-type 17061 --tag-id 0x0000 --tag-file "%TARGET_BPATH%.gbl" --string "EBL kkAllInOneFloorHeatingMG21SDK665V1"':
if not '"%PROJECT_DIR%\..\\..\\..\\..\\..\\..\\SiliconLabs\\SimplicityStudio\\v4\\developer\\sdks\\gecko_sdk_suite\\v2.6\\protocol\\zigbee\\tool\\image-builder\\image-builder-windows.exe" --create "%TARGET_BPATH%.ota" --version 0x14 --manuf-id 0x1268 --image-type 17061 --tag-id 0x0000 --tag-file "%TARGET_BPATH%.gbl" --string "EBL kkAllInOneFloorHeatingMG21SDK665V1"':
sys.exit(0)
print (" ")
print ("This creates a ZigBee OTA file if the OTA Client Policy Plugin has been enabled.")
print ("It uses the parameters defined there. ")
print (" ")
# wine needed by postbuild script under studio for mac/linux
IMAGE_BUILDER = '"%PROJECT_DIR%\..\\..\\..\\..\\..\\..\\SiliconLabs\\SimplicityStudio\\v4\\developer\\sdks\\gecko_sdk_suite\\v2.6\\protocol\\zigbee\\tool\\image-builder\\image-builder-windows.exe" --create "%TARGET_BPATH%.ota" --version 0x12 --manuf-id 0x1268 --image-type 17061 --tag-id 0x0000 --tag-file "%TARGET_BPATH%.gbl" --string "EBL kkAllInOneFloorHeatingMG21SDK665V1"'.replace("\t", "\\t")
IMAGE_BUILDER = '"%PROJECT_DIR%\..\\..\\..\\..\\..\\..\\SiliconLabs\\SimplicityStudio\\v4\\developer\\sdks\\gecko_sdk_suite\\v2.6\\protocol\\zigbee\\tool\\image-builder\\image-builder-windows.exe" --create "%TARGET_BPATH%.ota" --version 0x14 --manuf-id 0x1268 --image-type 17061 --tag-id 0x0000 --tag-file "%TARGET_BPATH%.gbl" --string "EBL kkAllInOneFloorHeatingMG21SDK665V1"'.replace("\t", "\\t")
WINE_CMD = WINE.replace("cmd /C ","") if not "echo" in IMAGE_BUILDER else WINE
OTA_COMMAND = WINE_CMD + IMAGE_BUILDER
OTA_COMMAND = OTA_COMMAND.replace("%PROJECT_DIR%", PROJECT_DIR)
......
......@@ -369,7 +369,7 @@
#define CUSTOMER_APPLICATION_VERSION EMBER_AF_PLUGIN_OTA_CLIENT_POLICY_FIRMWARE_VERSION
// User options for plugin OTA Bootload Cluster Client Policy
#define EMBER_AF_PLUGIN_OTA_CLIENT_POLICY_IMAGE_TYPE_ID 17061
#define EMBER_AF_PLUGIN_OTA_CLIENT_POLICY_FIRMWARE_VERSION 18
#define EMBER_AF_PLUGIN_OTA_CLIENT_POLICY_FIRMWARE_VERSION 20
#define EMBER_AF_PLUGIN_OTA_CLIENT_POLICY_HARDWARE_VERSION 16
#define EMBER_AF_PLUGIN_OTA_CLIENT_POLICY_EBL_VERIFICATION
#define EMBER_AF_PLUGIN_OTA_CLIENT_POLICY_DELETE_FAILED_DOWNLOADS
......
......@@ -42,7 +42,7 @@
// Generated attributes
#define GENERATED_ATTRIBUTES { \
{ 0x0000, ZCL_INT8U_ATTRIBUTE_TYPE, 1, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)0x01 } }, /* 0 / Basic / ZCL version*/\
{ 0x0001, ZCL_INT8U_ATTRIBUTE_TYPE, 1, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)0x11 } }, /* 1 / Basic / application version*/\
{ 0x0001, ZCL_INT8U_ATTRIBUTE_TYPE, 1, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)0x14 } }, /* 1 / Basic / application version*/\
{ 0x0002, ZCL_INT8U_ATTRIBUTE_TYPE, 1, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)0x01 } }, /* 2 / Basic / stack version*/\
{ 0x0003, ZCL_INT8U_ATTRIBUTE_TYPE, 1, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)0x10 } }, /* 3 / Basic / hardware version*/\
{ 0x0004, ZCL_CHAR_STRING_ATTRIBUTE_TYPE, 33, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)&(generatedDefaults[0]) } }, /* 4 / Basic / manufacturer name*/\
......
......@@ -42,7 +42,7 @@
// Generated attributes
#define GENERATED_ATTRIBUTES { \
{ 0x0000, ZCL_INT8U_ATTRIBUTE_TYPE, 1, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)0x01 } }, /* 0 / Basic / ZCL version*/\
{ 0x0001, ZCL_INT8U_ATTRIBUTE_TYPE, 1, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)0x11 } }, /* 1 / Basic / application version*/\
{ 0x0001, ZCL_INT8U_ATTRIBUTE_TYPE, 1, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)0x13 } }, /* 1 / Basic / application version*/\
{ 0x0002, ZCL_INT8U_ATTRIBUTE_TYPE, 1, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)0x01 } }, /* 2 / Basic / stack version*/\
{ 0x0003, ZCL_INT8U_ATTRIBUTE_TYPE, 1, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)0x10 } }, /* 3 / Basic / hardware version*/\
{ 0x0004, ZCL_CHAR_STRING_ATTRIBUTE_TYPE, 33, (ATTRIBUTE_MASK_SINGLETON), { (uint8_t*)&(generatedDefaults[0]) } }, /* 4 / Basic / manufacturer name*/\
......@@ -206,12 +206,14 @@ const EmberAfGenericClusterFunction emberAfFuncArrayFanControlClusterServer[] =
#define EMBER_AF_GENERATED_PLUGIN_INIT_FUNCTION_DECLARATIONS \
void emberAfPluginEepromInitCallback(void); \
void emberAfPluginGreenPowerClientInitCallback(void); \
void emberAfPluginReportingInitCallback(void); \
void emberAfPluginCountersInitCallback(void); \
#define EMBER_AF_GENERATED_PLUGIN_INIT_FUNCTION_CALLS \
emberAfPluginEepromInitCallback(); \
emberAfPluginGreenPowerClientInitCallback(); \
emberAfPluginReportingInitCallback(); \
emberAfPluginCountersInitCallback(); \
......@@ -225,12 +227,14 @@ const EmberAfGenericClusterFunction emberAfFuncArrayFanControlClusterServer[] =
#define EMBER_AF_GENERATED_PLUGIN_STACK_STATUS_FUNCTION_DECLARATIONS \
void emberAfPluginGreenPowerClientStackStatusCallback(EmberStatus status); \
void emberAfPluginReportingStackStatusCallback(EmberStatus status); \
void emberAfPluginOtaClientStackStatusCallback(EmberStatus status); \
void emberAfPluginNetworkSteeringStackStatusCallback(EmberStatus status); \
#define EMBER_AF_GENERATED_PLUGIN_STACK_STATUS_FUNCTION_CALLS \
emberAfPluginGreenPowerClientStackStatusCallback(status); \
emberAfPluginReportingStackStatusCallback(status); \
emberAfPluginOtaClientStackStatusCallback(status); \
emberAfPluginNetworkSteeringStackStatusCallback(status); \
......@@ -271,11 +275,17 @@ const EmberAfGenericClusterFunction emberAfFuncArrayFanControlClusterServer[] =
{ 0x0019, 0x01, COMMAND_MASK_OUTGOING_CLIENT }, /* Over the Air Bootloading / QueryNextImageRequest */ \
{ 0x0019, 0x03, COMMAND_MASK_OUTGOING_CLIENT }, /* Over the Air Bootloading / ImageBlockRequest */ \
{ 0x0019, 0x06, COMMAND_MASK_OUTGOING_CLIENT }, /* Over the Air Bootloading / UpgradeEndRequest */ \
{ 0x0021, 0x00, COMMAND_MASK_INCOMING_CLIENT }, /* Green Power / GpNotificationResponse */ \
{ 0x0021, 0x01, COMMAND_MASK_INCOMING_CLIENT }, /* Green Power / GpPairing */ \
{ 0x0021, 0x02, COMMAND_MASK_INCOMING_CLIENT }, /* Green Power / GpProxyCommissioningMode */ \
{ 0x0021, 0x06, COMMAND_MASK_INCOMING_CLIENT }, /* Green Power / GpResponse */ \
{ 0x0021, 0x0A, COMMAND_MASK_INCOMING_CLIENT }, /* Green Power / GpSinkTableResponse */ \
{ 0x0021, 0x0B, COMMAND_MASK_INCOMING_CLIENT }, /* Green Power / GpProxyTableRequest */ \
{ 0x0201, 0x00, COMMAND_MASK_OUTGOING_SERVER }, /* Thermostat / CurrentWeeklySchedule */ \
{ 0x0201, 0x00, COMMAND_MASK_INCOMING_SERVER }, /* Thermostat / SetpointRaiseLower */ \
{ 0x0201, 0x01, COMMAND_MASK_OUTGOING_SERVER }, /* Thermostat / RelayStatusLog */ \
}
#define EMBER_AF_GENERATED_COMMAND_COUNT (36)
#define EMBER_AF_GENERATED_COMMAND_COUNT (42)
// Command manufacturer codes
#define GENERATED_COMMAND_MANUFACTURER_CODES { \
......
......@@ -11,17 +11,17 @@
<View>
<WinId>38003</WinId>
<ViewName>Registers</ViewName>
<TableColWidths>115 179</TableColWidths>
<TableColWidths>115 146</TableColWidths>
</View>
<View>
<WinId>346</WinId>
<ViewName>Code Coverage</ViewName>
<TableColWidths>610 992</TableColWidths>
<TableColWidths>610 160</TableColWidths>
</View>
<View>
<WinId>204</WinId>
<ViewName>Performance Analyzer</ViewName>
<TableColWidths>994 115 115 378</TableColWidths>
<TableColWidths>770</TableColWidths>
</View>
</SECTreeCtrl>
......@@ -36,7 +36,7 @@
<WinId>1936</WinId>
<ViewName>Watch 1</ViewName>
<UserString></UserString>
<TableColWidths>336 318 53</TableColWidths>
<TableColWidths>53 53 53</TableColWidths>
</View>
<View>
<WinId>1937</WinId>
......@@ -48,7 +48,7 @@
<WinId>1935</WinId>
<ViewName>Call Stack + Locals</ViewName>
<UserString></UserString>
<TableColWidths>362 201 301</TableColWidths>
<TableColWidths>53 53 53</TableColWidths>
</View>
<View>
<WinId>2506</WinId>
......@@ -75,7 +75,7 @@
<WindowPosition>
<length>44</length>
<flags>2</flags>
<showCmd>3</showCmd>
<showCmd>2</showCmd>
<MinPosition>
<xPos>-32000</xPos>
<yPos>-32000</yPos>
......@@ -85,17 +85,17 @@
<yPos>-1</yPos>
</MaxPosition>
<NormalPosition>
<Top>124</Top>
<Left>-1723</Left>
<Right>-434</Right>
<Bottom>813</Bottom>
<Top>138</Top>
<Left>1</Left>
<Right>1290</Right>
<Bottom>827</Bottom>
</NormalPosition>
</WindowPosition>
<MDIClientArea>
<RegID>0</RegID>
<MDITabState>
<Len>5929</Len>
<Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001D000000180000000100000095443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFFA6443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C636F6E74726F6C5F636F6D6D2E63000000000E636F6E74726F6C5F636F6D6D2E6300000000BECEA100FFFFFFFF9D443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C4B65792E6300000000054B65792E6300000000F0A0A100FFFFFFFFB4443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C4343323533305F7472616E73706172656E745F616E616C797A652E63000000001C4343323533305F7472616E73706172656E745F616E616C797A652E6300000000BCA8E100FFFFFFFFA7443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C68617264776172655F696E69742E63000000000F68617264776172655F696E69742E63000000009CC1B600FFFFFFFFA6443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4C6962726172795C5374644472697665725C696E635C7379732E6800000000057379732E6800000000F7B88600FFFFFFFFAB443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4C6962726172795C5374644472697665725C7372635C72657461726765742E63000000000A72657461726765742E6300000000D9ADC200FFFFFFFFA8443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C646973706C61795F636F6D6D6F6E2E630000000010646973706C61795F636F6D6D6F6E2E6300000000A5C2D700FFFFFFFFA7443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4C6962726172795C5374644472697665725C7372635C756172742E630000000006756172742E6300000000B3A6BE00FFFFFFFFD0443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4C6962726172795C4465766963655C4E75766F746F6E5C4D696E6935385365726965735C536F757263655C41524D5C737461727475705F4D696E6935385365726965732E730000000016737461727475705F4D696E6935385365726965732E7300000000EAD6A300FFFFFFFF9D443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C4B65792E6800000000054B65792E6800000000F6FA7D00FFFFFFFFA8443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C646973706C61795F636F6D6D6F6E2E680000000010646973706C61795F636F6D6D6F6E2E6800000000B5E99D00FFFFFFFFA6443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C636F6E74726F6C5F636F6D6D2E68000000000E636F6E74726F6C5F636F6D6D2E68000000005FC3CF00FFFFFFFFA2443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C424C3535303732412E63000000000A424C3535303732412E6300000000C1838300FFFFFFFFA2443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C424C3535303732412E68000000000A424C3535303732412E6800000000CACAD500FFFFFFFF9F443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C53485443332E63000000000753485443332E6300000000C5D4F200FFFFFFFF9F443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C53485443332E68000000000753485443332E6800000000FFDC7800FFFFFFFFAB443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C6932635F736F6674776172655F6770696F2E6300000000136932635F736F6674776172655F6770696F2E6300000000BECEA100FFFFFFFFB4443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C4343323533305F7472616E73706172656E745F616E616C797A652E68000000001C4343323533305F7472616E73706172656E745F616E616C797A652E6800000000F0A0A100FFFFFFFFA5443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C6D66675F666163746F72742E63000000000D6D66675F666163746F72742E6300000000BCA8E100FFFFFFFFA5443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C6D66675F666163746F72792E68000000000D6D66675F666163746F72792E68000000009CC1B600FFFFFFFFA6443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4C6962726172795C5374644472697665725C7372635C7379732E6300000000057379732E6300000000F7B88600FFFFFFFFA6443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4C6962726172795C5374644472697665725C7372635C666D632E630000000005666D632E6300000000D9ADC200FFFFFFFFA7443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C68617264776172655F696E69742E68000000000F68617264776172655F696E69742E6800000000A5C2D700FFFFFFFFA6443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4C6962726172795C5374644472697665725C7372635C636C6B2E630000000005636C6B2E6300000000B3A6BE00FFFFFFFFA2443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C56434E4C333034302E68000000000A56434E4C333034302E6800000000EAD6A300FFFFFFFFA2443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C56434E4C333034302E63000000000A56434E4C333034302E6300000000F6FA7D00FFFFFFFFAB443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C6932635F736F6674776172655F6770696F2E6800000000136932635F736F6674776172655F6770696F2E6800000000B5E99D00FFFFFFFFCB443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4C6962726172795C4465766963655C4E75766F746F6E5C4D696E6935385365726965735C536F757263655C73797374656D5F4D696E6935385365726965732E63000000001573797374656D5F4D696E6935385365726965732E63000000005FC3CF00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000093F9FFFFDDFFFFFF00000000ED020000</Data>
<Len>1616</Len>
<Data>010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000001000000070000000500000001000000A8443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C646973706C61795F636F6D6D6F6E2E630000000010646973706C61795F636F6D6D6F6E2E6300000000C5D4F200FFFFFFFFA6443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C636F6E74726F6C5F636F6D6D2E63000000000E636F6E74726F6C5F636F6D6D2E6300000000FFDC7800FFFFFFFFB4443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C4343323533305F7472616E73706172656E745F616E616C797A652E68000000001C4343323533305F7472616E73706172656E745F616E616C797A652E6800000000BECEA100FFFFFFFFA7443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C68617264776172655F696E69742E63000000000F68617264776172655F696E69742E6300000000F0A0A100FFFFFFFFB4443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C4343323533305F7472616E73706172656E745F616E616C797A652E63000000001C4343323533305F7472616E73706172656E745F616E616C797A652E6300000000BCA8E100FFFFFFFFA5443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C7372635C6D66675F666163746F72742E63000000000D6D66675F666163746F72742E63000000009CC1B600FFFFFFFFA5443A5C55736572735C31313733305C53696D706C696369747953747564696F5C76345F776F726B73706163655C4B4B416C6C2D496E2D4F6E65546865726D6F7374617450616E656C4D47323156315C7A33735F746865726D6F73746174616C6C696E6F6E656D67323173646B36363576325C436F64655CBAA3B6D92DB6E0BACFD2BBD0C2B7E7C3E6B0E55C4150505C557365725C696E635C6D66675F666163746F72792E68000000000D6D66675F666163746F72792E6800000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000001384FFFF4F83FFFF0088FFFFC484FFFF</Data>
</MDITabState>
</MDIClientArea>
<ViewEx>
......@@ -134,7 +134,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000660000000C01000046030000</Data>
<Data>03000000660000000C010000AB010000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -154,7 +154,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000660000000C01000046030000</Data>
<Data>03000000660000000C010000AB010000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -434,7 +434,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000660000000C01000046030000</Data>
<Data>03000000660000000C010000AB010000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -454,7 +454,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000660000000C01000046030000</Data>
<Data>03000000660000000C010000AB010000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -474,7 +474,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>030000007A0300007D070000D7030000</Data>
<Data>03000000070300007D070000D7030000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -514,7 +514,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>030000007A0300007D070000D7030000</Data>
<Data>03000000070300007D070000D7030000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1134,7 +1134,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>030000007A0300007D070000D7030000</Data>
<Data>03000000070300007D07000064030000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1154,7 +1154,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>030000007A0300007D070000D7030000</Data>
<Data>03000000070300007D07000064030000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1683,14 +1683,14 @@
</Window>
<DockMan>
<Len>3119</Len>
<Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFA4000000B3000000B0030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E65002000000000000024F9FFFFDDFFFFFF30FCFFFF41000000A40000004F000000B0030000B30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF0C0300004F0000001003000046010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000090FBFFFFDDFFFFFF30FCFFFFD4000000100300004F000000B00300004601000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF0F0100004F000000130100005F0300000100000002000010040000000100000062FFFFFF57040000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000080F8FFFFDDFFFFFF8FF9FFFFED020000000000004F0000000F0100005F0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000003D010000B00300004101000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000080F8FFFFCF00000030FCFFFF3C0100000000000041010000B0030000AE01000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFD801000041010000DC010000AE01000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000005F0300008007000063030000010000000100001004000000010000007FFEFFFFAC000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000100000080F8FFFFF1020000000000007E030000000000006303000080070000F00300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
<Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFA4000000B3000000B0030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E65002000000000000024F9FFFFDDFFFFFF30FCFFFF41000000A40000004F000000B0030000B30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF0C0300004F0000001003000046010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000090FBFFFFDDFFFFFF30FCFFFFD4000000100300004F000000B00300004601000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF0F0100004F00000013010000C40100000100000002000010040000000100000062FFFFFF57040000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000080F8FFFFDDFFFFFF8FF9FFFFED020000000000004F0000000F010000C40100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000003D010000B00300004101000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000080F8FFFFCF00000030FCFFFF3C0100000000000041010000B0030000AE01000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFD801000041010000DC010000AE01000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000C401000000050000C80100000100000001000010040000000100000073FEFFFFA0000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000100000080F8FFFFF1020000000000007E03000000000000C801000000050000870200000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
</DockMan>
<ToolBar>
<RegID>59392</RegID>
<Name>File</Name>
<Buttons>
<Len>2517</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000010434C4B5F5379735469636B44656C61799600000000000000140010434C4B5F5379735469636B44656C61790B4379636C657350657255730B4932435F53575F4F70656E107533325F4932435F53575F44656C61791864656C61795F3330306D735F7265706F72745F73746172741764656C61795F3330306D735F7265706F72745F7461736B1373656E736F725F6D6561737572655F6C6F6F70185A69676265655F556172745F4572726F725F48616E646C650E506F7765725F4F66665F5363616E14427566665F73656E645F73657269616C5F6E756D2B7374617469635F7472616E737072656E745F627566662E427566665F73656E645F73657269616C5F6E756D2A7374617469635F7472616E737072656E745F627566662E446F776E6C6F61645F73657269616C5F6E756D1755736172745F7265636976655F77726974655F6275666613446F776E6C6F61645F73657269616C5F6E756D207374617469635F7472616E73706172656E745F6D73675F696E666F2E446174610D7461736B5F666565645F646F670A7461736B5F636F6D70730C674B65794576656E74434E540D496E7075744B65794576656E740E5365745F4572726F725F436F64650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
<Len>2560</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000010434C4B5F5379735469636B44656C6179960000000000000014001355736172745F70726F746F636F6C5F6465616C1B7472616E73706172656E745F6F70636F64655F616E616C79736973187472616E73706172656E745F646174615F616E616C797A6512446973706C61795F55705F436F6E74656E6413456E74657253637265656E536176654D6F64651E436F6E74726F6C5F4149525F434F4E444954494F4E5F42795F525334383510434C4B5F5379735469636B44656C61790B4379636C657350657255730B4932435F53575F4F70656E107533325F4932435F53575F44656C61791864656C61795F3330306D735F7265706F72745F73746172741764656C61795F3330306D735F7265706F72745F7461736B1373656E736F725F6D6561737572655F6C6F6F70185A69676265655F556172745F4572726F725F48616E646C650E506F7765725F4F66665F5363616E14427566665F73656E645F73657269616C5F6E756D2B7374617469635F7472616E737072656E745F627566662E427566665F73656E645F73657269616C5F6E756D2A7374617469635F7472616E737072656E745F627566662E446F776E6C6F61645F73657269616C5F6E756D1755736172745F7265636976655F77726974655F6275666613446F776E6C6F61645F73657269616C5F6E756D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
</Buttons>
<OriginalItems>
<Len>1423</Len>
......@@ -1722,7 +1722,7 @@
<Name>Debug</Name>
<Buttons>
<Len>2373</Len>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
</Buttons>
<OriginalItems>
<Len>898</Len>
......@@ -1735,8 +1735,8 @@
</ToolBar>
<ControlBarsSummary>
<Bars>0</Bars>
<ScreenCX>1280</ScreenCX>
<ScreenCY>720</ScreenCY>
<ScreenCX>0</ScreenCX>
<ScreenCY>0</ScreenCY>
</ControlBarsSummary>
</ViewEx>
<ViewEx>
......@@ -3387,183 +3387,57 @@
<ActiveMDIGroup>0</ActiveMDIGroup>
<MDIGroup>
<Size>100</Size>
<ActiveTab>24</ActiveTab>
<Doc>
<Name>main.c</Name>
<ColumnNumber>9</ColumnNumber>
<TopLine>26</TopLine>
<CurrentLine>60</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\src\control_comm.c</Name>
<ColumnNumber>32</ColumnNumber>
<TopLine>693</TopLine>
<CurrentLine>702</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\src\Key.c</Name>
<ColumnNumber>28</ColumnNumber>
<TopLine>176</TopLine>
<CurrentLine>182</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\src\CC2530_transparent_analyze.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>324</TopLine>
<CurrentLine>331</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\src\hardware_init.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>311</TopLine>
<CurrentLine>352</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\Library\StdDriver\inc\sys.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>406</TopLine>
<CurrentLine>424</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\Library\StdDriver\src\retarget.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>50</TopLine>
<CurrentLine>65</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<ActiveTab>5</ActiveTab>
<Doc>
<Name>.\User\src\display_common.c</Name>
<ColumnNumber>76</ColumnNumber>
<TopLine>1457</TopLine>
<CurrentLine>1480</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\Library\StdDriver\src\uart.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>47</TopLine>
<CurrentLine>64</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\Library\Device\Nuvoton\Mini58Series\Source\ARM\startup_Mini58Series.s</Name>
<ColumnNumber>0</ColumnNumber>
<ColumnNumber>34</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>34</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\inc\Key.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>240</TopLine>
<CurrentLine>281</CurrentLine>
<CurrentLine>10</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\inc\display_common.h</Name>
<ColumnNumber>7</ColumnNumber>
<TopLine>103</TopLine>
<CurrentLine>105</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\inc\control_comm.h</Name>
<ColumnNumber>22</ColumnNumber>
<TopLine>97</TopLine>
<CurrentLine>110</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\src\BL55072A.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>105</TopLine>
<CurrentLine>114</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\inc\BL55072A.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>89</TopLine>
<CurrentLine>98</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\src\SHTC3.c</Name>
<ColumnNumber>13</ColumnNumber>
<TopLine>11</TopLine>
<CurrentLine>22</CurrentLine>
<Name>.\User\src\control_comm.c</Name>
<ColumnNumber>17</ColumnNumber>
<TopLine>2074</TopLine>
<CurrentLine>2093</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\inc\SHTC3.h</Name>
<Name>.\User\inc\CC2530_transparent_analyze.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>22</CurrentLine>
<TopLine>147</TopLine>
<CurrentLine>167</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\src\i2c_software_gpio.c</Name>
<ColumnNumber>44</ColumnNumber>
<TopLine>19</TopLine>
<CurrentLine>31</CurrentLine>
<Name>.\User\src\hardware_init.c</Name>
<ColumnNumber>15</ColumnNumber>
<TopLine>190</TopLine>
<CurrentLine>203</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\inc\CC2530_transparent_analyze.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>114</TopLine>
<CurrentLine>131</CurrentLine>
<Name>.\User\src\CC2530_transparent_analyze.c</Name>
<ColumnNumber>23</ColumnNumber>
<TopLine>211</TopLine>
<CurrentLine>491</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\src\mfg_factort.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>91</TopLine>
<CurrentLine>110</CurrentLine>
<ColumnNumber>77</ColumnNumber>
<TopLine>100</TopLine>
<CurrentLine>107</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
......@@ -3571,84 +3445,12 @@
<Doc>
<Name>.\User\inc\mfg_factory.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>15</TopLine>
<TopLine>17</TopLine>
<CurrentLine>24</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\Library\StdDriver\src\sys.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>65</TopLine>
<CurrentLine>80</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\Library\StdDriver\src\fmc.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>94</TopLine>
<CurrentLine>101</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\inc\hardware_init.h</Name>
<ColumnNumber>45</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>20</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\Library\StdDriver\src\clk.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>561</TopLine>
<CurrentLine>573</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\inc\VCNL3040.h</Name>
<ColumnNumber>49</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>31</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\src\VCNL3040.c</Name>
<ColumnNumber>17</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>46</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\User\inc\i2c_software_gpio.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>20</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\Library\Device\Nuvoton\Mini58Series\Source\system_Mini58Series.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>21</TopLine>
<CurrentLine>22</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
</MDIGroup>
</MDIGroups>
......
......@@ -91,6 +91,7 @@ typedef enum{
#define DisplayCharr 0x30 // r
#define DisplayCharL 0x51
#define DisplayCharo 0x33
#define DisplayCharBelowZero 0x20
......@@ -109,7 +110,7 @@ typedef enum{
typedef struct Lcd_Display_Status
{
u8 LCD_place; // 需要点亮部分位置,LCDDisplayInvalidParameter/0XFF为无效值
u16 LCD_code_data; // 参数--当前只有温度部分需要使用此参数 范围( NULL - ShowCharNumLitd ),超出此 范围无效,LCDDisplayInvalidParameter/0XFFFF为无效值
s16 LCD_code_data; // 参数--当前只有温度部分需要使用此参数 范围( NULL - ShowCharNumLitd ),超出此 范围无效,LCDDisplayInvalidParameter/0XFFFF为无效值
u8 LCD_state; // 亮、灭、闪,双闪LCDDisplayInvalidParameter/0XFF为无效值,不包括数码管1、2、3、4、5、6
u16 LCD_display_timer; // 闪烁间隔时间,单位10ms,LCDDisplayInvalidParameter/0XFFFF/NULL为无效值
u16 LCD_display_count; // 部分液晶只需要闪烁几次,一个跳变为一次,LCDDisplayInvalidParameter /0xFFFF为无效值,不使用填充无效值
......
......@@ -45,7 +45,7 @@ typedef struct
u16 set_temperature; //设置温度
s8 correct_temperature; //温度校准值
u8 system_type; //系统类型
u8 operation_mode; //运行模式
u8 operation_mode; //风机盘管模式,默认0,冷热单管
u8 wind_speed; //风速 0 关 1 低 2 中 3 高,4 开,5,自动 ,6 智能 7,中低,8 中高 ,9 超高 默认自动
u8 lock_flage; //儿童锁显示图标
u8 air_cond_type; //空调类型 1.风机盘管 2,线控器
......@@ -162,7 +162,7 @@ u8 kNetIndicatorIsBlinking(void);
void kNetIndicatorOptTrigger(uint8_t id, uint32_t duration_on_ms, uint32_t duration_off_ms, uint32_t times, u8 start, u8 end );
void kLedModuleActionDetectCallback(void );
void display_set_temp(u8 display_mode,int temp_value,u8 ararm_f);
void display_set_temp(u8 display_mode,s16 temp_value,u8 ararm_f);
void display_system_mode(u8 heat,u8 dry,u8 cold ,u8 air,u8 sleep,u8 manufture,u8 Auto,u8 Roll);
void display_wind_speed(u8 wind_speed,u8 support_type);
void display_wind_direct(u8 low,u8 mediu,u8 high);
......@@ -180,6 +180,9 @@ u8 IsLocalConfigMode(void);
u8 kAllLedIsBlinking(void);
void Display_Up_Contend(u8 device_type);
void Setup_Mode_Handle (void);
void Display_Current_Temper(s16 temper);
void Reset_Flash_Time_10s(void);
#define Operation_LED(X) Operate_Led_Button(Oled_Display_Info.screen_page,X)
#define Reload_Save_Time() do{ sBacklight.blacklight_flag = 1;\
......
......@@ -8,7 +8,7 @@ u8 g_u8slaver_addr ;
u8 Display_Num[] = {DisplayChar0,DisplayChar1,DisplayChar2,DisplayChar3,DisplayChar4,DisplayChar5,\
DisplayChar6,DisplayChar7,DisplayChar8,DisplayChar9,DisplayCharA,DisplayCharB,\
0XFF,0XFF,DisplayCharE,DisplayCharF,DisplayChar4,DisplayCharr,DisplayCharL,DisplayCharo};
0XFF,0XFF,DisplayCharE,DisplayCharF,DisplayCharBelowZero,DisplayCharr,DisplayCharL,DisplayCharo};
......@@ -669,6 +669,7 @@ void LcdControlSetting(u8 uADD, u8 uNumber )
void DelayPowerOffControlSetting(s16 time)
{
u8 temp = 0 ;
u16 data = 0;
if(time == 0x7fff) //show null
{
BL55072A_DisplayGeneral( BL55072A_SEG1, 0x07, 0 );
......@@ -682,7 +683,7 @@ void DelayPowerOffControlSetting(s16 time)
BL55072A_DisplayGeneral( BL55072A_SEG5, 0x07, 0 );
BL55072A_DisplayGeneral( BL55072A_SEG6, 0x0F, 0 );
}
else{
else if(time >=0){
temp = time/100;
LcdControlSetting(BL55072A_SEG1,temp);
......@@ -694,6 +695,20 @@ void DelayPowerOffControlSetting(s16 time)
temp = time %10;
LcdControlSetting(BL55072A_SEG5,temp);
}
else{
//显示‘-’号
BL55072A_DisplayGeneral( BL55072A_SEG1, 0x07, 0x02 );
BL55072A_DisplayGeneral( BL55072A_SEG2, 0x0F, 0x00 );
data = 65536-time;
temp = ( (data/10) %10);
LcdControlSetting(BL55072A_SEG3,temp);
LcdControlP1(1);
temp = (data %10);
LcdControlSetting(BL55072A_SEG5,temp);
}
}
u8 DelayPowerOffGetStat(void)
{
......
......@@ -386,12 +386,10 @@ static void LED_BEEP_Feedback(u8 key_id)
||((Oled_Display_Info.screen_page == 3)&&(Oled_Display_Info.FAN_Device.no_disturb_mode == 0) ) )
Spake_Start();
if(Oled_Display_Info.net_work_flage == IN_LINE)
{
kNetIndicatorOptTrigger(key_id, 200, 200, 1, 0, 1 );
}else{
if(Oled_Display_Info.net_work_flage == OUT_LINE){
kNetIndicatorOptTrigger(key_id, 200, 200, 3, 0, 1 );
}else{
kNetIndicatorOptTrigger(key_id, 200, 200, 1, 0, 1 );
}
}
void KeyProcess_Handler_Callbacks(u8 key_id,u8 KeyPressEvent)
......@@ -571,17 +569,7 @@ void Delay_OFF_Rel_Display(u8 stop_flash,u8 delay_timer,u8 dispaly_data,u8 H_cha
}
if(H_char)
{
//显示H图标
LCDShowTemp_state_t.LCD_place = H_CHAR_DISPLAY;
LCDShowTemp_state_t.LCD_state = ON;
}
else{
LCDShowTemp_state_t.LCD_place = H_CHAR_DISPLAY;
LCDShowTemp_state_t.LCD_state = OFF;
}
LcdShowCTR(LCDShowTemp_state_t);
if(bell_char){
//显示闹钟
LCDShowTemp_state_t.LCD_place = SETTING_TIMER_DISPLAY;
......@@ -731,7 +719,7 @@ static void KEY1_Botton_Process_Handler(u8 KeyPressEvent)
{
Oled_Display_Info.Air_Device.power_off_flage = 1;
Reset_DelayOFF_timer(AIR_CONDITION);
Delay_OFF_Rel_Display(1,1,Oled_Display_Info.Air_Device.power_off_time,1,1,1);
Delay_OFF_Rel_Display(1,1,Oled_Display_Info.Air_Device.power_off_time,1,1,0);
}
else
{
......@@ -793,7 +781,7 @@ static void KEY1_Botton_Process_Handler(u8 KeyPressEvent)
{
Oled_Display_Info.FLOOR_Device.power_off_flage = 1;
Reset_DelayOFF_timer(FLOOR_HEATING);
Delay_OFF_Rel_Display(1,1,Oled_Display_Info.FLOOR_Device.power_off_time,1,1,1);
Delay_OFF_Rel_Display(1,1,Oled_Display_Info.FLOOR_Device.power_off_time,1,1,0);
}
else
{
......@@ -846,7 +834,7 @@ static void KEY1_Botton_Process_Handler(u8 KeyPressEvent)
{
Oled_Display_Info.FAN_Device.power_off_flage = 1;
Reset_DelayOFF_timer(FAN);
Delay_OFF_Rel_Display(1,1,Oled_Display_Info.FAN_Device.power_off_time,1,1,1);
Delay_OFF_Rel_Display(1,1,Oled_Display_Info.FAN_Device.power_off_time,1,1,0);
}
else
{
......@@ -1217,7 +1205,8 @@ static void KEY5_Botton_Process_Handler(u8 KeyPressEvent)
{
next_speed = Get_NextOne_By_Current_Speed_Level(1,Oled_Display_Info.Air_Device.wind_speed,0);
display_wind_speed(next_speed,0);
Reset_Flash_Time_10s();
delay_confirm_fan_speed_control(1);
Oled_Display_Info.Air_Device.wind_speed = next_speed;
#if (DEV_TYPE == 0) &&(DEVICE_TYPE_AIR_CONDITION ==1)
delay_control_fan_speed_start();
......@@ -1441,6 +1430,8 @@ static void KEY6_Botton_Process_Handler(u8 KeyPressEvent)
{
next_speed = Get_NextOne_By_Current_Speed_Level(0,Oled_Display_Info.Air_Device.wind_speed,0);
display_wind_speed(next_speed,0);
Reset_Flash_Time_10s();
delay_confirm_fan_speed_control(1);
Oled_Display_Info.Air_Device.wind_speed = next_speed;
#if (DEV_TYPE == 0) &&(DEVICE_TYPE_AIR_CONDITION ==1)
delay_control_fan_speed_start();
......@@ -1893,25 +1884,29 @@ void Tap_Init(void)
Relay_Action(0x01,0x00); //继电器断开
}
}
}
Tap_Status_Scan_Task_Start();
}
#elif DEVICE_TYPE_FAN
Fan_Speed_Control(Oled_Display_Info.FAN_Device.wind_speed); //默认打开
if((Oled_Display_Info.FAN_Device.on_off ==1)&&(Oled_Display_Info.aging_test_flag != 1)) //开机状态且没处于15min-4h老化期间
{
Fan_PassbyONOFF_By_Mode_Trans(Oled_Display_Info.FAN_Device.system_type,1);
Fan_Speed_Control(Oled_Display_Info.FAN_Device.wind_speed);
if(Oled_Display_Info.FAN_Device.on_off == 1)
{
Fan_Speed_Control(Oled_Display_Info.FAN_Device.wind_speed); //默认打开
if((Oled_Display_Info.FAN_Device.on_off ==1)&&(Oled_Display_Info.aging_test_flag != 1)) //开机状态且没处于15min-4h老化期间
{
Fan_PassbyONOFF_By_Mode_Trans(Oled_Display_Info.FAN_Device.system_type,1);
Fan_Speed_Control(Oled_Display_Info.FAN_Device.wind_speed);
}
}
#endif
}
/******************************************
//新风模式切换,打开关闭旁通模式
*******************************************/
void Fan_PassbyONOFF_By_Mode_Trans(u8 system_mdoe,u8 reset_count_time)
{
#if DEVICE_TYPE_FAN
if(system_mdoe == SYSTEM_MODE_MANUAL)
{
Relay_Action(0x08,0x00);
......@@ -1928,6 +1923,7 @@ void Fan_PassbyONOFF_By_Mode_Trans(u8 system_mdoe,u8 reset_count_time)
auto_time = 0;
auto_type = 0;
}
#endif
}
/******************************************
//新风风速切换
......
......@@ -16,7 +16,7 @@ u16 wind_open_time = 330 ; //3ms
u16 temp_open_time = 200 ; //4ms
u8 wind_close_time = 250 ; //4ms
u16 wind_close_time = 250 ; //4ms
u16 temp_close_time = 250 ; //5ms
......@@ -300,6 +300,7 @@ void shtc3_sensor_measure_loop(void)
}
state_change_report(OPCODE_GENERAL_REPORT_STATUS,1);
}
abnormal_times = 0;
temp_new_data = tmep_data;
......@@ -758,42 +759,42 @@ static void record_dev_used_time(void)
***********************************************************************/
#define Spake_Continue_Time_ms 100
#define Spake_Interval_Time_ms 300
static u8 Spake_Flag = 0;
static u8 Spake_Flag = 0;
static u16 Spake_Count = 0;
static u8 LED_FLASH_Flag = 0;
static void spake_control_loop(void)
{
}
static void Spake_Control(void)
{
static u16 i = 0;
if(Spake_Flag)
{
i++;
if(Oled_Display_Info.net_work_flage == IN_LINE)
Spake_Count++;
if(Oled_Display_Info.net_work_flage != OUT_LINE)
{
if(i == 1)
if(Spake_Count == 1)
{
PWM_ConfigOutputChannel(PWM, 0, 1000, 70);
//printf("##111spake_control_loop i = %d,ON\n",i);
}
if(i == Spake_Continue_Time_ms)
if(Spake_Count == Spake_Continue_Time_ms)
{
PWM_ConfigOutputChannel(PWM, 0, 1000, 0);
i = 0;
Spake_Count = 0;
Spake_Flag = 0;
}
}
else{
if((i == 1)||(i == (Spake_Continue_Time_ms+Spake_Interval_Time_ms) ))
if((Spake_Count == 1)||(Spake_Count == (Spake_Continue_Time_ms+Spake_Interval_Time_ms) ))
{
PWM_ConfigOutputChannel(PWM, 0, 1000, 70);
}
if((i == (2*Spake_Continue_Time_ms+Spake_Interval_Time_ms) ) ||( i == Spake_Continue_Time_ms) )
if((Spake_Count == (2*Spake_Continue_Time_ms+Spake_Interval_Time_ms) ) ||( Spake_Count == Spake_Continue_Time_ms) )
{
PWM_ConfigOutputChannel(PWM, 0, 1000, 0);
if(i == 2*Spake_Continue_Time_ms+Spake_Interval_Time_ms)
if(Spake_Count == 2*Spake_Continue_Time_ms+Spake_Interval_Time_ms)
{
i = 0;
Spake_Count = 0;
Spake_Flag = 0;
}
......@@ -801,22 +802,22 @@ static void Spake_Control(void)
}
}
}
static u16 led_count = 0;
static void LED_Flash_Control(void)
{
static u16 i = 0;
if(LED_FLASH_Flag)
{
i++;
if((i == 1)||(i == 400)||(i == 800))
led_count++;
if((led_count == 1)||(led_count == 400)||(led_count == 800))
{
LED3 = 0;
}
if((i == 200)||(i == 600)||(i == 1000))
if((led_count == 200)||(led_count == 600)||(led_count == 1000))
{
LED3 = 1;
if(i == 1000)
if(led_count == 1000)
{
i = 0;
led_count = 0;
LED_FLASH_Flag = 0;
}
}
......@@ -825,6 +826,7 @@ static void LED_Flash_Control(void)
void ChildLockLedFlash(void)
{
LED_FLASH_Flag = 1;
led_count = 0;
}
extern void delay_confirm_system_mode(void);
void delay_confirm_system_control(u8 start)
......@@ -878,9 +880,7 @@ void setup_handler(void)
//未老化完成,则进入老化阶段
if(Oled_Display_Info.aging_test_flag == 0)
aging_test_start();
temp_init();
//上电显示
Detect_Human_Dispaly();
}
......@@ -1118,7 +1118,7 @@ static void delay_300ms_report_task(void)
{
delay_300ms_report_stop();
proximity_triagger_report(); //单板产测上报
if(Oled_Display_Info.net_work_flage == IN_LINE)
if(Oled_Display_Info.net_work_flage != OUT_LINE)
proximity_triagger_report_zigbee(); //整机产测上报
//printf("start report proximity_triagger event\r\n");
......@@ -1144,8 +1144,8 @@ static void task_exit_aging_test(void)
void Spake_Start(void)
{
//task_comps[3].task_switch = SWITCH_ON;
Spake_Flag = 1;
Spake_Count = 0;
}
void Ararm_Init(void)
......@@ -1603,7 +1603,7 @@ void zero_check_init(void)
#if DEVICE_TYPE_FLOOR_HEATING
wind_open_time = 330;
wind_close_time = 250;
wind_close_time = 500;
#elif DEVICE_TYPE_FAN
......@@ -1891,8 +1891,8 @@ void transparent_data_analyze(PROTOCOL_DEAL recv_data)
case _OPCODE_QUERY_NET_STATE: //网络状态查询
{
if( (kNetIndicatorIsBlinking() ) &&(((recv_data.ARG[1] == IN_LINE)&&(Oled_Display_Info.net_work_flage ==OUT_LINE ) )||
((recv_data.ARG[1] == OUT_LINE)&&(Oled_Display_Info.net_work_flage ==IN_LINE ) ))) //是否在闪烁
if( (kNetIndicatorIsBlinking() ) &&(((recv_data.ARG[1] != OUT_LINE)&&(Oled_Display_Info.net_work_flage ==OUT_LINE ) )||
((recv_data.ARG[1] == OUT_LINE)&&(Oled_Display_Info.net_work_flage != OUT_LINE ) ))) //是否在闪烁
{
memset(arg_data,0,sizeof(arg_data));
network_state_machine(recv_data.ARG[1]);
......
......@@ -11,7 +11,7 @@ extern Lcd_Status_Info_t LCDShowTemp_state_t;
#elif DEVICE_TYPE_FLOOR_HEATING
OLED_ALL_DSD Oled_Display_Info = { 2,0,2,0,0,0x11,0,0,0,0,{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},{1,0,0,0,260,0,3,0,5,0,2,1,0,0,3000,0,0xff,0xff,0},{1,0,0,0,260,0,2,0,DEV_TYPE,0,0,0},{1,0,0,0,0,2,1,0,0,0,3000,0}};
#elif DEVICE_TYPE_FAN
OLED_ALL_DSD Oled_Display_Info = { 3,0,3,0,0,0x12,0,0,0,0,{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},{1,0,0,0,260,0,3,0,5,0,2,1,0,0,3000,0,0xff,0xff,0},{1,0,0,0,260,0,2,0,0,0,0,0},{1,0,0,0,0,2,1,0,0,0,3000,0}};
OLED_ALL_DSD Oled_Display_Info = { 3,0,3,0,0,0x13,0,0,0,0,{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},{1,0,0,0,260,0,3,0,5,0,2,1,0,0,3000,0,0xff,0xff,0},{1,0,0,0,260,0,2,0,0,0,0,0},{1,0,0,0,0,2,1,0,0,0,3000,0}};
#endif
Key_Operation_Status gKey_Press_Info = {0};
// .device_type = 1, //AIR_CONDITION
......@@ -84,14 +84,10 @@ void Display_poweroff_time(u8 display_time)
LCDShowTemp_state_t.LCD_place = SETTING_TIMER_DISPLAY;
LCDShowTemp_state_t.LCD_state = ON;
LcdShowCTR(LCDShowTemp_state_t);
//显示H图标
LCDShowTemp_state_t.LCD_place = H_CHAR_DISPLAY;
LCDShowTemp_state_t.LCD_state = ON;
LcdShowCTR(LCDShowTemp_state_t);
//显示设定时长字符图标
LCDShowTemp_state_t.LCD_place = SETTING_TIMER_CHAR_DISPLAY;
LCDShowTemp_state_t.LCD_state = ON;
LCDShowTemp_state_t.LCD_state = OFF;
LcdShowCTR(LCDShowTemp_state_t);
LCDShowTemp_state_t.LCD_place = UPPER_TEMPER_UNIT_DISPLAY;
......@@ -101,7 +97,7 @@ void Display_poweroff_time(u8 display_time)
/*************************************************
显示当前温度
***************************************************/
void Display_Current_Temper(u16 temper)
void Display_Current_Temper(s16 temper)
{
LCDShowTemp_state_t.LCD_place = DELAY_OFF_TIME_DISPLAY;
LCDShowTemp_state_t.LCD_state = ON;
......@@ -116,7 +112,7 @@ void Display_Current_Temper(u16 temper)
/*************************************************
显示中间三个数据
***************************************************/
static void Display_Middle_Digtal(u8 control_bits,int data )
static void Display_Middle_Digtal(u8 control_bits,s16 data )
{
static u8 temp[3] = {0};
static u8 is_dispaly[3] = {0};
......@@ -124,9 +120,21 @@ static void Display_Middle_Digtal(u8 control_bits,int data )
memset(is_dispaly,0,3);
if(control_bits == 0x07) //显示三个字段
{
temp[0] = data / 100;
temp[1] = (data / 10) % 10;
temp[2] =data % 10;
if(data >=0)
{
temp[0] = data / 100;
temp[1] = (data / 10) % 10;
temp[2] =data % 10;
}
else
{
u16 temp1 = 0;
temp1 = (65536 - (s16)data);
temp[0] = 16; //显示符号
temp[1] = (temp1 / 10) % 10;
temp[2] = (temp1 % 10);
}
is_dispaly[0] = is_dispaly[1] = is_dispaly[2] = 1;
}
else if(control_bits == 0x02) //显示中间字段
......@@ -195,7 +203,7 @@ void display_error(u8 error_value)
display_mode 0 代表正常模式;
1 代表风速模式
***************************************************/
void display_set_temp(u8 display_mode,int temp_value,u8 ararm_f)
void display_set_temp(u8 display_mode,s16 temp_value,u8 ararm_f)
{
if(display_mode == 0)
{
......@@ -454,7 +462,10 @@ void Operate_Led_Button(u8 device_type,u8 on_off)
{
if(on_off)
{
Control_LED_ON_OFF(0x3D);
if(Oled_Display_Info.aging_test_flag == 2)
Control_LED_ON_OFF(0x3D);
else
Control_LED_ON_OFF(0x3F);
}
else
Control_LED_ON_OFF(0x00);
......@@ -531,9 +542,9 @@ void Display_Up_Contend(u8 device_type)
{
display_error(Oled_Display_Info.FAN_Device.error);
}
else if((Oled_Display_Info.is_dispaly_cur_temp))
else if(Oled_Display_Info.is_dispaly_cur_temp)
{
Display_Current_Temper(Oled_Display_Info.FAN_Device.real_temperature);
Display_Current_Temper(Oled_Display_Info.FAN_Device.real_temperature);
}
}
}
......@@ -657,11 +668,11 @@ void Oled_Display_whole(void)
Floor_Heating_Oled_Display();
else if(Oled_Display_Info.screen_page == FAN)
Fan_Oled_Display();
/********************************************
ZigBee信号图标
*********************************************/
if (Oled_Display_Info.net_work_flage == IN_LINE)
if (Oled_Display_Info.net_work_flage != OUT_LINE)
{
LCDShowTemp_state_t.LCD_place = ZIGBEE_NET_CAHR_DISPLAY;
LCDShowTemp_state_t.LCD_state = ON;
......@@ -743,7 +754,7 @@ void PowerOff(void)
/********************************************
ZigBee信号图标
*********************************************/
if (Oled_Display_Info.net_work_flage == IN_LINE)
if (Oled_Display_Info.net_work_flage != OUT_LINE)
{
LCDShowTemp_state_t.LCD_place = ZIGBEE_NET_CAHR_DISPLAY;
LCDShowTemp_state_t.LCD_state = ON;
......@@ -829,7 +840,7 @@ void EnterScreenSaveMode(void)
*********************************************/
Displayt_System_Mode(Oled_Display_Info.Air_Device.system_type);
if (Oled_Display_Info.net_work_flage == IN_LINE)
if (Oled_Display_Info.net_work_flage != OUT_LINE)
{
LCDShowTemp_state_t.LCD_place = ZIGBEE_NET_CAHR_DISPLAY;
LCDShowTemp_state_t.LCD_state = ON;
......@@ -865,7 +876,7 @@ void EnterScreenSaveMode(void)
*********************************************/
Displayt_System_Mode(Oled_Display_Info.FLOOR_Device.system_type);
if (Oled_Display_Info.net_work_flage == IN_LINE)
if (Oled_Display_Info.net_work_flage != OUT_LINE)
{
LCDShowTemp_state_t.LCD_place = ZIGBEE_NET_CAHR_DISPLAY;
LCDShowTemp_state_t.LCD_state = ON;
......@@ -900,7 +911,7 @@ void EnterScreenSaveMode(void)
*********************************************/
Displayt_System_Mode(Oled_Display_Info.FAN_Device.system_type);
if (Oled_Display_Info.net_work_flage == IN_LINE)
if (Oled_Display_Info.net_work_flage != OUT_LINE)
{
LCDShowTemp_state_t.LCD_place = ZIGBEE_NET_CAHR_DISPLAY;
LCDShowTemp_state_t.LCD_state = ON;
......@@ -939,11 +950,7 @@ void Detect_Human_Dispaly(void)
{
if(Oled_Display_Info.FLOOR_Device.on_off)
{
//15minà??ˉ?×??£?è?????ê?μ?
if(Oled_Display_Info.aging_test_flag == 2)
Operate_Led_Button(FLOOR_HEATING,1); // ??ê??é2ù×÷μ?°′?ü
else
Operate_Led_Button(AIR_CONDITION,1);
Operate_Led_Button(FLOOR_HEATING,1);
Oled_Display_whole();
}
else{
......@@ -1167,6 +1174,18 @@ void Fan_speed_and_direct_control(u8 windspeed_onoff,u8 winddirect_onoff)
LCDShowTemp_state_t.LCD_state = windspeed_onoff;
LcdShowCTR(LCDShowTemp_state_t);
}
void Reset_Flash_Time_10s(void)
{
LCDShowTemp_state_t.LCD_place = WIND_SPEED_CHAR_DISPLAY; //风速
LCDShowTemp_state_t.LCD_state = ON;
LcdShowCTR(LCDShowTemp_state_t);
LCDShowTemp_state_t.LCD_place = WIND_SPEED_CHAR_DISPLAY; //风速
LCDShowTemp_state_t.LCD_state = FLASHING;
LCDShowTemp_state_t.LCD_display_timer = 500/10; //500ms 一次
LCDShowTemp_state_t.LCD_display_count = 20;
LcdShowCTR(LCDShowTemp_state_t);
}
/*************************************************
短按风扇按键操作空调模式
***************************************************/
......@@ -1182,13 +1201,7 @@ void Fan_Button_Handler(void)
Fan_speed_and_direct_control(1,0);
display_wind_direct(0,0,0); //关闭风向显示
LCDShowTemp_state_t.LCD_place = WIND_SPEED_CHAR_DISPLAY; //风速
LCDShowTemp_state_t.LCD_state = FLASHING;
LCDShowTemp_state_t.LCD_display_timer = 500/10; //500ms 一次
LCDShowTemp_state_t.LCD_display_count = 20;
LcdShowCTR(LCDShowTemp_state_t);
Reset_Flash_Time_10s();
gKey_Press_Info.adjust_fan_speed_status = 1;
if(Oled_Display_Info.screen_page == AIR_CONDITION)
{
......@@ -1393,7 +1406,7 @@ void Set_CMD_Handler(u8 device_type,u16 opcode,u8 *arg,u8 arg_len)
arg[1] = child_lock;
Oled_Display_Info.Air_Device.lock_flage = child_lock;
if(Get_Display_Status())
if(!IsLcdEnterScreenSave())
display_child_lock(child_lock);
save_data(); //保存token
arg[0] = 0;
......@@ -1421,7 +1434,10 @@ void Set_CMD_Handler(u8 device_type,u16 opcode,u8 *arg,u8 arg_len)
if( (Get_Display_Status())&&(delay_off_time >0) )
Display_poweroff_time(delay_off_time);
else if((Get_Display_Status())&&(delay_off_time ==0)&&(Oled_Display_Info.Air_Device.power_off_flage))
{
Delay_OFF_Rel_Display(1,0,NULL,0,0,0);
Display_Up_Contend(AIR_CONDITION);
}
if(delay_off_time >0)
Oled_Display_Info.Air_Device.power_off_flage = 1;
......@@ -1625,7 +1641,7 @@ void Set_CMD_Handler(u8 device_type,u16 opcode,u8 *arg,u8 arg_len)
arg[1] = child_lock;
Oled_Display_Info.FLOOR_Device.lock_flage = child_lock;
if(Get_Display_Status())
if(!IsLcdEnterScreenSave())
display_child_lock(child_lock);
state_change_report(OPCODE_GENERAL_REPORT_STATUS,2);
......@@ -1654,7 +1670,10 @@ void Set_CMD_Handler(u8 device_type,u16 opcode,u8 *arg,u8 arg_len)
if( (Get_Display_Status())&&(delay_off_time >0) )
Display_poweroff_time(delay_off_time);
else if((Get_Display_Status())&&(delay_off_time ==0)&&(Oled_Display_Info.FLOOR_Device.power_off_flage))
{
Delay_OFF_Rel_Display(1,0,NULL,0,0,0);
Display_Up_Contend(FLOOR_HEATING);
}
if(delay_off_time >0)
Oled_Display_Info.FLOOR_Device.power_off_flage = 1;
......@@ -1846,7 +1865,7 @@ void Set_CMD_Handler(u8 device_type,u16 opcode,u8 *arg,u8 arg_len)
break;
}
Oled_Display_Info.FAN_Device.lock_flage = child_lock;
if((sBacklight.blacklight_flag)&&(Oled_Display_Info.screen_page == 3))
if(!IsLcdEnterScreenSave())
display_child_lock(child_lock);
save_data(); //保存token
state_change_report(OPCODE_GENERAL_REPORT_STATUS,3);
......@@ -1873,7 +1892,10 @@ void Set_CMD_Handler(u8 device_type,u16 opcode,u8 *arg,u8 arg_len)
if( (Get_Display_Status() ) &&(delay_off_time >0))
Display_poweroff_time(delay_off_time);
else if((Get_Display_Status())&&(delay_off_time ==0)&&(Oled_Display_Info.FAN_Device.power_off_flage))
{
Delay_OFF_Rel_Display(1,0,NULL,0,0,0);
Display_Up_Contend(FAN);
}
if(delay_off_time >0)
Oled_Display_Info.FAN_Device.power_off_flage = 1;
......@@ -2059,7 +2081,7 @@ u8 Key_Operate_Config_Operation(u8 keyid,u8 keyEvent)
{
u8 data = 0;
//恢复出厂 设备离网
if(Oled_Display_Info.net_work_flage == IN_LINE)
if(Oled_Display_Info.net_work_flage != OUT_LINE)
Send_Device_Data(0,_OPCODE_SET_NET_STATE,&data,1);
//token 值恢复默认
Oled_Display_Info.is_dispaly_cur_temp = 0;
......
......@@ -308,6 +308,7 @@ void hardware_init(void)
Setup_Task_Start();
//fmc test
recover_current_state();
#if DEVICE_TYPE_FAN
if(Oled_Display_Info.aging_test_flag == 2)
{
......@@ -321,6 +322,7 @@ void hardware_init(void)
#endif
GPIO_init();
temp_init();
#if (DEVICE_TYPE_FLOOR_HEATING || DEVICE_TYPE_FAN)
Tap_Init();
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment