118 lines
3.1 KiB
C
118 lines
3.1 KiB
C
/********************************************************************
|
||
Copyright (c) 2021 Xiangyu Medical Co.,Ltd. All rights reserved.
|
||
FileName : timer.h
|
||
Author : zhangdawei
|
||
Version : V1.0
|
||
Date :
|
||
Note :
|
||
History :
|
||
********************************************************************/
|
||
#ifndef TIMER_H__
|
||
#define TIMER_H__
|
||
/* Includes ------------------------------------------------------*/
|
||
#include "app_timer.h"
|
||
/* Public define -------------------------------------------------*/
|
||
#define RAMP_TIM_TIME ( 1000 )
|
||
/* 呼吸灯的步长 */
|
||
#define M_STEP ( 100 )
|
||
/* 频率对应的周期值 */
|
||
#define CYCLE_CALUE ( 1000 )
|
||
#define SIQU ( 200 )
|
||
/* Public typedef ------------------------------------------------*/
|
||
/*通道状态*/
|
||
typedef enum
|
||
{
|
||
IdleState = 0, // 空闲态
|
||
StimState, // 刺激态
|
||
StimAdjState // 刺激调节态
|
||
}ChannelState_e;
|
||
|
||
typedef enum
|
||
{
|
||
E_RMS_STOP = 0x00,
|
||
E_RMS_START = 0x01,
|
||
E_RMS_PAUSE = 0x02,
|
||
E_RMS_CONTINUE = 0x03,
|
||
|
||
E_STIM_STOP = 0x04,
|
||
E_STIM_START = 0x05,
|
||
E_STIM_PAUSE = 0x06,
|
||
E_STIM_CONTINUE = 0x07
|
||
|
||
}E_WORK_STATE;
|
||
|
||
/* LED状态 */
|
||
typedef enum
|
||
{
|
||
Disconnect_Highbattery = 0, //未连接有电
|
||
Disconnect_Lowbattery, // 未连接低电
|
||
Connect_Lowbattery, // 连接低电
|
||
Connect_Highbattery, // 连接有电
|
||
Null
|
||
}LedModeInfo_e;
|
||
/* 斜坡状态 */
|
||
typedef enum
|
||
{
|
||
RampIdle = 0,
|
||
RampUp,
|
||
RampDown,
|
||
RampSmooth,
|
||
RampBreak
|
||
}RampState_e;
|
||
/* 通道工作状态 */
|
||
typedef enum
|
||
{
|
||
Close,
|
||
Open,
|
||
Pause,
|
||
Continue,
|
||
Ready
|
||
}ChannelWorkState_e;
|
||
/* 刺激参数信息结构体 */
|
||
typedef struct
|
||
{
|
||
uint16_t usRampUpTime; // 上坡时间 单位为ms
|
||
uint16_t usRampDownTime; // 下坡时间
|
||
uint16_t usSmoothTime; // 平坡时间
|
||
uint16_t usBreakTime; // 休息时间
|
||
uint16_t usFreqBuf; // 频率
|
||
ChannelWorkState_e ChannelWorkState; // 通道当前工作状态
|
||
uint32_t usWidth; // 脉冲宽度
|
||
uint32_t usCycle; // 脉冲周期
|
||
RampState_e Ramp_e; // 斜坡状态
|
||
uint8_t ucCurrent; // 标称电流值
|
||
uint16_t usCcrValue; // 标称的CCR值
|
||
}StimStateInfo_t;
|
||
/* Public constants ----------------------------------------------*/
|
||
/* Public variables ----------------------------------------------*/
|
||
extern StimStateInfo_t ChannelStimStateInfo_t;
|
||
|
||
extern uint8_t PwmLedInit_Flag;
|
||
extern bool LongPressEvent;
|
||
extern bool BeepBeepOpenFlag;
|
||
/* Public function prototypes ------------------------------------*/
|
||
void AppTimersInit(void);
|
||
void ApplicationTimersStart(void);
|
||
void PwmDACInit(void);
|
||
|
||
void PwmDACStop(void);
|
||
void PwmLedUnInit(void);
|
||
|
||
void PwmSubtractStop(void);
|
||
void GpioteInit(void);
|
||
void PPIPwmInit(void);
|
||
void SetCurrent(uint16_t CcrIn);
|
||
void OutputCurrentCtrl(void);
|
||
void BlinkTwice(void);
|
||
void pwm0_common_init(void);
|
||
void SetPWMValues(uint16_t tempvalue);
|
||
void pwm2common_init(void);
|
||
void PwmDACPlay(void);
|
||
void pwm2_play(void);
|
||
void pwm0_play(void);
|
||
#endif
|
||
/*************************** END OF FILE ***************************/
|
||
|
||
|
||
|