ControlSystem.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #ifndef __CONTROLSYSTEM_H__
  2. #define __CONTROLSYSTEM_H__
  3. /*--------------------------------------------------------------------------------------
  4. * @file ControlSystem.h
  5. * @author ZhangJing
  6. * @version base on stm32f0x
  7. * @date 2015.09.11
  8. * @brief 整个系统的控制动作及策略
  9. ---------------------------------------------------------------------------------------*/
  10. #include "stdint.h"
  11. typedef enum
  12. {
  13. EnterStartup = 1,//进入开机页
  14. EnterHistory = 2,//进入历史回顾
  15. EnterDeviceID = 3,//进入设备ID设置
  16. EnterDispTime = 4,//进入时间显示
  17. EnterSetTime = 5,//进入时间设置
  18. EnterSetPassword = 6,//进入密码设置
  19. EnterVerifyInfo = 7,//进入确认住院信息
  20. EnterSetParam = 8,//进入参数设置
  21. EnterAirout = 9,//进入排气
  22. EnterRunFirstDose = 10,//进入运行首次量
  23. EnterRunMain = 11,//进入运行主界面
  24. EnterRunPressure = 12,//进入运行压力界面
  25. EnterLockPassword = 13,//进入锁定密码
  26. EnterTransfuseOver = 14,//输液完毕
  27. EnterMechanicalFault = 15,//机械故障
  28. EnterJamFault = 16,//堵塞故障
  29. EnterMaxFault = 17,//极限值故障
  30. EnterBubbleFault = 18,//气泡或无液
  31. EnterNonePillCaseFault = 19,//未装药盒
  32. EnterBatteryVoltLow = 20,//电池电量低
  33. EnterLineLost = 21,//管路脱落
  34. EnterEvaluateTransfuse = 22,//进入随访-输注评价
  35. EnterEvaluatePain = 23,//进入疼痛评价
  36. EnterLimbMyodynamia = 24,//进入四肢肌力
  37. EnterEvaluateVerify = 25,//进入确认评价
  38. EnterEngineeringMode1 = 26,//进入工程模式1
  39. EnterEngineeringMode2 = 27,//进入工程模式2
  40. EnterSetVerifyInfo = 28,//进入设置确认住院信息
  41. EnterPowerON = 29,//进入供电状态
  42. EnterPowerOFF = 30,//进入断电状态
  43. EnterInputTotal = 31,//进入输入总量报警状态
  44. EnterInpatien = 32, //为设置住院号提示界面
  45. EnterDetection =33,
  46. }SysWorkStepType;
  47. typedef enum
  48. {
  49. FirstDoseMode = 1,//首次量
  50. ContinueMode = 2,//持续量
  51. SuperadditionMode = 3,//追加量
  52. }SysInfusionModeType;//系统输液模式类型
  53. void CntlSysInitWork( void );
  54. void CntlMotorWork( uint16_t pwmSetValue );
  55. void CntlSystemWorkStep( void );
  56. void CntlSystemWorkTimer( void );
  57. void RealTimeStateUpdate( void );
  58. void CntlSpeakerWork( void );
  59. void CntlSensorPWWork( void );
  60. void CntlAutoPowerOff( void );
  61. void CntlNoActionHint( void );
  62. void CntlLCDBlackWork( void );
  63. void ScanKeyWorkType( void );
  64. void CntlSystemStandby( void );
  65. void InfusionControl(SysInfusionModeType infusionMode);
  66. void CntlInpatienPicture(void); //未设置住院号提醒界面
  67. void HornWorkStatus(uint8_t status);
  68. void CntlHornWork( void );
  69. extern SysWorkStepType emSysWorkStep;//系统工作步骤
  70. extern SysWorkStepType emAlarmRecordStep;//报警时要将现在在哪页记录下来
  71. extern SysWorkStepType emAlarmRememberStep;//报警时记录报警界面
  72. extern uint32_t InfusionStopTimer;//输液时间
  73. extern uint32_t InfusionXmitTimer;//输注发送时间
  74. extern uint8_t TotalDoesChange0 ;//工程模式输注总量变化1变0
  75. extern uint8_t TotalDoesChange1 ;//工程模式输注总量变化0变1
  76. //extern uint8_t TestSwitch ; //工程模式中测试开关打开其他数据不在发送
  77. extern uint8_t pca_count; //一小时内PCA按压次数
  78. extern uint8_t LimitBeginsTime;
  79. extern SysInfusionModeType infusionMode ;
  80. extern uint8_t sysPromptToneTypebf; //声音类型记录
  81. extern uint8_t FackreadIndex; //假读索引
  82. #endif