109 lines
3.2 KiB
C
109 lines
3.2 KiB
C
/********************************************************************
|
||
Copyright (c) 2021 Xiangyu Medical Co.,Ltd. All rights reserved.
|
||
FileName : IoControl.h
|
||
Author : zhangdawei
|
||
Version : V1.0
|
||
Date :
|
||
Note :
|
||
History :
|
||
********************************************************************/
|
||
#ifndef _IOCONTROL_H__
|
||
#define _IOCONTROL_H__
|
||
/* Includes ------------------------------------------------------*/
|
||
#include "nrf52.h"
|
||
#include "nrf_gpio.h"
|
||
#include "timer.h"
|
||
#include "drv_saadc.h"
|
||
#include "drv_uart.h"
|
||
#include "nrf_drv_gpiote.h"
|
||
//Log需要引用的头文件
|
||
#include "nrf_log.h"
|
||
#include "nrf_log_ctrl.h"
|
||
#include "nrf_log_default_backends.h"
|
||
#include "nrf_delay.h"
|
||
/* Public define -------------------------------------------------*/
|
||
#define MERGE(Msb,Lsb) ((Msb<<8)|Lsb)
|
||
/* 按键检测 */
|
||
#define KEY_PWR_SWITICH ( 16 )
|
||
|
||
/* 电源锁定 */
|
||
#define KEY_POWER ( 13 )
|
||
/* 指示灯 */
|
||
#define LED_YELLOW ( 11 )
|
||
#define LED_WHITE ( 12 )
|
||
/* DAC 引脚*/
|
||
#define PWM_DAC_GPIO ( 26 )
|
||
|
||
|
||
/* 充电芯片引脚定义,低电平是充电中,高电平是充电完成或未充电 */
|
||
#define CHG_MANAGER_EN ( 15 ) //充电管理芯片的EN引脚,内部200K下拉电阻。 高电平:禁用充电器 ,低电平(Low)或悬空(Floating):启用充电器
|
||
#define CHG_MANAGER_PPR ( 23 ) //充电管理芯片的PPR引脚 ,开漏输出,外部上拉3.0V,低电平:输入充电电压正常,高电平:输入充电电压异常
|
||
#define CHG_MANAGER_CHG ( 14 ) //充电指示引脚,低电平是充电中,充电结束为高电平
|
||
|
||
#define STIM_RMS_RELAY_PIN ( 27 ) // 肌电采集继电器控制引脚
|
||
#define STIM_RELAY_PIN ( 28 ) //刺激继电器控制引脚
|
||
|
||
#define SAMPLE_POWER_PIN ( 20 ) //采样电源控制引脚
|
||
|
||
#define BOOST_DISCHARGE_PIN ( 18 ) //boost升压放电引脚
|
||
|
||
#define BASE_WAVE_06_PIN ( 6 ) //刺激基础波形控制引脚6
|
||
#define BASE_WAVE_07_PIN ( 7 ) //刺激基础波形控制引脚7
|
||
#define BASE_WAVE_08_PIN ( 8 ) //刺激基础波形控制引脚8
|
||
|
||
#define BOOST_VOLTAGE_CONTROL_PIN ( 25 ) //boost电压控制引脚
|
||
|
||
|
||
|
||
/* Public typedef ------------------------------------------------*/
|
||
//设备开关机状态
|
||
typedef enum
|
||
{
|
||
POWER_OPEN = 0,
|
||
POWER_CLOSE
|
||
}DeviceStateInfo_e;
|
||
// 充电状态
|
||
typedef enum
|
||
{
|
||
Uncharged = 0,
|
||
Charging,
|
||
ChargeComplete
|
||
}ChargingStateInfo_e;
|
||
|
||
typedef enum
|
||
{
|
||
Bit_RESET = 0,
|
||
Bit_SET
|
||
}BitAction;
|
||
|
||
typedef struct{
|
||
nrf_drv_gpiote_pin_t KeyPinNumber;
|
||
bool shineng;
|
||
}KeyStateInfo_t;
|
||
/* Public constants ----------------------------------------------*/
|
||
/* Public variables ----------------------------------------------*/
|
||
extern DeviceStateInfo_e DeviceState;
|
||
extern ChargingStateInfo_e ChargeState;
|
||
extern ChargingStateInfo_e ChargeLastState;
|
||
/* Public function prototypes ------------------------------------*/
|
||
void StartAdv(void);
|
||
void StopAdv(void);
|
||
void GpioInit(void);
|
||
void EXIT_KEY_Init(void);
|
||
void open_acquisition_relay(void);
|
||
void close_acquisition_relay(void);
|
||
void LedControl(void);
|
||
void StimStateInfoStructInit(SchemeData_t SchemeDataIn);
|
||
void VariableInit(void);
|
||
void StimOutCtlOpen(void);
|
||
void StimOutCtlClose(void);
|
||
void StimReleaseOpen(void);
|
||
void StimReleaseClose(void);
|
||
void PreStorageSchemeDataInit(void);
|
||
void KeyPinHandler(void);
|
||
void close_stimulate_relay(void);
|
||
void open_stimulate_relay(void);
|
||
#endif
|
||
|
||
/*************************** END OF FILE ***************************/
|