初始版本
This commit is contained in:
108
app/Inc/IoControl.h
Normal file
108
app/Inc/IoControl.h
Normal file
@@ -0,0 +1,108 @@
|
||||
/********************************************************************
|
||||
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 ***************************/
|
||||
45
app/Inc/drv_saadc.h
Normal file
45
app/Inc/drv_saadc.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/********************************************************************
|
||||
Copyright (c) 2021 Xiangyu Medical Co.,Ltd. All rights reserved.
|
||||
FileName : drv_saadc.h
|
||||
Author : zhangdawei
|
||||
Version : V1.0
|
||||
Date :
|
||||
Note :
|
||||
History :
|
||||
********************************************************************/
|
||||
/* Includes ------------------------------------------------------*/
|
||||
#ifndef DRV_SAADC_H__
|
||||
#define DRV_SAADC_H__
|
||||
#include "nrf_drv_timer.h"
|
||||
#include "nrf_drv_saadc.h"
|
||||
#include "IoControl.h"
|
||||
/* Public define -------------------------------------------------*/
|
||||
#define SAADC_BATTERY_CHANNEL 1 // 电池电压检测通道
|
||||
#define SAADC_ELECTRODE_CHANNEL 2 // 电极片脱落电压
|
||||
#define SAADC_RMS_SAMPLE_CHANNEL 0 // 肌电采样通道
|
||||
|
||||
#define AD_RAW_MAX 50
|
||||
|
||||
/* Public typedef ------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
//float AdRaw[AD_RAW_MAX+50];//原始值数组
|
||||
float EmgValue;//计算值
|
||||
unsigned char emgCnt;
|
||||
}emg_data_t;
|
||||
|
||||
/* Public constants ----------------------------------------------*/
|
||||
/* Public variables ----------------------------------------------*/
|
||||
extern uint8_t Battery_Percentage;
|
||||
/* Public function prototypes ------------------------------------*/
|
||||
void battery_adc_init(void);
|
||||
void timer1_output_ctrl_init(void);
|
||||
void rms_saadc_init(void);
|
||||
void PPIEegAdcInit(void);
|
||||
void timer3_rms_init(void);
|
||||
void timer3_rms_stop(void);
|
||||
void timer3_rms_start(void);
|
||||
void CalculateBatteryPower(void);
|
||||
#endif
|
||||
/*************************** END OF FILE ***************************/
|
||||
|
||||
241
app/Inc/drv_uart.h
Normal file
241
app/Inc/drv_uart.h
Normal file
@@ -0,0 +1,241 @@
|
||||
/********************************************************************
|
||||
Copyright (c) 2021 Xiangyu Medical Co.,Ltd. All rights reserved.
|
||||
FileName : drv_uart.h
|
||||
Author : zhangdawei
|
||||
Version : V1.0
|
||||
Date :
|
||||
Note :
|
||||
History :
|
||||
********************************************************************/
|
||||
/* Includes ------------------------------------------------------*/
|
||||
#ifndef DRV_UART_H__
|
||||
#define DRV_UART_H__
|
||||
#include "sdk_config.h"
|
||||
#include "ble_nus.h"
|
||||
#include "ble_link_ctx_manager.h"
|
||||
/* Public define -------------------------------------------------*/
|
||||
#define ONE_SECOND ( 1000000 ) /* 1s = 1000000us */
|
||||
/* 功能码定义 */
|
||||
#define RUN_ROLL ( 0x81 ) //运行轮询
|
||||
#define VERSION_INQUIRY ( 0x82 ) //版本查询
|
||||
#define STIM_PARA_CONTROL ( 0x83 ) //模式、脉宽、频率、斜坡时间设置
|
||||
#define START_STOP_CONTROL ( 0x84 ) //控制
|
||||
#define PRE_ADJUST ( 0x85 ) //预调节
|
||||
#define CURRENT_CONTROL ( 0x86 ) //电流设置
|
||||
#define EEG_DATA ( 0x87 ) //肌电数据上报
|
||||
#define TRIG_COLLECT_START_CONTROL ( 0x88 ) //触发采集开始
|
||||
#define TRIG_STIM_START_CONTROL ( 0x89 ) //触发刺激开始
|
||||
#define STATUS_INQUIRY ( 0x8A ) //轮询
|
||||
#define MAC_QUERY ( 0x8B ) //MAC地址查询
|
||||
#define STATE_UPLOAD ( 0x92 ) //状态上传(电极片状态和适配器状态)
|
||||
#define SCHEME_QUERY ( 0x91 ) //方案查询
|
||||
/* 刺激启停控制数据偏移定义 */
|
||||
#define StartStopOffset ( 4 )
|
||||
/* 刺激启停控制数据描述 */
|
||||
#define CH_STOP ( 0x00 )
|
||||
#define CH_START ( 0x01 )
|
||||
#define CH_PAUSE ( 0x02 )
|
||||
#define CH_CONTINUE ( 0x03 )
|
||||
/* 刺激参数数据偏移定义 */
|
||||
#define HeadOffset ( 0 )
|
||||
#define DataLengthOffset ( 1 )
|
||||
#define FunctionCodeOffset ( 2 )
|
||||
#define ChannelNumOffset ( 3 )
|
||||
#define SchemeCategoryOffset ( 4 )
|
||||
#define SchemeIDMSBOffset ( 5 )
|
||||
#define SchemeIDLSBOffset ( 6 )
|
||||
#define FreqMSBOffset ( 7 )
|
||||
#define FreqLSBOffset ( 8 )
|
||||
#define WidthMSBOffset ( 9 )
|
||||
#define WidthLSBOffset ( 10 )
|
||||
#define RampUpTimeLSBOffset ( 12 )
|
||||
#define RampUpTimeMSBOffset ( 11 )
|
||||
#define RampSmoothTimeLSBOffset ( 14 )
|
||||
#define RampSmoothTimeMSBOffset ( 13 )
|
||||
#define RampDownTimeLSBOffset ( 16 )
|
||||
#define RampDownTimeMSBOffset ( 15 )
|
||||
#define RampBreakTimeLSBOffset ( 18 )
|
||||
#define RampBreakTimeMSBOffset ( 17 )
|
||||
/* 状态轮询数据偏移定义 */
|
||||
#define ElectrodeStatusOffset ( 4 )
|
||||
#define StimStatusOffset ( 5 )
|
||||
#define StimCurrentOffset ( 6 )
|
||||
#define ResetOffset ( 7 )
|
||||
#define DataCrcOffset ( 8 )
|
||||
#define TailOffset ( 9 )
|
||||
/* 运行轮询数据偏移定义 */
|
||||
#define AdapterStatusOffset ( 5 )
|
||||
#define BatteryLevelOffset ( 4 )
|
||||
/* 刺激电流数据偏移定义 */
|
||||
#define PRE_ADJUST_OFFSET ( 4 )
|
||||
/* 预调节数据定义 */
|
||||
#define START_PRE_ADJUST ( 0x01 )
|
||||
#define STOP_PRE_ADJUST ( 0x00 )
|
||||
/* 方案存储属性定义 */
|
||||
#define TEMP_STORAGE ( 1 ) // 临时存储
|
||||
#define PERMANENT_STORAGE ( 2 ) // 永久存储
|
||||
#define FDS_DATA_LENGTH ( 20 ) // 存储空间长度
|
||||
|
||||
//头尾帧
|
||||
#define FRAME_HEADER (0xAA)
|
||||
#define FRAME_TAIL (0x55)
|
||||
|
||||
//功能码
|
||||
// Function Codes (Converted to UPPER_SNAKE_CASE)
|
||||
#define D_PARAMETER_SET (0x71) // Original: D_ParameterSet
|
||||
#define D_CHANNEL_CTRL (0x72) // Original: D_ChannelCtrl
|
||||
#define D_CURRENT_SET (0x73) // Original: D_CurrentSet
|
||||
#define D_EMG_DATA_REPORT (0x74) // Original: D_EmgDataReport
|
||||
#define D_DATA_MODE_SWITCH (0x75) // Original: D_DataModeSwitch
|
||||
#define D_PREINSTALL_CTRL (0x76) // Original: D_PreinstallCtrl
|
||||
#define D_TRIGGER_MODE_CTRL (0x77) // Original: D_TriggerModeCtrl
|
||||
#define D_POLL_CMD (0x78) // Original: D_PollCmd
|
||||
#define D_SLICE_FALL_DETECT_SWITCH (0x79) // Original: D_SliceFallDetectSwitch
|
||||
#define D_TURN_OFF_CMD (0x7A) // Original: D_TurnOffCmd
|
||||
#define D_BLE_SCAN_SWITCH (0x7B) // Original: D_BleScanSwitch
|
||||
#define D_MAC_ADDR_REPORT (0x7C) // Original: D_MacAddrReport
|
||||
#define D_BLE_CONNECT_CMD (0x7D) // Original: D_BleConnectCmd
|
||||
|
||||
/* Public typedef ------------------------------------------------*/
|
||||
/* 方案信息结构体 */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t StorageMode; //存储模式
|
||||
uint8_t SchemeIDMSB; //方案ID
|
||||
uint8_t SchemeIDLSB;
|
||||
uint8_t FreqMSB; //频率
|
||||
uint8_t FreqLSB;
|
||||
uint8_t WidthMSB; //脉宽
|
||||
uint8_t WidthLSB;
|
||||
uint8_t RampUpTimeMSB; //波升
|
||||
uint8_t RampUpTimeLSB;
|
||||
uint8_t RampSmoothTimeMSB;//保持
|
||||
uint8_t RampSmoothTimeLSB;
|
||||
uint8_t RampDownTimeMSB; //波降
|
||||
uint8_t RampDownTimeLSB;
|
||||
uint8_t RampBreakTimeMSB; //休息
|
||||
uint8_t RampBreakTimeLSB;
|
||||
}SchemeData_t;
|
||||
|
||||
#define RMS_USER_DATA_LENGTH 4//110///4 //用户数据长度
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t frameHeader; //帧头
|
||||
uint8_t frameLength; //帧长度
|
||||
uint8_t functionCode; //功能码
|
||||
uint8_t myNumber; //编号
|
||||
uint8_t channel; //通道号
|
||||
uint16_t rmsDataBuffer[RMS_USER_DATA_LENGTH]; //数据内容
|
||||
uint8_t checkSum; //校验和
|
||||
uint8_t frameTail; //帧尾
|
||||
} rms_data_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t frameHeader; //帧头
|
||||
uint8_t frameLength; //帧长度
|
||||
uint8_t functionCode; //功能码
|
||||
uint8_t channel; //通道号
|
||||
uint8_t ChargeState; //充电状态
|
||||
uint8_t BatteryLevelA; //A 电池电量
|
||||
uint8_t BatteryLevelB; //B 电池电量
|
||||
uint8_t BatteryLevelC; //C 电池电量
|
||||
|
||||
uint8_t reserve[5]; //保留字段
|
||||
|
||||
uint8_t checkSum; //校验和
|
||||
uint8_t frameTail; //帧尾
|
||||
} reply_run_status_t;
|
||||
|
||||
#define MAX_VERSION_LEN 15
|
||||
typedef struct
|
||||
{
|
||||
uint8_t frameHeader; //帧头
|
||||
uint8_t frameLength; //帧长度
|
||||
uint8_t functionCode; //功能码
|
||||
uint8_t channel; //通道号
|
||||
uint8_t VersionDes[MAX_VERSION_LEN]; //版本描述
|
||||
|
||||
uint8_t checkSum; //校验和
|
||||
uint8_t frameTail; //帧尾
|
||||
} check_version_t;
|
||||
|
||||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
//设备连接状态
|
||||
typedef enum
|
||||
{
|
||||
DisconnectState = 0,
|
||||
ConnectState
|
||||
}ConnectStateInfo_e;
|
||||
// 电极片状态
|
||||
typedef enum
|
||||
{
|
||||
ElectrodeFalloff,
|
||||
ElectrodeConnectted
|
||||
}ElectrodeStatusInfo_e;
|
||||
// 适配器连接状态
|
||||
typedef enum
|
||||
{
|
||||
AdapterNotConnected = 0,
|
||||
AdapterConnected
|
||||
}AdapterStateInfo_e;
|
||||
//FDS异步操作标志结构体
|
||||
typedef struct
|
||||
{
|
||||
bool scheme_update; //scheme_record记录更新标志
|
||||
bool read; //读记录标志
|
||||
bool gc; //碎片收集标志
|
||||
bool busy; //FDS忙标志
|
||||
}my_fds_info_t;
|
||||
|
||||
//记录scheme的id和内容
|
||||
typedef struct
|
||||
{
|
||||
uint8_t text[FDS_DATA_LENGTH];
|
||||
}__attribute__((aligned(4)))SchemePara_t;
|
||||
/* Public constants ----------------------------------------------*/
|
||||
/* Public variables ----------------------------------------------*/
|
||||
extern uint16_t m_conn_handle;
|
||||
extern uint16_t m_ble_nus_max_data_len;
|
||||
extern uint8_t CurrentFlag;
|
||||
extern ConnectStateInfo_e DeviceConnectState;
|
||||
extern ElectrodeStatusInfo_e ElectrodeStatusInfo;
|
||||
extern my_fds_info_t my_fds_info;
|
||||
extern SchemePara_t SchemePara;
|
||||
extern SchemeData_t SchemeData;
|
||||
extern uint8_t BLE_MAC[BLE_GAP_ADDR_LEN];
|
||||
extern AdapterStateInfo_e AdapterState;
|
||||
extern AdapterStateInfo_e LastAdapterState;
|
||||
extern SchemeData_t PreStorageSchemeData;
|
||||
extern ElectrodeStatusInfo_e LastElectrodeStatusInfo;
|
||||
extern uint16_t ccrvaluebuf[70];
|
||||
extern uint8_t eegflag;
|
||||
/* Public function prototypes ------------------------------------*/
|
||||
void service_nus_init(void);
|
||||
void StartManage(void);
|
||||
void PauseManage(void);
|
||||
void RecoverManage(void);
|
||||
void StopManage(void);
|
||||
void CloseOutput(void);
|
||||
void SetStandardCurrent(uint8_t* AnalysisDataBfferIn_t);
|
||||
void RunRoll(void);
|
||||
void CheckVersion(void);
|
||||
void UpdateCurrent(uint8_t CurrentSend);
|
||||
void JudgeLedMode(void);
|
||||
void DisconnectControl(void);
|
||||
void SchemeQuery(uint8_t idMSB,uint8_t idLSB);
|
||||
void UpdateControlStatus(uint8_t ControlStatus);
|
||||
void StateUpLoad(AdapterStateInfo_e AdapterStateTemp , ElectrodeStatusInfo_e ElectrodeStatusTemp);
|
||||
void EegDataSend(void);
|
||||
void user_ble_or_uart_send(char * txBufferP, uint16_t Length);
|
||||
|
||||
void ble_send_rms_data(uint16_t rms_data);
|
||||
#endif
|
||||
/*************************** END OF FILE ***************************/
|
||||
|
||||
|
||||
117
app/Inc/timer.h
Normal file
117
app/Inc/timer.h
Normal file
@@ -0,0 +1,117 @@
|
||||
/********************************************************************
|
||||
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 ***************************/
|
||||
|
||||
|
||||
|
||||
31
app/Inc/user_config.h
Normal file
31
app/Inc/user_config.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/********************************************************************
|
||||
Copyright (c) 2021 Xiangyu Medical Co.,Ltd. All rights reserved.
|
||||
FileName :
|
||||
Author : xiaozhengsheng
|
||||
Version : V1.0
|
||||
Date :
|
||||
Note :
|
||||
History :
|
||||
********************************************************************/
|
||||
#ifndef _USER_CONFIG_H_
|
||||
#define _USER_CONFIG_H_
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#define SOFT_VERSION_MAX_LENGTH 50
|
||||
typedef struct {
|
||||
uint8_t major; // 主版本号 (V1)
|
||||
uint8_t minor; // 次版本号 (.0)
|
||||
uint8_t patch; // 修订号 (.0)
|
||||
uint8_t build; // 构建号 (.0)
|
||||
uint8_t testVersion[30];
|
||||
} version_t;
|
||||
extern char softWareVersion[SOFT_VERSION_MAX_LENGTH];
|
||||
|
||||
void read_config_user_config(void);
|
||||
|
||||
#endif
|
||||
|
||||
/*************************** END OF FILE ***************************/
|
||||
|
||||
Reference in New Issue
Block a user