109 lines
3.2 KiB
C
109 lines
3.2 KiB
C
|
/********************************************************************
|
|||
|
Copyright (c) 2021 Xiangyu Medical Co.<EFBFBD><EFBFBD>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<6F><67>Ҫ<EFBFBD><D2AA><EFBFBD>õ<EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
|
|||
|
#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)
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
#define KEY_PWR_SWITICH ( 16 )
|
|||
|
|
|||
|
/* <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD> */
|
|||
|
#define KEY_POWER ( 13 )
|
|||
|
/* ָʾ<D6B8><CABE> */
|
|||
|
#define LED_YELLOW ( 11 )
|
|||
|
#define LED_WHITE ( 12 )
|
|||
|
/* DAC <20><><EFBFBD><EFBFBD>*/
|
|||
|
#define PWM_DAC_GPIO ( 26 )
|
|||
|
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD>Ŷ<EFBFBD><C5B6>壬<EFBFBD>͵<EFBFBD>ƽ<EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ߵ<EFBFBD>ƽ<EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD> */
|
|||
|
#define CHG_MANAGER_EN ( 15 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC>EN<45><4E><EFBFBD>ţ<EFBFBD><C5A3>ڲ<EFBFBD>200K<30><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>衣 <20>ߵ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>͵<EFBFBD>ƽ<EFBFBD><C6BD>Low<6F><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD>Floating<6E><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define CHG_MANAGER_PPR ( 23 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC>PPR<50><52><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>3.0V<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD>쳣
|
|||
|
#define CHG_MANAGER_CHG ( 14 ) //<2F><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD>ţ<EFBFBD><C5A3>͵<EFBFBD>ƽ<EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ߵ<EFBFBD>ƽ
|
|||
|
|
|||
|
#define STIM_RMS_RELAY_PIN ( 27 ) // <20><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define STIM_RELAY_PIN ( 28 ) //<2F>̼<EFBFBD><CCBC>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define SAMPLE_POWER_PIN ( 20 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define BOOST_DISCHARGE_PIN ( 18 ) //boost<73><74>ѹ<EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define BASE_WAVE_06_PIN ( 6 ) //<2F>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6
|
|||
|
#define BASE_WAVE_07_PIN ( 7 ) //<2F>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7
|
|||
|
#define BASE_WAVE_08_PIN ( 8 ) //<2F>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8
|
|||
|
|
|||
|
#define BOOST_VOLTAGE_CONTROL_PIN ( 25 ) //boost<73><74>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/* Public typedef ------------------------------------------------*/
|
|||
|
//<2F>豸<EFBFBD><E8B1B8><EFBFBD>ػ<EFBFBD>״̬
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
POWER_OPEN = 0,
|
|||
|
POWER_CLOSE
|
|||
|
}DeviceStateInfo_e;
|
|||
|
// <20><><EFBFBD><EFBFBD>״̬
|
|||
|
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 ***************************/
|