Browse Source

feature: 添加称重数据存储功能app_screen_save();

weight-flt
zhangwen 10 months ago
parent
commit
5f12bc74ce
  1. 4
      .vscode/settings.json
  2. 818
      keilp/stcTTSS2_W5.uvguix.Administrator
  3. 104
      keilp/stcTTSS2_W5.uvoptx
  4. 64
      keilp/stcTTSS2_W5.uvprojx
  5. 3
      source/app/app_config.h
  6. 24
      source/app/app_screen_save.c
  7. 26
      source/app/app_screen_save.h
  8. 28
      source/app/task_bedalarm.c
  9. 16
      source/app/task_screen.c
  10. 30
      source/app/task_screen_save.h

4
.vscode/settings.json

@ -13,6 +13,8 @@
"task_bedalarm.h": "c",
"asp_lowpower.h": "c",
"debug_drv.h": "c",
"task_screen_save.h": "c"
"task_screen_save.h": "c",
"app_screen_save.h": "c",
"msp_eeprom.h": "c"
}
}

818
keilp/stcTTSS2_W5.uvguix.Administrator

File diff suppressed because one or more lines are too long

104
keilp/stcTTSS2_W5.uvoptx

@ -100,6 +100,9 @@
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>-1</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
@ -146,6 +149,16 @@
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
<bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
</TargetOption>
</Target>
@ -160,7 +173,6 @@
<FileNumber>1</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\app\app_weight.c</PathWithFileName>
@ -173,7 +185,6 @@
<FileNumber>2</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\app\main.c</PathWithFileName>
@ -186,7 +197,6 @@
<FileNumber>3</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\app\app_config.c</PathWithFileName>
@ -199,7 +209,6 @@
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\app\task_screen.c</PathWithFileName>
@ -207,6 +216,30 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>5</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\app\app_screen_save.c</PathWithFileName>
<FilenameWithoutPath>app_screen_save.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\app\task_bedalarm.c</PathWithFileName>
<FilenameWithoutPath>task_bedalarm.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
@ -217,10 +250,9 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\asp\asp_schain.c</PathWithFileName>
@ -230,10 +262,9 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileNumber>8</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\asp\asp_lowpower.c</PathWithFileName>
@ -251,10 +282,9 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>7</FileNumber>
<FileNumber>9</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\cpu\STARTUP.A51</PathWithFileName>
@ -264,10 +294,9 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>8</FileNumber>
<FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\cpu\stc_8_delay.c</PathWithFileName>
@ -285,10 +314,9 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>9</FileNumber>
<FileNumber>11</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\msp\uart\msp_uartN.c</PathWithFileName>
@ -298,10 +326,9 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>10</FileNumber>
<FileNumber>12</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\msp\msp_time2.c</PathWithFileName>
@ -311,10 +338,9 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>11</FileNumber>
<FileNumber>13</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\msp\uart\msp_uart1.c</PathWithFileName>
@ -324,10 +350,9 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>12</FileNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\msp\msp_iicMx.c</PathWithFileName>
@ -337,10 +362,9 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>13</FileNumber>
<FileNumber>15</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\msp\msp_eeprom.c</PathWithFileName>
@ -350,10 +374,9 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>14</FileNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\msp\msp_adc.c</PathWithFileName>
@ -371,10 +394,9 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>15</FileNumber>
<FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\bsp\TTSSbsp\bsp_config.c</PathWithFileName>
@ -384,10 +406,9 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>16</FileNumber>
<FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\bsp\bsp_led.c</PathWithFileName>
@ -397,10 +418,9 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>17</FileNumber>
<FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\bsp\bsp_cs1232.c</PathWithFileName>
@ -418,10 +438,9 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>18</FileNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\ctask\TTSS_task.c</PathWithFileName>
@ -431,10 +450,9 @@
</File>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>19</FileNumber>
<FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\ctask\TTSS_tick.c</PathWithFileName>
@ -444,10 +462,9 @@
</File>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>20</FileNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\ctask\TTSS_time_stc.c</PathWithFileName>
@ -465,10 +482,9 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>21</FileNumber>
<FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\tpc\tpc_road.c</PathWithFileName>
@ -486,10 +502,9 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>22</FileNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\clib\c_lib.c</PathWithFileName>
@ -499,10 +514,9 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>23</FileNumber>
<FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\clib\c_delay.c</PathWithFileName>
@ -520,10 +534,9 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>24</FileNumber>
<FileNumber>26</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\debug\cc_as_stc01_main.ini</PathWithFileName>
@ -533,10 +546,9 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>25</FileNumber>
<FileNumber>27</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>1</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\source\debug\debug_drv.c</PathWithFileName>

64
keilp/stcTTSS2_W5.uvprojx

