202 lines
5.5 KiB
C
202 lines
5.5 KiB
C
|
/********************************************************************
|
|||
|
Copyright (c) 2021 Xiangyu Medical Co.<EFBFBD><EFBFBD>Ltd. All rights reserved.
|
|||
|
FileName : IoControl.c
|
|||
|
Author : zhangdawei
|
|||
|
Version : V1.0
|
|||
|
Date :
|
|||
|
Note :
|
|||
|
History :
|
|||
|
********************************************************************/
|
|||
|
/* Includes ------------------------------------------------------*/
|
|||
|
#include "IoControl.h"
|
|||
|
#include "drv_uart.h"
|
|||
|
#include "nrf_drv_gpiote.h"
|
|||
|
/* Private define ------------------------------------------------*/
|
|||
|
/* Private typedef -----------------------------------------------*/
|
|||
|
/* Private constants ---------------------------------------------*/
|
|||
|
/* Private variables ---------------------------------------------*/
|
|||
|
uint8_t LastState = Null; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ε<EFBFBD>״̬
|
|||
|
/* Private function prototypes -----------------------------------*/
|
|||
|
/* Public constants ----------------------------------------------*/
|
|||
|
/* Public variables ----------------------------------------------*/
|
|||
|
DeviceStateInfo_e DeviceState = POWER_CLOSE; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>ػ<EFBFBD>״̬
|
|||
|
ChargingStateInfo_e ChargeState = Uncharged;
|
|||
|
ChargingStateInfo_e ChargeLastState = Uncharged;
|
|||
|
KeyStateInfo_t KeyStateInfo;
|
|||
|
/********************************************************************
|
|||
|
* name : void GpioInit(void)
|
|||
|
* description : GPIO<EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
* Input : void
|
|||
|
* Output : void
|
|||
|
* Return :
|
|||
|
********************************************************************/
|
|||
|
void GpioInit(void)
|
|||
|
{
|
|||
|
NRF_UICR->NFCPINS = 0;
|
|||
|
|
|||
|
nrf_gpio_cfg_output(KEY_POWER);
|
|||
|
nrf_gpio_cfg_output(LED_YELLOW);
|
|||
|
// nrf_gpio_cfg_output(CHARGE_LED);
|
|||
|
|
|||
|
nrf_gpio_cfg_output(STIM_RMS_RELAY_PIN);
|
|||
|
nrf_gpio_cfg_output(STIM_RELAY_PIN);
|
|||
|
nrf_gpio_cfg_output(SAMPLE_POWER_PIN);
|
|||
|
|
|||
|
|
|||
|
// nrf_gpio_pin_clear(KEY_POWER);
|
|||
|
nrf_gpio_pin_clear(LED_YELLOW);
|
|||
|
|
|||
|
// nrf_gpio_pin_clear(CHARGE_LED);
|
|||
|
|
|||
|
nrf_gpio_pin_clear(STIM_RMS_RELAY_PIN);
|
|||
|
nrf_gpio_pin_clear(STIM_RELAY_PIN);
|
|||
|
nrf_gpio_pin_clear(SAMPLE_POWER_PIN);
|
|||
|
|
|||
|
/////////
|
|||
|
nrf_gpio_cfg_input(CHG_MANAGER_CHG, NRF_GPIO_PIN_NOPULL);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|||
|
|
|||
|
}
|
|||
|
/* <20><><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ܽ<EFBFBD> */
|
|||
|
void StimOutCtlOpen(void)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
void StimOutCtlClose(void)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ͷſ<CDB7><C5BF><EFBFBD> */
|
|||
|
void StimReleaseOpen(void)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void StimReleaseClose(void)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// OK<4F><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void KEY_PWR_SWITICH_Handler(void)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//GPIOTE<54>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>ȡpin<69><6E><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4>仯
|
|||
|
void in_pin_handler(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action)
|
|||
|
{
|
|||
|
if(pin == KEY_PWR_SWITICH)
|
|||
|
{
|
|||
|
|
|||
|
KeyStateInfo.shineng = true;
|
|||
|
KeyStateInfo.KeyPinNumber = KEY_PWR_SWITICH;
|
|||
|
}
|
|||
|
}
|
|||
|
void EXIT_KEY_Init(void)
|
|||
|
{
|
|||
|
ret_code_t err_code;
|
|||
|
|
|||
|
nrf_gpio_cfg_input(KEY_PWR_SWITICH, NRF_GPIO_PIN_PULLUP);//<2F><><EFBFBD><EFBFBD>ػ<EFBFBD><D8BB>ź<EFBFBD>
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/********************************************************************
|
|||
|
* name : void open_acquisition_relay(void)
|
|||
|
* description : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Input : void
|
|||
|
* Output : void
|
|||
|
* Return :
|
|||
|
********************************************************************/
|
|||
|
void open_acquisition_relay(void)
|
|||
|
{
|
|||
|
nrf_gpio_pin_set(STIM_RMS_RELAY_PIN); //<2F>պϼ̵<CFBC><CCB5><EFBFBD>
|
|||
|
nrf_gpio_pin_clear(STIM_RELAY_PIN); //<2F>̼<F2BFAAB4><CCBC>̵<EFBFBD><CCB5><EFBFBD>
|
|||
|
}
|
|||
|
/********************************************************************
|
|||
|
* name : void close_acquisition_relay(void)
|
|||
|
* description : <EFBFBD>رղ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Input : void
|
|||
|
* Output : void
|
|||
|
* Return :
|
|||
|
********************************************************************/
|
|||
|
void close_acquisition_relay(void)
|
|||
|
{
|
|||
|
nrf_gpio_pin_clear(STIM_RMS_RELAY_PIN);
|
|||
|
nrf_gpio_pin_clear(STIM_RELAY_PIN);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/********************************************************************
|
|||
|
* name : void open_stimulate_relay(void)
|
|||
|
* description : <EFBFBD>̼<EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Input : void
|
|||
|
* Output : void
|
|||
|
* Return :
|
|||
|
********************************************************************/
|
|||
|
void open_stimulate_relay(void)
|
|||
|
{
|
|||
|
nrf_gpio_pin_clear(STIM_RMS_RELAY_PIN);
|
|||
|
nrf_gpio_pin_set(STIM_RELAY_PIN);
|
|||
|
}
|
|||
|
/********************************************************************
|
|||
|
* name : void close_stimulate_relay(void)
|
|||
|
* description : <EFBFBD>رմ̼<EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Input : void
|
|||
|
* Output : void
|
|||
|
* Return :
|
|||
|
********************************************************************/
|
|||
|
void close_stimulate_relay(void)
|
|||
|
{
|
|||
|
nrf_gpio_pin_clear(STIM_RMS_RELAY_PIN);
|
|||
|
nrf_gpio_pin_clear(STIM_RELAY_PIN);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/********************************************************************
|
|||
|
* name : void StimStateInfoStructInit(SchemeData_t SchemeDataIn)
|
|||
|
* description : <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><EFBFBD>
|
|||
|
* Input : void
|
|||
|
* Output : void
|
|||
|
* Return :
|
|||
|
********************************************************************/
|
|||
|
void StimStateInfoStructInit(SchemeData_t SchemeDataIn)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
// <20>豸Ԥ<E8B1B8><D4A4><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ʼ<EFBFBD><CABC>ID :101 <20><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void PreStorageSchemeDataInit(void)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void KeyPinHandler(void)
|
|||
|
{
|
|||
|
if(KeyStateInfo.shineng == true)
|
|||
|
{
|
|||
|
switch(KeyStateInfo.KeyPinNumber)
|
|||
|
{
|
|||
|
case KEY_PWR_SWITICH:
|
|||
|
{
|
|||
|
KEY_PWR_SWITICH_Handler();
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
KeyStateInfo.shineng = false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/********************************************************************
|
|||
|
* name : void VariableInit(void)
|
|||
|
* description : <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* Input : void
|
|||
|
* Output : void
|
|||
|
* Return :
|
|||
|
********************************************************************/
|
|||
|
void VariableInit(void)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
/*************************** END OF FILE ***************************/
|
|||
|
|