From 0cb04e9b9032b0f8f26fbbc57d07193d3274e506 Mon Sep 17 00:00:00 2001
From: forbelief <1023299899@qq.com>
Date: Mon, 18 Apr 2016 19:31:51 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=97=B6=E9=92=9F=E5=90=8C?=
=?UTF-8?q?=E6=AD=A5=E4=BB=A5=E5=8F=8A=E9=A1=B5=E9=9D=A2=E5=88=B7=E6=96=B0?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
plan_manage_main/ewp/plan_manage_main.dep | 8 +-
.../ewp/settings/plan_manage_main.dni | 5 +-
.../src/app/include/simulat_timer.h | 4 +-
plan_manage_main/src/app/include/tft.h | 3 +-
plan_manage_main/src/app/main.c | 23 ++-
plan_manage_main/src/app/tft.c | 139 +++++++++++++++---
settings/plan_manage.wsdt | 10 +-
7 files changed, 151 insertions(+), 41 deletions(-)
diff --git a/plan_manage_main/ewp/plan_manage_main.dep b/plan_manage_main/ewp/plan_manage_main.dep
index b060615..9a7d8f9 100644
--- a/plan_manage_main/ewp/plan_manage_main.dep
+++ b/plan_manage_main/ewp/plan_manage_main.dep
@@ -311,10 +311,6 @@
ICCARM
31 30 29 32 212 33 34 35 36 37 155 133 142 26 132 134 135 136 96 140 139 168 157 150 141 144 137 143 151 160 149 152 167 153 154 145 156 159 165 148 5 11 1 0 7
-
- BICOMP
- 31 30 29 32 212 33 34 35 36 37 155 133 142 26 132 134 135 136 96 140 139 168 157 150 141 144 137 143 151 160 149 152 167 153 154 145 156 159 165 148 5 11 1 0 7
-
@@ -378,11 +374,11 @@
ICCARM
- 31 30 29 32 212 33 34 35 36 37 96 210 11 26 6 7 141 144 12 0 13
+ 31 30 29 32 212 33 34 35 36 37 96 133 142 26 132 134 135 136 140 139 168 157 150 141 144 137 143 151 160 155 152 167 153 154 145 156 159 165 148 149 210 11 6 7 12 0 13
BICOMP
- 31 30 29 32 212 33 34 35 36 37 96 210 11 26 6 7 141 144 12 0 13
+ 31 30 29 32 212 33 34 35 36 37 96 133 142 26 132 134 135 136 140 139 168 157 150 141 144 137 143 151 160 155 152 167 153 154 145 156 159 165 148 149 210 11 6 7 12 0 13
diff --git a/plan_manage_main/ewp/settings/plan_manage_main.dni b/plan_manage_main/ewp/settings/plan_manage_main.dni
index 0ede8d0..b0411ef 100644
--- a/plan_manage_main/ewp/settings/plan_manage_main.dni
+++ b/plan_manage_main/ewp/settings/plan_manage_main.dni
@@ -9,7 +9,7 @@ TriggerName=main
LimitSize=0
ByteLimit=50
[DebugChecksum]
-Checksum=-203845490
+Checksum=-564150124
[CodeCoverage]
Enabled=_ 0
[Exceptions]
@@ -54,8 +54,7 @@ ShowSource=1
[Disassemble mode]
mode=0
[Breakpoints2]
-Bp0=_ 1 "EMUL_CODE" "{$PROJ_DIR$\..\src\app\main.c}.28.5" 0 0 1 "" 0 "" 0
-Count=1
+Count=0
[Log file]
LoggingEnabled=_ 0
LogFile=_ ""
diff --git a/plan_manage_main/src/app/include/simulat_timer.h b/plan_manage_main/src/app/include/simulat_timer.h
index 07adfc1..225330a 100644
--- a/plan_manage_main/src/app/include/simulat_timer.h
+++ b/plan_manage_main/src/app/include/simulat_timer.h
@@ -10,13 +10,13 @@
/*
* 模拟定时器的数量
*/
-#define SIMULAT_TIMER_NUM 3
+#define SIMULAT_TIMER_NUM 5
typedef struct st_register_
{
- uint8_t count; // 定时器计数
+ uint32_t count; // 定时器计数
uint32_t cmr; // 比较寄存器
struct
{
diff --git a/plan_manage_main/src/app/include/tft.h b/plan_manage_main/src/app/include/tft.h
index f8f319c..ff0d2d8 100644
--- a/plan_manage_main/src/app/include/tft.h
+++ b/plan_manage_main/src/app/include/tft.h
@@ -29,8 +29,9 @@ void tft_ok(void);
void tft_ret(void);
+void tft_page_refresh(void);
-int16_t get_value_of_kvp(char *name);
+int16_t *get_value_of_kvp(char *name, uint8_t objn);
input_limit tft_input_limit(char *name);
diff --git a/plan_manage_main/src/app/main.c b/plan_manage_main/src/app/main.c
index 36345be..32cb04c 100644
--- a/plan_manage_main/src/app/main.c
+++ b/plan_manage_main/src/app/main.c
@@ -2,6 +2,8 @@
#include
#include
+#include "common.h"
+
#include "include/pm_init.h"
#include "include/simulat_timer.h"
#include "include/key.h"
@@ -20,11 +22,13 @@ void main(void)
pm_init();
- st_init(0, COMPARE, 10);
+ st_init(0, COMPARE, 10); // 作为按键扫描函数的定时使用,在simulat_timer.c的底层中使用
st_init(1, COMPARE, 1);
-
- st_init(2, COMPARE, 3);
+ st_init(2, COMPARE, 500);
+
+ st_init(3, COMPARE, 500);
+
ds1302_set_time(time);
knob_enable();
@@ -50,6 +54,19 @@ void main(void)
time.hour, time.minute, time.sec);
}
+ if (st_tcf(3) == 1)
+ {
+ enter_critical();
+ ds1302_read_time(&time);
+ exit_critical();
+ *get_value_of_kvp("st_y", 0) = time.year;
+ *get_value_of_kvp("st_mo", 0) = time.month;
+ *get_value_of_kvp("st_d", 0) = time.day;
+ *get_value_of_kvp("st_h", 0) = time.hour;
+ *get_value_of_kvp("st_mi", 0) = time.minute;
+ *get_value_of_kvp("st_s", 0) = time.sec;
+ tft_page_refresh();
+ }
switch (get_key_mean(UP_KEY))
{
diff --git a/plan_manage_main/src/app/tft.c b/plan_manage_main/src/app/tft.c
index 177b1f6..0ac7632 100644
--- a/plan_manage_main/src/app/tft.c
+++ b/plan_manage_main/src/app/tft.c
@@ -54,20 +54,21 @@ typedef enum tft_colour_
static tft_state tft_stt = { 0, 0, 0, 0 };
static uint8_t original_lyt[] = { 0, 1 };
-static uint8_t menu_lyt[] = { 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 };
+static uint8_t menu_lyt[] = { 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
static uint8_t obj_set_lyt[] = { 0, 4, 7, 11, 13};
+kv_pair kvp_original[] = { {"ori_0", 0, R_NUM} };
kv_pair kvp_menu[] = {
- { "st_y", 2016, RW_NUM }, { "st_mo", 4, RW_NUM }, { "st_d", 14, RW_NUM }, { "st_h", 0, RW_NUM }, { "st_mi", 0, RW_NUM },
+ { "st_y", 2016, RW_NUM }, { "st_mo", 4, RW_NUM }, { "st_d", 14, RW_NUM }, { "st_h", 0, RW_NUM }, { "st_mi", 0, RW_NUM }, { "st_s", 0, RW_NUM },
{ "obj0", 0, SW_PAGE },
- { "obj1", 0, SW_PAGE },
- { "obj2", 0, SW_PAGE },
- { "obj3", 0, SW_PAGE },
- { "obj4", 0, SW_PAGE },
- { "obj5", 0, SW_PAGE },
- { "obj6", 0, SW_PAGE },
- { "obj7", 0, SW_PAGE },
+ { "obj1", 1, SW_PAGE },
+ { "obj2", 2, SW_PAGE },
+ { "obj3", 3, SW_PAGE },
+ { "obj4", 4, SW_PAGE },
+ { "obj5", 5, SW_PAGE },
+ { "obj6", 6, SW_PAGE },
+ { "obj7", 7, SW_PAGE },
{ "note", 0, RW_NUM }
};
@@ -512,6 +513,7 @@ void tft_ret(void)
tft_stt.ln = 0;
tft_stt.etn = 0;
tft_send_cmd("page original");
+ tft_page_refresh();
tft_set_color(tft_stt.etn, TFT_PURPLE);
break;
case OBJ_SET_PG:
@@ -519,7 +521,8 @@ void tft_ret(void)
tft_stt.ln = 0;
tft_stt.etn = 0;
tft_send_cmd("page menu");
- refrush_menu();
+ tft_page_refresh();
+ // refrush_menu();
tft_set_color(tft_stt.etn, TFT_PURPLE);
break;
default:
@@ -573,6 +576,14 @@ void tft_input(void)
}
knob_disable();
tft_set_color(tft_stt.etn, TFT_PURPLE);
+ time_info time;
+ time.year = *get_value_of_kvp("st_y", 0);
+ time.month = *get_value_of_kvp("st_mo", 0);
+ time.day = *get_value_of_kvp("st_d", 0);
+ time.hour = *get_value_of_kvp("st_h", 0);
+ time.minute = *get_value_of_kvp("st_mi", 0);
+ time.sec= *get_value_of_kvp("st_s", 0);
+ ds1302_set_time(time);
clear_key_m();
break;
case RW_PIC:
@@ -681,6 +692,7 @@ void tft_ok(void)
tft_stt.ln = 0;
tft_stt.etn = 0;
tft_send_cmd("page menu");
+ tft_page_refresh();
tft_set_color(tft_stt.etn, TFT_PURPLE);
break;
default:
@@ -704,8 +716,8 @@ void tft_ok(void)
tft_stt.ln = 0;
tft_stt.etn = 0;
tft_send_cmd("page obj_set");
+ tft_page_refresh();
tft_set_color(tft_stt.etn, TFT_PURPLE);
- //refrush_obj();
break;
default:
break;
@@ -734,26 +746,106 @@ void tft_ok(void)
return;
}
+void tft_page_refresh(void)
+{
+ switch (tft_stt.pgn)
+ {
+ case ORIGINAL_PG:
+ for (uint8_t etn = 0; etn < sizeof(kvp_original) / sizeof(kv_pair); etn++)
+ {
+ switch (SW_PAGE)
+ {
+ case R_NUM:
+ break;
+ case RW_NUM:
+ break;
+ case RW_PIC:
+ break;
+ case SW_PAGE:
+ break;
+ default:
+ break;
+ }
+ }
+ break;
+ case MENU_PG:
+ for (int etn = 0; etn < sizeof(kvp_menu) / sizeof(kv_pair); etn++)
+ {
+ switch (kvp_menu[etn].attr)
+ {
+ case R_NUM:
+ break;
+ case RW_NUM:
+ sprintf(tft_cmd_str, "%s.val=%d", kvp_menu[etn].key,
+ kvp_menu[etn].value);
+ tft_send_cmd(tft_cmd_str);
+ sprintf(tft_cmd_str, "ref %s", kvp_menu[etn].key);
+ tft_send_cmd(tft_cmd_str);
+ break;
+ case RW_PIC:
+ sprintf(tft_cmd_str, "vis %s,%d", kvp_menu[etn].key,
+ kvp_menu[etn].value);
+ tft_send_cmd(tft_cmd_str);
+ break;
+ case SW_PAGE:
+ break;
+ default:
+ break;
+ }
+ }
+ break;
+ case OBJ_SET_PG:
+ for (int etn = 0; etn < sizeof(kvp_obj_set[0]) / sizeof(kv_pair); etn++)
+ {
+ switch (kvp_obj_set[tft_stt.objn][etn].attr)
+ {
+ case R_NUM:
+ break;
+ case RW_NUM:
+ sprintf(tft_cmd_str, "%s.val=%d", kvp_obj_set[tft_stt.objn][etn].key,
+ kvp_obj_set[tft_stt.objn][etn].value);
+ tft_send_cmd(tft_cmd_str);
+ sprintf(tft_cmd_str, "ref %s", kvp_obj_set[tft_stt.objn][etn].key);
+ tft_send_cmd(tft_cmd_str);
+ break;
+ case RW_PIC:
+ sprintf(tft_cmd_str, "vis %s,%d",
+ kvp_obj_set[tft_stt.objn][etn].key,
+ kvp_obj_set[tft_stt.objn][etn].value);
+ tft_send_cmd(tft_cmd_str);
+ break;
+ case SW_PAGE:
+ break;
+ default:
+ break;
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ return;
+}
-int16_t get_value_of_kvp(char *name)
+int16_t *get_value_of_kvp(char *name, uint8_t objn)
{
for (int i = 0; i < sizeof(kvp_menu) / sizeof(kv_pair); i++)
{
if (strcmp(name, kvp_menu[i].key) == 0)
{
- return kvp_menu[i].value;
+ return &kvp_menu[i].value;
}
}
- for (int i = 0; i < sizeof(kvp_obj_set[0]) / sizeof(kv_pair); i++)
+ for (int i = 0; i < sizeof(kvp_obj_set[objn]) / sizeof(kv_pair); i++)
{
- if (strcmp(name, kvp_obj_set[0][i].key) == 0);
+ if (strcmp(name, kvp_obj_set[objn][i].key) == 0);
{
- return kvp_obj_set[0][i].value;
+ return &kvp_obj_set[objn][i].value;
}
}
- return ~0;
+ return 0;
}
input_limit tft_input_limit(char *name)
@@ -761,7 +853,7 @@ input_limit tft_input_limit(char *name)
input_limit in_lmt;
if (strcmp(name, "st_y") == 0)
{
- in_lmt.min = 1970;
+ in_lmt.min = 2000;
in_lmt.max = 2100;
}
else if (strcmp(name, "st_mo") == 0)
@@ -772,7 +864,7 @@ input_limit tft_input_limit(char *name)
else if (strcmp(name, "st_d") == 0)
{
in_lmt.min = 1;
- in_lmt.max = get_month_days(get_value_of_kvp("st_y"), get_value_of_kvp("st_mo"));
+ in_lmt.max = get_month_days(*get_value_of_kvp("st_y", 0), *get_value_of_kvp("st_mo", 0));
}
else if (strcmp(name, "st_h") == 0)
{
@@ -784,9 +876,14 @@ input_limit tft_input_limit(char *name)
in_lmt.min = 0;
in_lmt.max = 59;
}
+ else if (strcmp(name, "st_s") == 0)
+ {
+ in_lmt.min = 0;
+ in_lmt.max = 59;
+ }
else if (strcmp(name, "bg_y") == 0)
{
- in_lmt.min = 1970;
+ in_lmt.min = 2000;
in_lmt.max = 2100;
}
else if (strcmp(name, "bg_mo") == 0)
@@ -797,7 +894,7 @@ input_limit tft_input_limit(char *name)
else if (strcmp(name, "bg_d") == 0)
{
in_lmt.min = 1;
- in_lmt.max = get_month_days(get_value_of_kvp("bg_y"), get_value_of_kvp("bg_mo"));
+ in_lmt.max = get_month_days(*get_value_of_kvp("bg_y", 0), *get_value_of_kvp("bg_mo", 0));
}
else if (strcmp(name, "bg_h") == 0)
{
diff --git a/settings/plan_manage.wsdt b/settings/plan_manage.wsdt
index 54cf16f..443b3ab 100644
--- a/settings/plan_manage.wsdt
+++ b/settings/plan_manage.wsdt
@@ -31,7 +31,7 @@
-
+
TabID-27328-1563
@@ -43,7 +43,7 @@
- 0
+ 0
TabID-20752-5744
@@ -59,20 +59,20 @@
TabID-229-19806Debug LogDebug-LogTabID-17440-26563ReferencesFind-All-References
- 0
+ 0
- TextEditorD:\work_soft\iar\arm\arm\doc\infocenter\index.ENU.htmlTextEditor$WS_DIR$\plan_manage_main\src\app\debug.c00000000TextEditor$WS_DIR$\plan_manage_main\src\drivers\adc.c000000394394TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\adc.h000000429429TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\include.h000000159159TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\port.h000000787787TextEditor$WS_DIR$\plan_manage_main\src\include\cpu\MKL25Z4.h000001612411241TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\uart.h000000383383TextEditor$WS_DIR$\plan_manage_main\src\app\include\debug.h00000000TextEditor$WS_DIR$\plan_manage_main\src\app\include\knob.h00000200TextEditor$WS_DIR$\plan_manage_main\src\other\LandzoOLED.h000000528528TextEditor$WS_DIR$\plan_manage_main\src\drivers\mcg.c000003556505650TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\mcg.h000000456456TextEditor$WS_DIR$\plan_manage_main\src\app\isr.c000000576576TextEditor$WS_DIR$\plan_manage_main\src\app\include\isr.h000000435435TextEditor$WS_DIR$\plan_manage_main\src\app\include\key.h00000300TextEditorD:\work_soft\iar\arm\arm\inc\c\string.h000004025062506TextEditor$WS_DIR$\plan_manage_main\src\include\platforms\freedom.h000000542542TextEditor$WS_DIR$\plan_manage_main\src\cpu\vectors.c000007321542154TextEditor$WS_DIR$\plan_manage_main\src\app\tft.c0000026879807980TextEditor$WS_DIR$\plan_manage_main\src\app\include\tft.h000000149149TextEditor$WS_DIR$\plan_manage_main\src\cpu\crt0.s000000242242TextEditor$WS_DIR$\plan_manage_main\src\app\knob.c000004110511051TextEditor$WS_DIR$\plan_manage_main\src\app\include\time.h000000184184TextEditor$WS_DIR$\plan_manage_main\src\common\uif.c000000251251TextEditor$WS_DIR$\plan_manage_main\src\include\common\uif.h0000099342342TextEditor$WS_DIR$\plan_manage_main\src\include\common\common.h0000024578578TextEditor$WS_DIR$\plan_manage_main\src\drivers\SPI.c000006479479TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\fire_drivers_cfg.h00000730093009TextEditor$WS_DIR$\plan_manage_main\src\app\include\config.h000007452452TextEditor$WS_DIR$\plan_manage_main\src\app\include\simulat_timer.h000000186186TextEditor$WS_DIR$\plan_manage_main\src\app\key.c0000030191709170TextEditor$WS_DIR$\plan_manage_main\src\app\simulat_timer.c0000010614711471TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\gpio.h00000916371637TextEditor$WS_DIR$\plan_manage_main\src\app\pm_init.c000000404404TextEditor$WS_DIR$\plan_manage_main\src\drivers\uart.c0000029589758975TextEditor$WS_DIR$\plan_manage_main\src\app\time.c00000852254225436TextEditor$WS_DIR$\plan_manage_main\src\common\io.c000000715715TextEditor$WS_DIR$\plan_manage_main\src\common\printf.c000005651619616196TextEditor$WS_DIR$\plan_manage_main\src\app\main.c000000484484TextEditor$WS_DIR$\plan_manage_main\src\drivers\gpio.c0000051281928190100000010000001
+ TextEditorD:\work_soft\iar\arm\arm\doc\infocenter\index.ENU.htmlTextEditor$WS_DIR$\plan_manage_main\src\app\debug.c00000000TextEditor$WS_DIR$\plan_manage_main\src\drivers\adc.c000000394394TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\adc.h000000429429TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\include.h000000159159TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\port.h000000787787TextEditor$WS_DIR$\plan_manage_main\src\include\cpu\MKL25Z4.h000001612411241TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\uart.h000000383383TextEditor$WS_DIR$\plan_manage_main\src\app\include\debug.h00000000TextEditor$WS_DIR$\plan_manage_main\src\app\include\knob.h00000200TextEditor$WS_DIR$\plan_manage_main\src\other\LandzoOLED.h000000528528TextEditor$WS_DIR$\plan_manage_main\src\drivers\mcg.c000003556505650TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\mcg.h000000456456TextEditor$WS_DIR$\plan_manage_main\src\app\isr.c000000576576TextEditor$WS_DIR$\plan_manage_main\src\app\include\isr.h000000435435TextEditor$WS_DIR$\plan_manage_main\src\app\include\key.h00000300TextEditorD:\work_soft\iar\arm\arm\inc\c\string.h000004025062506TextEditor$WS_DIR$\plan_manage_main\src\include\platforms\freedom.h000000542542TextEditor$WS_DIR$\plan_manage_main\src\cpu\vectors.c000007321542154TextEditor$WS_DIR$\plan_manage_main\src\cpu\crt0.s000000242242TextEditor$WS_DIR$\plan_manage_main\src\app\knob.c000004110511051TextEditor$WS_DIR$\plan_manage_main\src\app\include\time.h000000184184TextEditor$WS_DIR$\plan_manage_main\src\common\uif.c000000251251TextEditor$WS_DIR$\plan_manage_main\src\include\common\uif.h0000099342342TextEditor$WS_DIR$\plan_manage_main\src\drivers\SPI.c000006479479TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\fire_drivers_cfg.h00000730093009TextEditor$WS_DIR$\plan_manage_main\src\app\include\config.h000007452452TextEditor$WS_DIR$\plan_manage_main\src\app\include\simulat_timer.h00000040440427TextEditor$WS_DIR$\plan_manage_main\src\app\key.c0000030191709170TextEditor$WS_DIR$\plan_manage_main\src\app\simulat_timer.c00000022582258TextEditor$WS_DIR$\plan_manage_main\src\include\drivers\gpio.h00000916371637TextEditor$WS_DIR$\plan_manage_main\src\app\pm_init.c00000022TextEditor$WS_DIR$\plan_manage_main\src\drivers\uart.c0000029589758975TextEditor$WS_DIR$\plan_manage_main\src\app\time.c000008824052405TextEditor$WS_DIR$\plan_manage_main\src\common\io.c000000715715TextEditor$WS_DIR$\plan_manage_main\src\common\printf.c000005651619616196TextEditor$WS_DIR$\plan_manage_main\src\app\main.c0000015565565TextEditor$WS_DIR$\plan_manage_main\src\drivers\gpio.c000005128192819TextEditor$WS_DIR$\plan_manage_main\src\app\tft.c0000078100TextEditor$WS_DIR$\plan_manage_main\src\app\include\tft.h00000000TextEditor$WS_DIR$\plan_manage_main\src\common\common.c000000331350TextEditor$WS_DIR$\plan_manage_main\src\include\common\common.h0000005785780100000010000001
- iaridepm.enu1-2-2670299-2-21589512343896741235156684318-2-22671282-2-21284269100312527393112343896741
+ iaridepm.enu1-2-2670299-2-21589512343896741235156684318-2-22671282-2-21284269100312527393112343896741