@ -10,6 +10,7 @@
<TargetName>STC8H3K64S2</TargetName>
<ToolsetNumber>0x0</ToolsetNumber>
<ToolsetName>MCS-51</ToolsetName>
<uAC6>0</uAC6>
<TargetOption>
<TargetCommonOption>
<Device>STC8H3K64S4 Series</Device>
@ -123,47 +124,6 @@
<HexOffset>0</HexOffset>
<Oh166RecLen>16</Oh166RecLen>
</OPTHX>
<Simulator>
<UseSimulator>1</UseSimulator>
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
<RunToMain>1</RunToMain>
<RestoreBreakpoints>1</RestoreBreakpoints>
<RestoreWatchpoints>1</RestoreWatchpoints>
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
<RestoreFunctions>1</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox>
<LimitSpeedToRealTime>0</LimitSpeedToRealTime>
<RestoreSysVw>1</RestoreSysVw>
</Simulator>
<Target>
<UseTarget>0</UseTarget>
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
<RunToMain>0</RunToMain>
<RestoreBreakpoints>1</RestoreBreakpoints>
<RestoreWatchpoints>1</RestoreWatchpoints>
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
<RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreSysVw>1</RestoreSysVw>
</Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>-1</TargetSelection>
<SimDlls>
<CpuDll></CpuDll>
<CpuDllArguments></CpuDllArguments>
<PeripheralDll></PeripheralDll>
<PeripheralDllArguments></PeripheralDllArguments>
<InitializationFile></InitializationFile>
</SimDlls>
<TargetDlls>
<CpuDll></CpuDll>
<CpuDllArguments></CpuDllArguments>
<PeripheralDll></PeripheralDll>
<PeripheralDllArguments></PeripheralDllArguments>
<InitializationFile></InitializationFile>
<Driver></Driver>
</TargetDlls>
</DebugOption>
<Utilities>
<Flash1>
@ -217,12 +177,14 @@
<Mx51P>0</Mx51P>
<hadXRAM2>0</hadXRAM2>
<uocXram2>0</uocXram2>
<hadXRAM3>0</hadXRAM3>
<ModC2>0</ModC2>
<ModH2>0</ModH2>
<Mdu_R515>0</Mdu_R515>
<Mdu_F120>0</Mdu_F120>
<Psoc>0</Psoc>
<hadIROM2>0</hadIROM2>
<hadIROM3>0</hadIROM3>
<ModSmx2>0</ModSmx2>
<cBanks>0</cBanks>
<xBanks>0</xBanks>
@ -292,6 +254,16 @@
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</IROM512>
<XRA513>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</XRA513>
<IROM513>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</IROM513>
</OnChipMemories>
</Target51Misc>
<C51>
@ -383,6 +355,16 @@
<FileType>1</FileType>
<FilePath>..\source\app\task_screen.c</FilePath>
</File>
<File>
<FileName>app_screen_save.c</FileName>
<FileType>1</FileType>
<FilePath>..\source\app\app_screen_save.c</FilePath>
</File>
<File>
<FileName>task_bedalarm.c</FileName>
<FileType>1</FileType>
<FilePath>..\source\app\task_bedalarm.c</FilePath>
</File>
</Files>
</Group>
<Group>

3
source/app/app_config.h

@ -225,6 +225,9 @@ typedef struct global_register
//离床报警手动解除标志
U8 ForbidDelate_flag;
//离床报警参考重量
U16 Weight_Ref;
//功耗模式
U8 power_mode;

24
source/app/task_screen_save.c → source/app/app_screen_save.c

