118 lines
3.1 KiB
C
118 lines
3.1 KiB
C
|
/********************************************************************
|
|||
|
Copyright (c) 2021 Xiangyu Medical Co.<EFBFBD><EFBFBD>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 )
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ƵIJ<C6B5><C4B2><EFBFBD> */
|
|||
|
#define M_STEP ( 100 )
|
|||
|
/* Ƶ<>ʶ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ */
|
|||
|
#define CYCLE_CALUE ( 1000 )
|
|||
|
#define SIQU ( 200 )
|
|||
|
/* Public typedef ------------------------------------------------*/
|
|||
|
/*ͨ<><CDA8>״̬*/
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
IdleState = 0, // <20><><EFBFBD><EFBFBD>̬
|
|||
|
StimState, // <20>̼<EFBFBD>̬
|
|||
|
StimAdjState // <20>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD>̬
|
|||
|
}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, //δ<><CEB4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>
|
|||
|
Disconnect_Lowbattery, // δ<><CEB4><EFBFBD>ӵ͵<D3B5>
|
|||
|
Connect_Lowbattery, // <20><><EFBFBD>ӵ͵<D3B5>
|
|||
|
Connect_Highbattery, // <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>
|
|||
|
Null
|
|||
|
}LedModeInfo_e;
|
|||
|
/* б<><D0B1>״̬ */
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
RampIdle = 0,
|
|||
|
RampUp,
|
|||
|
RampDown,
|
|||
|
RampSmooth,
|
|||
|
RampBreak
|
|||
|
}RampState_e;
|
|||
|
/* ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬ */
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
Close,
|
|||
|
Open,
|
|||
|
Pause,
|
|||
|
Continue,
|
|||
|
Ready
|
|||
|
}ChannelWorkState_e;
|
|||
|
/* <20>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ṹ<EFBFBD><E1B9B9> */
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint16_t usRampUpTime; // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> <20><>λΪms
|
|||
|
uint16_t usRampDownTime; // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
uint16_t usSmoothTime; // ƽ<><C6BD>ʱ<EFBFBD><CAB1>
|
|||
|
uint16_t usBreakTime; // <20><>Ϣʱ<CFA2><CAB1>
|
|||
|
uint16_t usFreqBuf; // Ƶ<><C6B5>
|
|||
|
ChannelWorkState_e ChannelWorkState; // ͨ<><CDA8><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>״̬
|
|||
|
uint32_t usWidth; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
uint32_t usCycle; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
RampState_e Ramp_e; // б<><D0B1>״̬
|
|||
|
uint8_t ucCurrent; // <20><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>ֵ
|
|||
|
uint16_t usCcrValue; // <20><><EFBFBD>Ƶ<EFBFBD>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 ***************************/
|
|||
|
|
|||
|
|
|||
|
|