Files
checker_slave/source/elec_det/hardware/hardware.c
ranchuan c13291bc03 启动时调压改为查找任务id0,自检信息中的方案id由方案初始化时确定
接收到升级方案命令时把本机方案状态设置为无效
    检测电阻命令index为5时读取本机校准值
2023-11-03 18:15:01 +08:00

90 lines
1.9 KiB
C

#include "base/define.h"
#include "gpio_cfg.h"
#include "adc_cfg.h"
//#include "usartapp.h"
//#include "console_usart.h"
#include "base/delay.h"
#include "power.h"
//#include "database.h"
#include "timer_cfg.h"
#include "base/utility.h"
//#include "yecan.h"
#include "hardware/jw3425iic.h"
volatile BoartCheck_st board_st;
volatile BoardInfo_un boardinfo_un;
void test_timer_function()
{
static uint8_t flag_ = 0;
LED1_Out = flag_;
flag_ ^= 0x01;
}
//检测小板初始化
void Ye_BoardInit(void)
{
AdcDef_Init();
DAC_Definit();
// ConsoleUsart_Init();
// YeCanInit();
CtrlGpio_DefInit();
DelayTimer_Init();
TimerCount_Init();
CurrentSampleR_Def
I2C_init();
delay_ms(500);
}
/*
测试小板上电自检
*/
void Ye_BoardCheck(void)
{
uint16_t aus_buf[AD_SCAN_COUNT];
board_st.app_run_flag = 1;
board_st.device_id = Gpio_GetDeivceAddr();
board_st.chip_temp = (uint16_t)(Get_Temperature()*10);
board_st.soft_v = SoftVersion;
board_st.hard_v = boardinfo_un.boardinfo.hard_v;
board_st.resistor_diff = boardinfo_un.boardinfo.resistor_diff;
//board_st.plan_id = *((uint32_t*)APP_TEST_PLAN_ADDR);
GetADC1_Value(VCC_1V25_CH,aus_buf,AD_SCAN_COUNT);
Bubble_Sort_u16(aus_buf,AD_SCAN_COUNT);
board_st.v1p25_adc = aus_buf[AD_SCAN_COUNT>>1];
GetADC1_Value(VCC_2V5_CH,aus_buf,AD_SCAN_COUNT);
Bubble_Sort_u16(aus_buf,AD_SCAN_COUNT);
board_st.v2p5_adc = aus_buf[AD_SCAN_COUNT>>1];
GetADC1_Value(ADC_Channel_16,aus_buf,AD_SCAN_COUNT);
Bubble_Sort_u16(aus_buf,AD_SCAN_COUNT);
board_st.adc_shake = aus_buf[AD_SCAN_COUNT-1] - aus_buf[0];
LED1_Out = 1;
if(0 != PowerCalPrapare())
{
board_st.v1p25_adc = 0;
LED1_Out = 0;
}
PowerCalibration_set(POWER_DEF_V,45);
delay_ms(5);
board_st.bus_5p5v = Power_GetHPowerV();
//
#ifdef CHECKER_DEV
PowerCalibration_set(260,50);
delay_ms(100);
#else
PowerCalibration_set(90,45);
#endif
board_st.bus_26v = Power_GetHPowerV();
//
PowerCalibration_set(POWER_DEF_V,45);
}