@ -1,31 +1,29 @@
#include "task_screen_save.h"
#define SCREEN_SAVE_LEN 10
#define EEPROM_WEIGHT_ADDR 0x100
#include "app_screen_save.h"
#include "../msp/msp_eeprom.h"
//定义所使用内存的起始和结尾标志
#define HEAD0 0xa3
#define HEAD1 0xa4
#define TAIL0 0xa5
#define TAIL1 0xa6
SCREEN_SAVE screen_save_arr[SCREEN_SAVE_LEN] = {0};
SCREEN_SAVE screen_save_arr[SCREEN_SAVE_LEN];
//初始化存放重量数据的结构体数组screen_save_arr
void screen_save_init()
{
int i = 0;
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].kgx10_out = 0;
screen_save_arr[i].tail[0] = TAIL0;
screen_save_arr[i].tail[1] = TAIL1;
}
}
//存放重量数据到eeprom中
void screen_save_push(U16 weight)
{
int i = 0;
@ -40,7 +38,7 @@ void screen_save_push(U16 weight)
// 遍历寻找空位
for(i = 0;i < SCREEN_SAVE_LEN; i++)
{
if(screen_save_arr[i].available =! 1)
if(screen_save_arr[i].available != 0)
{
free = i;
break;
@ -49,14 +47,14 @@ void screen_save_push(U16 weight)
// 当都有数据时
if(i == SCREEN_SAVE_LEN)
{
for(i = 0; i < SCREEN_SAVE_LEN-1; i++ )
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].available = 0;
screen_save_arr[free].kgx10_out = weight;
// 把数组放回eeprom中
L0_Iap_Program_array(EEPROM_WEIGHT_ADDR, screen_save_arr,sizeof(screen_save_arr));

26
source/app/app_screen_save.h

@ -0,0 +1,26 @@
#ifndef _APP_SCREEN_SAVE_H
#define _APP_SCREEN_SAVE_H
#include "../bsp/TTSSbsp/bsp_config.h"
#define SCREEN_SAVE_LEN 10 //寄存器需要存放的最大数量为10组
#define EEPROM_WEIGHT_ADDR 0x100 //定义一个起始地址为0x100的寄存器
//用来存储重量数据的结构体(数组)
typedef struct
{
U8 head[2];
U8 available;
U16 kgx10_out;
U8 tail[2];
}SCREEN_SAVE;
extern SCREEN_SAVE screen_save_arr[SCREEN_SAVE_LEN];
extern void screen_save_init(void);
extern void screen_save_push(U16 weight);
#endif

28
source/app/task_bedalarm.c

@ -23,25 +23,22 @@ void L3_task_bed_alarm_init(void)
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
#define D_task_ALARM_JUDGE 0x50
#define D_task_ALARM_DELETE 0x51
void L3_task_bed_alarm_handler(S_TASK_Bed_ALARM *s)
{
TTSS_Task_init():
L2_task_go(D_task_STATUS_READ);
L2_task_go(D_task_ALARM_JUDGE);
//判定是否开启离床报警
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和获取参考点位的重量。
// 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;
TTSS_Task_step(D_task_ALARM_JUDGE):
R.weight.differ = R.Weight_Ref - R.weight.kgx10_out * 10;
//触发报警 //放在该task的第二步
if(R.weight.differ >= 100)
{
@ -50,11 +47,8 @@ void L3_task_bed_alarm_handler(S_TASK_Bed_ALARM *s)
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);
}
L2_task_go_Tdelay(D_task_ALARM_JUDGE, 0);
//判定是否解除报警
TTSS_Task_step(D_task_ALARM_DELETE):
//手动解除
@ -65,13 +59,13 @@ void L3_task_bed_alarm_handler(S_TASK_Bed_ALARM *s)
// R.LeaveForbid_flag = LeaveForbid_OFF; 应在按键按下时,操作beep还和置位R.LeaveForbid_flag = LeaveForbid_OFF
// }
//超时解除 //放在该task的第一步
else if(D_sys_now - R.beep_startime > D_COUNT_JIFFIES(30000))
if(D_sys_now - R.beep_startime > D_COUNT_JIFFIES(30000))
{
R.beep = beep_on;
R.beep = beep_off;
R.beep_startime = 0;
R.LeaveForbid_flag = LeaveForbid_OFF;
}
L2_task_go_Tdelay(D_task_STATUS_READ, 0);
L2_task_go_Tdelay(D_task_ALARM_JUDGE, 0);
TTSS_Task_end();
}

16
source/app/task_screen.c

@ -1,9 +1,11 @@
#include "../app/task_screen.h"
#include "task_screen.h"
#include "../app/app_config.h"
#include "../msp/uart/msp_uart1.h"
#include "msp_uart1.h"
#include "debug_drv.h"
#include "../msp/msp_eeprom.h"
#include "app_screen_save.h"
S_TASK_SCREEN _s_task_screen;
@ -137,9 +139,6 @@ void constructor_scr_pkg()
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, 21);
scrSetValPkg.crc[1] = CRC;
scrSetValPkg.crc[0] = CRC >> 8;
@ -169,12 +168,11 @@ void parse_screen_pkg()
tst_weight.kgx10_zero = tst_weight.kgx10;
break;
case 0xD3://离床报警
R.LeaveForbid_flag = LeaveForbid_OPEN;
// 并获取到参考重量 weight_ref = 当前重量
R.LeaveForbid_flag = LeaveForbid_OPEN;//按键按下时,就置标志位R.LeaveForbid_flag == LeaveForbid_OPEN和获取参考点位的重量。
R.Weight_Ref = tst_weight.kgx10; // 参考重量 weight_ref = 当前重量
break;
case 0xD4://保存
// register1 = tst_weight.kgx10;
screen_save_push(tst_weight.kgx10);// register1 = tst_weight.kgx10;
break;
case 0xD5://校准菜单按钮
scrSetValPkg.buf.ui[1] = p->Data[1];
@ -186,6 +184,8 @@ void parse_screen_pkg()
R.danwei = p->Data[1];
break;
case 0xD8://查看历史数据
L0_Iap_Read_array(EEPROM_WEIGHT_ADDR, screen_save_arr,sizeof(screen_save_arr));//1先从eeprom中读出数组
// 2推送到屏幕
break;
case 0xD9://校准确认
ts_weight_SPara.ts_WPoint[pd485->buf[0]].kg = D_2uc_u16(pd485->buf[1],pd485->buf[2]);

30
source/app/task_screen_save.h

@ -1,30 +0,0 @@
#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
Loading…
Cancel
Save