diff --git a/.vscode/settings.json b/.vscode/settings.json index 5c980f3..0fd492b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,6 +8,11 @@ "bsp_config.h": "c", "ttss_task.h": "c", "ttss_tick.h": "c", - "main.h": "c" + "main.h": "c", + "task_lowpower.h": "c", + "task_bedalarm.h": "c", + "asp_lowpower.h": "c", + "debug_drv.h": "c", + "task_screen_save.h": "c" } } \ No newline at end of file diff --git a/keilp/stcTTSS2_W5.uvguix.Administrator b/keilp/stcTTSS2_W5.uvguix.Administrator index 8d9fa0d..b5d7bf4 100644 --- a/keilp/stcTTSS2_W5.uvguix.Administrator +++ b/keilp/stcTTSS2_W5.uvguix.Administrator @@ -1,7 +1,7 @@ - -6.1 + -5.1
### uVision Project, (C) Keil Software
@@ -11,17 +11,17 @@ 38003 Registers - 115 67 + 115 275 346 Code Coverage - 770 160 + 850 160 204 Performance Analyzer - 930 + 1010 @@ -30,25 +30,25 @@ 1506 Symbols - 64 64 64 + 133 133 133 1936 Watch 1 - 200 133 133 + 133 133 133 1937 Watch 2 - 200 133 133 + 133 133 133 1935 Call Stack + Locals - 200 133 133 + 133 133 133 2506 @@ -56,16 +56,8 @@ 75 135 130 95 70 230 200 150 - - 466 - Source Browser - 500 - 300 - - - 1 @@ -91,17 +83,17 @@ -1 - 0 - 395 - 1547 - 593 + 87 + 312 + 1752 + 874 0 - 352 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000002000000000000000100000042433A5C55736572735C41646D696E6973747261746F725C4465736B746F705C5765696768742D464C545C736F757263655C6170705C7461736B5F73637265656E2E63000000000D7461736B5F73637265656E2E6300000000C5D4F200FFFFFFFF3B433A5C55736572735C41646D696E6973747261746F725C4465736B746F705C5765696768742D464C545C736F757263655C6170705C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000000D01000066000000000600004D020000 + 296 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000002000000000000000100000026453A5C5765696768742D464C545C736F757263655C6170705C7461736B5F73637265656E2E63000000000D7461736B5F73637265656E2E6300000000BECEA100FFFFFFFF1F453A5C5765696768742D464C545C736F757263655C6170705C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F7000000660000008007000069030000 @@ -120,11 +112,11 @@ 0 16 - C40000004F00000070040000BD000000 + 940100004F00000090050000DF000000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -140,11 +132,11 @@ 0 16 - 0300000066000000060100001D020000 + 0300000066000000F000000039030000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -160,11 +152,11 @@ 0 16 - 0300000066000000060100001D020000 + 0300000066000000F000000039030000 16 - 3C000000530000001F0100000F020000 + F2000000090100000E02000049030000 @@ -180,11 +172,11 @@ 0 16 - 00000000A90100007004000017020000 + 000000002D02000090050000BD020000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -200,11 +192,11 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000300200008D05000090020000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -220,11 +212,11 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000300200008D05000090020000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -240,11 +232,11 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000300200008D05000090020000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -260,11 +252,11 @@ 0 16 - B3030000660000006D040000D6000000 + 03040000660000008D050000C6010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -280,11 +272,11 @@ 0 16 - C7000000660000006D040000A4000000 + 940100006300000090050000DF000000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -300,11 +292,11 @@ 0 16 - 03000000AC0100006D040000FE010000 + 03000000300200008D050000A4020000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -320,11 +312,11 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000300200008D05000090020000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -340,11 +332,11 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000300200008D05000090020000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -360,11 +352,11 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000300200008D05000090020000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -380,11 +372,11 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000300200008D05000090020000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -400,11 +392,11 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000300200008D05000090020000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -420,11 +412,11 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000300200008D05000090020000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -440,11 +432,11 @@ 0 16 - 0300000066000000060100001D020000 + 0300000066000000F000000039030000 16 - 3C000000530000001F0100000F020000 + F2000000090100000E02000049030000 @@ -460,11 +452,11 @@ 0 16 - 0300000066000000060100001D020000 + 0300000066000000F000000039030000 16 - 3C000000530000001F0100000F020000 + F2000000090100000E02000049030000 @@ -480,11 +472,11 @@ 0 16 - 000000004E020000000600000E030000 + 000000006A03000080070000E6030000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -500,11 +492,11 @@ 0 16 - 00000000950100007004000017020000 + 000000001902000090050000BD020000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -520,11 +512,11 @@ 0 16 - 03000000510200006D0400008F020000 + 030000006D0300008D050000CD030000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -540,11 +532,11 @@ 0 16 - C40000006300000070040000BD000000 + 940100006300000090050000DF000000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -560,11 +552,11 @@ 0 16 - C7000000660000006D040000A4000000 + 97010000660000008D050000C6000000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -600,11 +592,11 @@ 0 16 - B00300006300000070040000A5010000 + 00040000630000009005000029020000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -620,11 +612,11 @@ 0 16 - 00000000A90100007004000003020000 + 000000002D02000090050000A9020000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -640,11 +632,11 @@ 0 16 - C7000000660000006D040000A4000000 + 97010000660000008D050000C6000000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -660,31 +652,11 @@ 0 16 - C7000000660000006D040000A4000000 - - - 16 - 3C0000005300000074020000C1000000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C40000006300000070040000BD000000 + 97010000660000008D050000C6000000 16 - 3C00000053000000FC000000F3000000 + F200000009010000BA03000099010000 @@ -700,11 +672,11 @@ 0 16 - C7000000660000006D040000A4000000 + 97010000660000008D050000C6000000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -720,11 +692,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -740,11 +712,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -760,11 +732,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -780,11 +752,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -800,11 +772,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -820,11 +792,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -840,11 +812,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -860,11 +832,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -880,11 +852,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -900,11 +872,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -920,11 +892,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -940,11 +912,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -960,11 +932,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -980,11 +952,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -1000,11 +972,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -1020,11 +992,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -1040,11 +1012,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -1060,11 +1032,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -1080,11 +1052,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -1100,11 +1072,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -1120,11 +1092,11 @@ 0 16 - B3030000660000006D0400001A010000 + 03040000660000008D0500007C010000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -1140,11 +1112,11 @@ 0 16 - 0300000066000000BD000000FE010000 + 03000000660000008D010000A4020000 16 - 3C000000530000001F0100000F020000 + F2000000090100000E02000049030000 @@ -1160,11 +1132,11 @@ 0 16 - 000000004E02000070040000A8020000 + 000000006A03000090050000E6030000 16 - 3C0000005300000074020000C1000000 + F200000009010000BA03000099010000 @@ -1180,11 +1152,11 @@ 0 16 - 03000000510200006D0400008F020000 + 030000006D0300008D050000CD030000 16 - 3C000000530000001F0100000F020000 + F2000000090100000E02000049030000 @@ -1200,11 +1172,11 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000300200008D05000090020000 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -1220,471 +1192,11 @@ 0 16 - 03000000AC0100006D040000EA010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000510200006D0400008F020000 - - - 16 - 3C000000530000001F0100000F020000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000510200006D0400008F020000 - - - 16 - 3C000000530000001F0100000F020000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000A4000000 - - - 16 - 3C0000005300000074020000C1000000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 + 03000000300200008D05000090020000 16 - 3C00000053000000FC000000F3000000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400001A010000 - - - 16 - 3C00000053000000FC000000F3000000 + F2000000090100008202000099020000 @@ -1700,7 +1212,7 @@ 0 16 - 0000000000000000C40300001C000000 + 0000000000000000B70300001C000000 16 @@ -1720,7 +1232,7 @@ 0 16 - 000000000E0300000006000021030000 + 00000000E603000080070000F9030000 16 @@ -1740,7 +1252,7 @@ 1 16 - 000000001C000000E701000038000000 + 000000001C000000DA01000038000000 16 @@ -1767,36 +1279,16 @@ 0A0000000A0000006E0000006E000000 - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000AC0100006D040000EA010000 - - - 16 - 3C00000053000000FC000000F3000000 - - - 3317 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000003C0000005300000074020000C1000000C40000004F00000070040000BD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000003C00000053000000FC000000F3000000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF090100004F0000000D0100003602000001000000020000100400000001000000DAFEFFFFCF040000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000003C00000053000000FC000000F3000000000000004F00000009010000360200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000091010000700400009501000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000003C00000053000000FC000000F30000000000000095010000700400001702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000036020000000600003A02000001000000010000100400000001000000B8FDFFFF6C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000003C0000005300000074020000C1000000000000003A020000000600000E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 2619 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000DF00000090050000E3000000000000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000F200000009010000BA03000099010000940100004F00000090050000DF0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFFC0300004F0000000004000029020000000000000200001004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000001800040000000000000F2000000090100008202000099020000000400004F00000090050000290200000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF30000004F000000F7000000520300000100000002000010040000000100000072FEFFFFE7050000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000F2000000090100008202000099020000000000004F000000F3000000520300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000F2000000090100008202000099020000000000001902000090050000BD02000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000520300008007000056030000010000000100001004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000F200000009010000BA03000099010000000000005603000080070000E60300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2271 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000A6C65645F737461747573960000000000000004000A6C65645F7374617475730652585F436E7407425F52585F4F4B05707562773200000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 + 2357 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000077072696E74663196000000000000001400077072696E7466310C4C335F7461736B5F735F676F0C6273705F626C65645F736574024C3004656C73650EE58FAFE58F98E6B3A2E789B9E78E0FE58FAFE58F98E6B3A2E789B9E78E3F094C305F74696D6572300764656275676F6B0D445F7379735F4A69666669657311545950455F4A4946464945535F32354D5309636D64206572726F7218E5AE9AE4B989E68EA5E694B6E5A484E79086E58D8FE8AEAE1AE5AE9AE4B989E68EA5E694B6E5A484E79086E58D8FE8AEAE466604636D642004307833351B74735F557265635B445F55415254315D2E6F76657274696D655F741574735F557265635B445F55415254315D2E69646C651374735F557265635B445F55415254315D2E6F6B0270640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 1423 @@ -1811,8 +1303,8 @@ 59399 Build - 982 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000B5354433848334B36345332960000000000000001000B5354433848334B36345332000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 + 684 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000B5354433848334B36345332960000000000000001000B5354433848334B36345332000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 583 @@ -1827,8 +1319,8 @@ 59400 Debug - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 + 2220 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 898 @@ -1841,8 +1333,8 @@ 0 - 1536 - 864 + 1920 + 1080 @@ -1855,18 +1347,18 @@ 0 ..\source\app\task_screen.c - 20 - 57 - 70 + 72 + 130 + 146 1 0 ..\source\app\main.c - 25 - 110 - 120 + 0 + 3 + 22 1 0 diff --git a/keilp/stcTTSS2_W5.uvoptx b/keilp/stcTTSS2_W5.uvoptx index 8e4e5b6..f7fb5db 100644 --- a/keilp/stcTTSS2_W5.uvoptx +++ b/keilp/stcTTSS2_W5.uvoptx @@ -8,7 +8,7 @@ *.c *.s*; *.src; *.a* - *.obj + *.obj; *.o *.lib *.txt; *.h; *.inc *.plm @@ -100,9 +100,6 @@ 1 0 0 - 1 - 0 - 0 -1 @@ -149,16 +146,6 @@ 0 - 0 - 0 - - - - - - - - @@ -173,6 +160,7 @@ 1 1 0 + 1 0 0 ..\source\app\app_weight.c @@ -185,6 +173,7 @@ 2 1 0 + 1 0 0 ..\source\app\main.c @@ -197,6 +186,7 @@ 3 1 0 + 1 0 0 ..\source\app\app_config.c @@ -209,6 +199,7 @@ 4 1 0 + 1 0 0 ..\source\app\task_screen.c @@ -229,6 +220,7 @@ 5 1 0 + 1 0 0 ..\source\asp\asp_schain.c @@ -241,6 +233,7 @@ 6 1 0 + 1 0 0 ..\source\asp\asp_lowpower.c @@ -261,6 +254,7 @@ 7 2 0 + 1 0 0 ..\source\cpu\STARTUP.A51 @@ -273,6 +267,7 @@ 8 1 0 + 1 0 0 ..\source\cpu\stc_8_delay.c @@ -293,6 +288,7 @@ 9 1 0 + 1 0 0 ..\source\msp\uart\msp_uartN.c @@ -305,6 +301,7 @@ 10 1 0 + 1 0 0 ..\source\msp\msp_time2.c @@ -317,6 +314,7 @@ 11 1 0 + 1 0 0 ..\source\msp\uart\msp_uart1.c @@ -329,6 +327,7 @@ 12 1 0 + 1 0 0 ..\source\msp\msp_iicMx.c @@ -341,6 +340,7 @@ 13 1 0 + 1 0 0 ..\source\msp\msp_eeprom.c @@ -353,6 +353,7 @@ 14 1 0 + 1 0 0 ..\source\msp\msp_adc.c @@ -373,6 +374,7 @@ 15 1 0 + 1 0 0 ..\source\bsp\TTSSbsp\bsp_config.c @@ -385,6 +387,7 @@ 16 1 0 + 1 0 0 ..\source\bsp\bsp_led.c @@ -397,6 +400,7 @@ 17 1 0 + 1 0 0 ..\source\bsp\bsp_cs1232.c @@ -417,6 +421,7 @@ 18 1 1 + 1 0 0 ..\source\ctask\TTSS_task.c @@ -429,6 +434,7 @@ 19 1 0 + 1 0 0 ..\source\ctask\TTSS_tick.c @@ -441,6 +447,7 @@ 20 1 0 + 1 0 0 ..\source\ctask\TTSS_time_stc.c @@ -461,6 +468,7 @@ 21 1 0 + 1 0 0 ..\source\tpc\tpc_road.c @@ -481,6 +489,7 @@ 22 1 1 + 1 0 0 ..\source\clib\c_lib.c @@ -493,6 +502,7 @@ 23 1 0 + 1 0 0 ..\source\clib\c_delay.c @@ -513,6 +523,7 @@ 24 5 0 + 1 0 0 ..\source\debug\cc_as_stc01_main.ini @@ -525,6 +536,7 @@ 25 1 0 + 1 0 0 ..\source\debug\debug_drv.c diff --git a/keilp/stcTTSS2_W5.uvprojx b/keilp/stcTTSS2_W5.uvprojx index 46929d0..bd67878 100644 --- a/keilp/stcTTSS2_W5.uvprojx +++ b/keilp/stcTTSS2_W5.uvprojx @@ -10,7 +10,6 @@ STC8H3K64S2 0x0 MCS-51 - 0 STC8H3K64S4 Series @@ -124,6 +123,47 @@ 0 16 + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + + 0 + -1 + + + + + + + + + + + + + + + @@ -177,14 +217,12 @@ 0 0 0 - 0 0 0 0 0 0 0 - 0 0 0 0 @@ -254,16 +292,6 @@ 0x0 0x0 - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - diff --git a/source/app/app_config.c b/source/app/app_config.c index 6b4a828..06b4e31 100644 --- a/source/app/app_config.c +++ b/source/app/app_config.c @@ -24,9 +24,6 @@ void L3_reg_reset(void) //网络状态 00 联网 01 断网 R.net_status = NET_STATUS_NOTCONNECT; - //充电状态 - R.charge_status = KLJ_CHARGE_STATUS_NORMAL; - //电量百分比 R.dl = 0; @@ -37,19 +34,23 @@ void L3_reg_reset(void) R.danwei = KG; //蜂鸣器 - R.beep = 0; - - //校时标志位 - R.setime_flag = 0; - - //实时时钟数据初始化 - R.ds1302.second = 0; - R.ds1302.miunte = 0; - R.ds1302.hour = 0; - R.ds1302.day = 0; - R.ds1302.month = 0; - R.ds1302.week = 0; - R.ds1302.year = 0; + R.beep = beep_off; + + //蜂鸣器开启时间 + R.beep_startime = 0; + + //离床报警开启标志 + R.LeaveForbid_flag = 0; + + // 手动解除报警标志 + R.ForbidDelate_flag = 0; + + // 屏幕按键按下标志 + R.ScrTouch_flag = 0; + + // 记录每次屏幕按下时间 + R.ScrTouch_time = 0; + } void L3_reg_init(void) diff --git a/source/app/app_config.h b/source/app/app_config.h index 7b082ec..f3f2787 100644 --- a/source/app/app_config.h +++ b/source/app/app_config.h @@ -15,17 +15,20 @@ #define POWER_NORMAL 0 #define POWER_LOW 1 -#define KLJ_CHARGE_STATUS_NORMAL 0 -#define KLJ_CHARGE_STATUS_CHARGING 1 +#define LeaveForbid_OPEN 1 //1 打开报警,0 不打开 +#define LeaveForbid_OFF 0 // #define RFID_FREE_NO 0x00FA #define NET_STATUS_NOTCONNECT 1 #define NET_STATUS_CONNECTED 0 -#define KG 0 +#define KG 0 //0 KG; 1 磅 #define lb 1 +#define beep_on 1 //1 开启,0 关闭 +#define beep_off 0 + enum tp_handle { TP_HANDLED, @@ -196,57 +199,40 @@ typedef struct global_register U16 sensor_adc[4]; U16 kgx10_out; U16 adc16; - } weight; - - //网络状态 - U8 net_status; + U16 last; + U16 differ; + } weight; + //电量 U8 dl; - //充电状态 - U8 charge_status; - - //功耗模式 - U8 power_mode; - + //网络状态 + U8 net_status; + //单位 U8 danwei; //蜂鸣器 U8 beep; + //蜂鸣器开启时间 + U32 beep_startime; //离床报警开启标志 U8 LeaveForbid_flag; - //重量补偿开启标志 - U8 WeightKeep_flag; - - // //180s无操作 - // U8 power_mode; - - // //最后收到服务器数据时间 - // U32 net_last_recv_time; - - // //称重保持 - // U8 weight_keep_flag; - // U16 weight_keep_kgx10; + //离床报警手动解除标志 + U8 ForbidDelate_flag; + + //功耗模式 + U8 power_mode; - //校时标志 - U8 setime_flag; + //屏幕按键按下标志 + U8 ScrTouch_flag; - // RTC DS1302 - struct - { - U8 second; - U8 miunte; - U8 hour; - U8 day; - U8 month; - U8 week; - U8 year; - } ds1302; + //屏幕按键按下时间 + U32 ScrTouch_time; } GlobalRegister; @@ -296,6 +282,8 @@ extern void L3_S_2_R(void); extern void L3_R_2_S(void); +extern void L3_reg_init(void); + diff --git a/source/app/main.c b/source/app/main.c index 8c862c4..2b42be3 100644 --- a/source/app/main.c +++ b/source/app/main.c @@ -57,13 +57,14 @@ void L0_RTC_init(void) void L0_main_initled(void) { D_LED1_OFF(); + //D_LED2_ON(); - // D_LED2_ON(); + L3_reg_init(); TTSS_run_times(6) { D_LED1_REV(); - // D_LED2_REV(); + //D_LED2_REV(); Lc_delay_ms(300); } } @@ -93,6 +94,7 @@ void L0_main_init(void) //=============================================== void main(void) { + int tpc_flag = 0; u16 a= 0; char d[9]={0xab}; @@ -112,16 +114,17 @@ void main(void) // L1_uartD_uc('.'); // D_LED2_REV(); } - - // TTSS_run_every(s_nos_tick.stamp,40) - // D_LED1_REV(); - // L4_weight_out(); - // ///55 0D 0C 90 F5 77 FF 52 80 00 00 00 33 - // TTSS_run_every_end - - if(L2_debug_ONcomand()) + + if((tpc_flag = L2_debug_ONcomand())) { - L3_weight_ONdebug(D_cmd_filter_weight);///fe xx xx/// + if(tpc_flag == 1) + { + L3_weight_ONdebug(D_cmd_filter_weight);///fe xx xx/// + } + else if(tpc_flag == 2) + { + parse_screen_pkg();///fe xx xx/// + } } L3_task_weight_handler(&tst_weight); diff --git a/source/app/task_bedalarm.c b/source/app/task_bedalarm.c new file mode 100644 index 0000000..18dd1fd --- /dev/null +++ b/source/app/task_bedalarm.c @@ -0,0 +1,80 @@ +//////////////////////////////////////////////////////////////////////////// +///@copyright Copyright (c) 2018, 传控科技 All rights reserved. +///------------------------------------------------------------------------- +/// @file bsp_drv.c +/// @brief bsp @ driver config +///------------------------------------------------------------------------- +/// @version 1.0 +/// @author CC +/// @date 20180331 +/// @note cc_AS_stc02 +////////////////////////////////////////////////////////////////////////////// + +#include "task_bedalarm.h" +#include "app_config.h" +#include "../msp/uart/msp_uart1.h" + +S_TASK_Bed_ALARM _s_task_bed_alarm; + +//============================================= +void L3_task_bed_alarm_init(void) +{ + L1_task_init(&_s_task_bed_alarm.task); + L3_task_s_go(_s_task_bed_alarm,D_task_init); +} + +#define D_task_STATUS_READ 0x50 +#define D_task_WEIGHT_READ_AGAIN 0x51 +#define D_task_ALARM_DELETE 0x52 + + +void L3_task_bed_alarm_handler(S_TASK_Bed_ALARM *s) +{ + TTSS_Task_init(): + L2_task_go(D_task_STATUS_READ); + //判定是否开启离床报警 + TTSS_Task_step(D_task_STATUS_READ): + // if(R.LeaveForbid_flag == LeaveForbid_OPEN) + // { + // R.weight.last = R.weight.kgx10_out * 10; 应该在 按键按下时,就置标志位R.LeaveForbid_flag == LeaveForbid_OPEN和获取参考点位的重量。 + // L2_task_go_Tdelay(D_task_WEIGHT_READ_AGAIN, D_Tdelay_100ms); + // } + //判定是否触发报警 + TTSS_Task_step(D_task_WEIGHT_READ_AGAIN): + R.weight.differ = R.weight.last - R.weight.kgx10_out * 10; + //触发报警 //放在该task的第二步 + if(R.weight.differ >= 100) + { + R.beep = beep_on; + R.beep_startime = D_sys_now; + L2_task_go_Tdelay(D_task_ALARM_DELETE, 0); + } + //未触发报警 + else + { + R.weight.last = R.weight.kgx10_out * 10; + L2_task_go_Tdelay(D_task_WEIGHT_READ_AGAIN, 0); + } + //判定是否解除报警 + TTSS_Task_step(D_task_ALARM_DELETE): + //手动解除 + // if(R.ForbidDelate_flag == 1) + // { + // R.beep = beep_on; + // R.beep_startime = 0; + // R.LeaveForbid_flag = LeaveForbid_OFF; 应在按键按下时,操作beep还和置位R.LeaveForbid_flag = LeaveForbid_OFF + // } + //超时解除 //放在该task的第一步 + else if(D_sys_now - R.beep_startime > D_COUNT_JIFFIES(30000)) + { + R.beep = beep_on; + R.beep_startime = 0; + R.LeaveForbid_flag = LeaveForbid_OFF; + } + L2_task_go_Tdelay(D_task_STATUS_READ, 0); + TTSS_Task_end(); +} + + + + diff --git a/source/app/task_bedalarm.h b/source/app/task_bedalarm.h new file mode 100644 index 0000000..a14f22c --- /dev/null +++ b/source/app/task_bedalarm.h @@ -0,0 +1,33 @@ +//////////////////////////////////////////////////////////////////////////// +///@copyright Copyright (c) 2018, 传控科技 All rights reserved. +///------------------------------------------------------------------------- +/// @file bsp_drv.h +/// @brief bsp @ driver config +///------------------------------------------------------------------------- +/// @version 1.0 +/// @author CC +/// @date 20180331 +/// @note cc_AS_stc02 + +////////////////////////////////////////////////////////////////////////////// + +#ifndef _APP_TASK_Bed_Alarm_H +#define _APP_TASK_Bed_Alarm_H + +#include "../ctask/TTSS_task.h" +#include "../clib/c_lib.h" + + +typedef struct _s_task_low_power +{ + TS_task task; +}S_TASK_Bed_ALARM; + +extern S_TASK_Bed_ALARM _s_task_bed_alarm; + +extern void L3_task_bed_alarm_init(void); +extern void L3_task_bed_alarm_handler(S_TASK_Bed_ALARM *s); + + +#endif // #ifndef _APP_TASK_Bed_Alarm_H + diff --git a/source/app/task_screen.c b/source/app/task_screen.c index f46d5d4..c9a4e9e 100644 --- a/source/app/task_screen.c +++ b/source/app/task_screen.c @@ -1,28 +1,28 @@ #include "../app/task_screen.h" #include "../app/app_config.h" -// #include "../bsp/bsp_config.h" -// #include "../bsp/bsp_ds1302.h" #include "../msp/uart/msp_uart1.h" #include "msp_uart1.h" #include "debug_drv.h" - +#include "../msp/msp_eeprom.h" S_TASK_SCREEN _s_task_screen; -SCRSetValPkg scrSetValPkg = { - 0xA5, 0x5A, - 0x1C, //长度 - 0x82, //指令 - 0x01, 0x1E, //起始地址 - 0x00, 0x00, //体重 - 0x00, 0x00, //电量 - 0x00, 0x00, //网络状态 - 0x00, 0x00, //单位 - 0x00, 0x00, //语言 - // 0x00, 0x00, //充电状态 - 0x00, 0x00, //蜂鸣器状态 - 0x00, 0x00, //界面 - 0x1C, 0x78, // CRC +SCRSetValPkg scrSetValPkg = +{ + 0xA5, 0x5A, //帧头 + 0x1C, //长度 + 0x82, //指令 + 0x01, 0x1E, //起始地址 + 0x00, 0x00, //体重 + 0x00, 0x00, //电量 + 0x00, 0x00, //网络状态 + 0x00, 0x00, //单位标志 + 0x00, 0x00, //语言标志 + 0x00, 0x00, //蜂鸣器状态 + 0x00, 0x00, // + 0x00, 0x00, //离床报警标志 + 0x00, 0x00, // + 0x1C, 0x78, //CRC }; //息屏指令 @@ -55,7 +55,7 @@ void L3_task_screen_init(void) // #define D_TASK_SCREEN_SEND_CONTROL 0x50 // #define D_TASK_SCREEN_SEND_VAL 0x51 -//#define D_task_RFID_SET 0x52 +// #define D_task_RFID_SET 0x52 #define D_task_RS485_SEND_BEFORE 0x50 #define D_task_RS485_SEND 0x51 @@ -68,165 +68,157 @@ void L3_task_screen_handler(S_TASK_SCREEN *s) // L0_uart1_uchex(_s_task_screen.task.sh); // L0_uart1_0d0a(); TTSS_Task_init(): - L2_task_go(D_task_RS485_SEND); + L2_task_go(D_task_RS485_SEND_BEFORE); //发送前 TTSS_Task_step(D_task_RS485_SEND_BEFORE): - // L1_uartD_uc('A'); - // L1_uartD_0d0a(); - // L1_uartD_uc('A'); - // L1_uartD_0d0a(); - - // 检测功耗模式是否转变 - if(s->power_mode != R.power_mode) + //检测功耗模式 + ScreenPingOff_judge(); + if(R.ScrTouch_flag == 0)// if (s->power_mode == POWER_LOW) { - s->power_mode = R.power_mode; - if (s->power_mode == POWER_LOW) - { - //发送息屏指令 - L1_uart1_Array((U8 *)&scrPingOffPkg, sizeof(scrPingOffPkg)); - } - else - { - //发送亮屏指令 - L1_uart1_Array((U8 *)&scrPingOnPkg, sizeof(scrPingOnPkg)); - } - L2_task_go_Tdelay(D_task_RS485_SEND, D_Tdelay_400ms); + //发送熄屏指令 + L1_uart1_Array((U8 *)&scrPingOffPkg, sizeof(scrPingOffPkg)); } - else + else if(R.ScrTouch_flag == 1) { - L2_task_go_Tdelay(D_task_RS485_SEND, 0); + //发送亮屏指令 + L1_uart1_Array((U8 *)&scrPingOnPkg, sizeof(scrPingOnPkg)); } + + L2_task_go_Tdelay(D_task_RS485_SEND, D_Tdelay_400ms); //发送 TTSS_Task_step(D_task_RS485_SEND): - if (1)//if (R.power_mode == POWER_NORMAL) - { - // L1_uartD_uc('P'); - // L1_uartD_0d0a(); - // L1_uartD_uc('P'); - // L1_uartD_0d0a(); - //构造pkg - constructor_scr_pkg(); - //发送pkg - L1_uart1_Array((U8 *)&scrSetValPkg, sizeof(SCRSetValPkg)); - // L0_uart0_sendArray((U8 *)&scrSetValPkg, sizeof(SCRSetValPkg)); - //延时send next - } - L2_task_go_Tdelay(D_task_RS485_SEND_AFTER, D_Tdelay_400ms); + if (R.power_mode == POWER_NORMAL) + { + //构造pkg + constructor_scr_pkg(); + //发送pkg + L1_uart1_Array((U8 *)&scrSetValPkg, sizeof(SCRSetValPkg)); + } + L2_task_go_Tdelay(D_task_RS485_SEND_BEFORE, D_Tdelay_400ms); //发送后 TTSS_Task_step(D_task_RS485_SEND_AFTER): - // rs485_pkg_send_after(index); - L2_task_go_Tdelay(D_task_RS485_RECV, 0); - //接收 - TTSS_Task_step(D_task_RS485_RECV): - // if(ts_uart[0].r.ok == 1) - // { - // ts_uart[0].r.ok = 0; - // parse_screen_pkg(); - // } L2_task_go_Tdelay(D_task_RS485_SEND, D_Tdelay_100ms); TTSS_Task_end(); } +//构造屏幕协议包 void constructor_scr_pkg() { U16 CRC = 0; - - scrSetValPkg.buf.weight_kgx100[0] = (R.weight.kgx10_out * 10) >> 8 & 0xFF; - scrSetValPkg.buf.weight_kgx100[1] = (R.weight.kgx10_out * 10) >> 0 & 0xFF; - + // L0_uart1_str("R.weight.kgx10_out: "); + // L0_uart1_us(R.weight.kgx10_out); + // L0_uart1_0d0a(); + if(R.danwei == KG) + { + scrSetValPkg.buf.weight_kgx100[0] = (R.weight.kgx10_out * 10) >> 8 & 0xFF; + scrSetValPkg.buf.weight_kgx100[1] = (R.weight.kgx10_out * 10) >> 0 & 0xFF; + } + else if(R.danwei == lb) //1kg = 2.20462262磅 + { + scrSetValPkg.buf.weight_kgx100[0] = (R.weight.kgx10_out * 22) >> 8 & 0xFF; + scrSetValPkg.buf.weight_kgx100[1] = (R.weight.kgx10_out * 22) >> 0 & 0xFF; + } + // L0_uart1_str("scrSetValPkg.buf.dl: "); + // L0_uart1_us(R.dl); + // L0_uart1_0d0a(); scrSetValPkg.buf.dl[0] = R.dl >> 8 & 0xFF; scrSetValPkg.buf.dl[1] = R.dl >> 0 & 0xFF; + scrSetValPkg.buf.net_status[0] = R.net_status >> 8 & 0xFF; scrSetValPkg.buf.net_status[1] = R.net_status >> 0 & 0xFF; - scrSetValPkg.buf.danwei[0] = R.danwei >> 8 & 0xFF; scrSetValPkg.buf.danwei[1] = R.danwei >> 0 & 0xFF; + scrSetValPkg.buf.beep[0] = R.beep >> 8 & 0xFF; scrSetValPkg.buf.beep[1] = R.beep >> 0 & 0xFF; - // L0_uart0_sendstr("scrSetValPkg.buf.medicine[0]: "); - // L0_uart0_uchex(scrSetValPkg.buf.medicine[0]); - // L0_uart0_0d0a(); - // L0_uart0_sendstr("scrSetValPkg.buf.medicine[1]: "); - // L0_uart0_uchex(scrSetValPkg.buf.medicine[1]); - // L0_uart0_0d0a(); - scrSetValPkg.buf.LeaveForbid_flag[0] = R.LeaveForbid_flag >> 8 & 0xFF; scrSetValPkg.buf.LeaveForbid_flag[1] = R.LeaveForbid_flag >> 0 & 0xFF; scrSetValPkg.buf.WeightKeep_flag[0] = R.WeightKeep_flag >> 8 & 0xFF; scrSetValPkg.buf.WeightKeep_flag[1] = R.WeightKeep_flag >> 0 & 0xFF; - CRC = CRC_16(((U8 *)&scrSetValPkg) + 3, 26); + CRC = CRC_16(((U8 *)&scrSetValPkg) + 3, 21); scrSetValPkg.crc[1] = CRC; scrSetValPkg.crc[0] = CRC >> 8; } -//void parse_screen_pkg() -//{ -// TPC_SCREEN *p = (TPC_SCREEN *) ts_uart[0].r.buf; -// p->ocr = p->buf[p->num[0] << 8 | p->num[1]]; -// if(p->head[0] == 0xAA && 1 /*count_ocr() */) -// { -// if(p->slaveId == R.slave_id && p->cmd == 0x10) -// { -// //1.buf[0]高4位是否需要授权标志 -// R.auth_flag &= 0x0F; -// R.auth_flag |= p->buf[0] & 0xF0; - -// //2.buf[0]低四位是否进入低功耗模式 -// // R.low_power_mode = p->buf[0] & 0x0F; -// L3_set_power_mode(p->buf[0] & 0x0F); -// -// //3.buf[1-2], rfid映射 -// //TODO 上位机发过来的rfid编号如何处理 -// setLedStatus = (U16)p->buf[1] << 8 | p->buf[2]; -// if(setLedStatus != 0x00) -// { -// //0位是功能按键,常亮,不提供设置功能 -// for(i=1;i> i) & 0x0001) -// { -// R.led_status[i] = 1; -// } -// } -// } -// //构造响应包,并且返回 -// acklen = constructor_rs485_ack(); -// //写出 -// L0_uart2_sendArray((U8*)&tpc_rs485_ack, acklen); -// //日志 -// print_rs485_pkg(p); -// } -// } -//} - -//void print_rs485_pkg(TPC_RS485 *p) -//{ -// L0_uart0_sendstr("\r\n--------- Recv RS485 --------\r\n"); -// L0_uart0_sendstr("slaveId : "); -// L0_uart0_uchex(p->slaveId); -// L0_uart0_0d0a(); -// L0_uart0_sendstr("cmd: "); -// L0_uart0_uchex(p->cmd); -// L0_uart0_0d0a(); -// L0_uart0_sendstr("num: "); -// L0_uart0_uchex(p->num[0]); -// L0_uart0_uchex(p->num[1]); -// L0_uart0_0d0a(); -// L0_uart0_sendstr("dat : "); -// L0_uart0_sendArrayHex(p->buf, p->num[0] << 8 | p->num[1]); -// L0_uart0_0d0a(); -// L0_uart0_sendstr("ocr: "); -// L0_uart0_uchex(p->ocr); -// L0_uart0_0d0a(); -//} - -//查表法 +// 屏幕回传协议解析 +void parse_screen_pkg() +{ + SCReturnPkg *p = (SCReturnPkg *) ts_Urec[D_UART1].reg; + // p->ocr = p->buf[p->num[0] << 8 | p->num[1]]; + if(p->head[0] == 0xA5 && p->head[1] == 0x5A/*count_ocr() */) + { + if(p->cmd == 0x83) + { + R.ScrTouch_flag = 1; + R.ScrTouch_time = D_sys_now; //2024.9.13 15:04:59 + // 按钮 + if(p->start_addr[0] == 0x06) + { + switch (p->start_addr[1]) + { + case 0xD0://菜单 + break; + case 0xD1://Home + break; + case 0xD2://清零 + tst_weight.kgx10_zero = tst_weight.kgx10; + break; + case 0xD3://离床报警 + R.LeaveForbid_flag = LeaveForbid_OPEN; + // 并获取到参考重量 weight_ref = 当前重量 + + break; + case 0xD4://保存 + // register1 = tst_weight.kgx10; + break; + case 0xD5://校准菜单按钮 + scrSetValPkg.buf.ui[1] = p->Data[1]; + break; + case 0xD6://语言切换 + scrSetValPkg.buf.language[1] = p->Data[1]; + break; + case 0xD7://重量单位切换 + R.danwei = p->Data[1]; + break; + case 0xD8://查看历史数据 + break; + case 0xD9://校准确认 + ts_weight_SPara.ts_WPoint[pd485->buf[0]].kg = D_2uc_u16(pd485->buf[1],pd485->buf[2]); + ts_weight_SPara.ts_WPoint[pd485->buf[0]].adc = tst_weight.adc32;////使用当前采样值 + L4_WPoint_out(); + //写入IAP + L3_R_2_S(); + L0_Iap_Program_array(D_EEP_BASE,D_struct2U8(S),D_S_LEN); + break; + default: + break; + } + } + // 数据录入(确认键) + if(p->start_addr[0] == 0x07) + { + switch (p->start_addr[1]) + { + case 0xA1://校准点 + // register2 = p->data[1]; + break; + case 0xA2://校准体重 + // register3 = p->data[1]; + break; + default: + break; + } + } + } + } +} + +//CRC校验 查表法 U16 CRC_16(U8 *pMsg, U16 Len) { U8 i; @@ -241,4 +233,15 @@ U16 CRC_16(U8 *pMsg, U16 Len) } j = (U16)uchCRCHi << 8 | uchCRCLo; return j; +} + +// 180s无操作 判定函数 +void ScreenPingOff_judge(void) +{ + U32 Ntime = D_sys_now; + if( Ntime - R.ScrTouch_time > D_COUNT_JIFFIES(180000)) + { + R.ScrTouch_flag = 0; + R.power_mode = POWER_LOW; + } } \ No newline at end of file diff --git a/source/app/task_screen.h b/source/app/task_screen.h index 4f80d76..a135e74 100644 --- a/source/app/task_screen.h +++ b/source/app/task_screen.h @@ -30,10 +30,10 @@ typedef struct { //重量 U8 weight_kgx100[2]; + //电量 + U8 dl[2]; //网络状态 U8 net_status[2]; - //网络状态 - U8 dl[2]; //单位 U8 danwei[2]; //语言 @@ -50,6 +50,18 @@ typedef struct U8 crc[2]; } SCRSetValPkg; +// A5 5A 08 83 00 00 01 02 22 00 00 +typedef struct +{ + U8 head[2]; //A5 5A:帧头 + U8 num; //08:指令字节长度,83 00 00 01 02 22 00 00共 8字节(不含帧头) + U8 cmd; //83:读变量存储器指令 + U8 start_addr[2];//00 00:变量存储器地址 + U8 num_word; //01:数据字长度,02 22 共 1 字长 + U8 Data[2]; // 02 22:数据内容,设置的键值 + U8 crc[2]; //CRC +} SCReturnPkg; + typedef struct { U8 head[2]; @@ -59,15 +71,15 @@ typedef struct U8 crc[2]; } SCRControlPkg; -typedef struct _tpc_screen_ -{ - U8 head[2]; - U8 num; - U8 cmd; - U8 start_addr[2]; - U8 buf[5]; - U8 ocr[2]; -}TPC_SCREEN; +// typedef struct _tpc_screen_ +// { +// U8 head[2]; +// U8 num; +// U8 cmd; +// U8 start_addr[2]; +// U8 buf[5]; +// U8 ocr[2]; +// }TPC_SCREEN; extern S_TASK_SCREEN _s_task_screen; @@ -75,6 +87,7 @@ extern void L3_task_screen_init(void); extern void L3_task_screen_handler(S_TASK_SCREEN *s); extern void constructor_scr_pkg(); extern void parse_screen_pkg(); +extern void ScreenPingOff_judge(); static U8 auchCRCHi[] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, diff --git a/source/app/task_screen_save.c b/source/app/task_screen_save.c new file mode 100644 index 0000000..6af0834 --- /dev/null +++ b/source/app/task_screen_save.c @@ -0,0 +1,63 @@ +#include "task_screen_save.h" + + +#define SCREEN_SAVE_LEN 10 + +#define EEPROM_WEIGHT_ADDR 0x100 + +#define HEAD0 0xa3 +#define HEAD1 0xa4 +#define TAIL0 0xa5 +#define TAIL1 0xa6 + + +SCREEN_SAVE screen_save_arr[SCREEN_SAVE_LEN]; + +void screen_save_init() +{ + for(i = 0;i < SCREEN_SAVE_LEN; i++) + { + screen_save_arr[i].head[0] = HEAD0; + screen_save_arr[i].head[1] = HEAD1; + screen_save_arr[i].kgx10_out = 0; + screen_save_arr[i].available = 0; + screen_save_arr[i].tail[0] = TAIL0; + screen_save_arr[i].tail[1] = TAIL1; + } +} + +void screen_save_push(U16 weight) +{ + int i = 0; + int free = 0; + // 从eeprom中取出数组 + L0_Iap_Read_array(EEPROM_WEIGHT_ADDR, screen_save_arr,sizeof(screen_save_arr)); + if(screen_save_arr[0].head[0] != HEAD0 || screen_save_arr[0].head[1] != HEAD1 + || screen_save_arr[0].tail[0] != TAIL0 || screen_save_arr[0].tail[1] != TAIL1) + { + screen_save_init(); + } + // 遍历寻找空位 + for(i = 0;i < SCREEN_SAVE_LEN; i++) + { + if(screen_save_arr[i].available =! 1) + { + free = i; + break; + } + } + // 当都有数据时 + if(i == SCREEN_SAVE_LEN) + { + for(i = 0; i < SCREEN_SAVE_LEN-1; i++ ) + { + screen_save_arr[i] = screen_save_arr[i+1]; + } + free = SCREEN_SAVE_LEN-1; + } + // 放到free位置 + screen_save_arr[free].available = 1; + screen_save_arr[free].kgx10_out = weight; + // 把数组放回eeprom中 + L0_Iap_Program_array(EEPROM_WEIGHT_ADDR, screen_save_arr,sizeof(screen_save_arr)); +} diff --git a/source/app/task_screen_save.h b/source/app/task_screen_save.h new file mode 100644 index 0000000..14beae7 --- /dev/null +++ b/source/app/task_screen_save.h @@ -0,0 +1,30 @@ +#ifndef _APP_TASK_SCREEN_SAVE_H +#define _APP_TASK_SCREEN_SAVE_H + +#include "../bsp/TTSSbsp/bsp_config.h" + +typedef struct +{ + U8 head[2]; + U8 available; + U16 kgx10_out; + U8 tail[2]; + +}SCREEN_SAVE; + + +typedef struct _s_task_screen_save +{ + TS_task task; +}S_TASK_SCREEN_SAVE; + +extern S_TASK_SCREEN_SAVE _s_task_screen_save; + +extern void L3_task_screen_save_init(void); +extern void L3_task_screen_save_handler(S_TASK_Bed_ALARM *s); + + +void screen_save_push(U16 weight); + + +#endif \ No newline at end of file diff --git a/source/ctask/TTSS_tick.h b/source/ctask/TTSS_tick.h index bf87b33..5432789 100644 --- a/source/ctask/TTSS_tick.h +++ b/source/ctask/TTSS_tick.h @@ -89,10 +89,14 @@ extern TS_nos_tick_ s_nos_tick; #define D_Tdelay_30s (30L * HZ) #define D_Tdelay_1min (1 * 60 * HZ) +#define D_Tdelay_3min (3 * 60 * HZ) #define D_Tdelay_10min (10 * 60 * HZ) #define D_Tdelay_1h (60 * 60 * HZ) #define D_Tdelay_1day (24 * 60 * 60 * HZ) +#define D_COUNT_JIFFIES(N) ((N - 1) / JIFFIES + 1) + + #if (D_CPUfamily_32bits == D_CPUfamily_type) diff --git a/source/debug/debug_drv.c b/source/debug/debug_drv.c index aee8ee8..d4928ec 100644 --- a/source/debug/debug_drv.c +++ b/source/debug/debug_drv.c @@ -102,7 +102,7 @@ u8 L3_tpc_hex(void) #else u8 L3_tpc_hex(void) { - u8 filter = 0, slaveId = 0, cmd = 0; + u8 filter = 0, slaveId = 0, cmd = 0; filter = ts_Urec[D_UART1].sp[0]; slaveId = ts_Urec[D_UART1].sp[1]; cmd = ts_Urec[D_UART1].sp[2]; @@ -112,6 +112,7 @@ u8 L3_tpc_hex(void) ///AA 02 10 00 02 A3 B4 6C if(0xAA == filter) { + pd485 = (TS_P_rs485 *)ts_Urecbuf.r1; //L0_uartN_Arrayhex_withoutbuf(D_UART1,&ts_Urec[D_UART1].sp[0], ts_Urec[D_UART1].num); if(0x02 == slaveId) { @@ -119,6 +120,14 @@ u8 L3_tpc_hex(void) return 1; } } + else if(0xA5 == filter) + { + if(0x5A == slaveId) + { + // if(ocr) + return 2; + } + } // printfs("\r\n cmd error!!"); return 0; } @@ -134,7 +143,7 @@ vtype L2_debug_ONcomand(void) /// printf("\r\nw ts_Urec[D_UART1].max = %d num = %d",(int)ts_Urec[D_UART1].rmax,(int)ts_Urec[D_UART1].num); // printf1("\r\ndebugok %2x",(int)ts_Urec[D_UART1].debugok); } - + if(1 == ts_Urec[D_UART1].ok) { ts_Urec[D_UART1].ok = 0;////解析协议 @@ -142,7 +151,7 @@ vtype L2_debug_ONcomand(void) //// printf1("\r\nD_UART1 ok %d ",(int) ts_Urec[D_UART1].num); // D_LED1_REV(); - pd485 = (TS_P_rs485 *)ts_Urecbuf.r1; + /// L0_uartN_Arrayhex_withoutbuf(D_UART1,ts_Urecbuf.r1, ts_Urec[D_UART1].num); /// 串口1的协议分两类 1类是 Fx开头的针对外设x的标准debug协议;例如FD开头是系统debug Fc是iic调试设备 diff --git a/source/msp/uart/msp_uartN.c b/source/msp/uart/msp_uartN.c index 2ae20f2..c6d93d9 100644 --- a/source/msp/uart/msp_uartN.c +++ b/source/msp/uart/msp_uartN.c @@ -71,6 +71,8 @@ TS_send_buf_ ts_Usendbuf; TS_rec_road_ ts_Urec[SERIAL_MAX_NUM]= {0}; TS_rec_buf_ ts_Urecbuf; + + code vU16 S_send_max[4]= { D_send1_max,