|
@@ -6,23 +6,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
#if (CONFIG_MC105_HW_VERSION==2)
|
|
#if (CONFIG_MC105_HW_VERSION==2)
|
|
|
-#define ADC01_NUM (8)
|
|
|
|
|
-#define ADC2_NUM 4
|
|
|
|
|
|
|
+#define ADC01_NUM 6
|
|
|
|
|
|
|
|
#define MOS_TEMP_BUFF_IDX 0
|
|
#define MOS_TEMP_BUFF_IDX 0
|
|
|
-#define VREF5v_BUFF_IDX 1 //需要跳线修改mos的第二路温感采集模拟5v
|
|
|
|
|
-#define VBUS_I_BUFF_IDX 2
|
|
|
|
|
-#define U_VOL_BUFF_IDX 3
|
|
|
|
|
-#define V_VOL_BUFF_IDX 4
|
|
|
|
|
-#define W_VOL_BUFF_IDX 5
|
|
|
|
|
-#define VREF_BUFF_IDX 7
|
|
|
|
|
-
|
|
|
|
|
-#define VBUS_V_BUFF_IDX 8
|
|
|
|
|
-#define ACC_V_BUFF_IDX 9
|
|
|
|
|
-#define THROTTLE_BUFF_IDX 10
|
|
|
|
|
|
|
+#define VBUS_V_BUFF_IDX 1
|
|
|
|
|
+#define VREF5v_BUFF_IDX 2 //需要跳线修改mos的第二路温感采集模拟5v
|
|
|
|
|
+#define ACC_V_BUFF_IDX 3
|
|
|
|
|
+#define U_VOL_BUFF_IDX 4
|
|
|
|
|
+#define VBUS_I_BUFF_IDX 5
|
|
|
|
|
+#define V_VOL_BUFF_IDX 6
|
|
|
|
|
+#define THROTTLE_BUFF_IDX 7
|
|
|
|
|
+#define W_VOL_BUFF_IDX 8
|
|
|
|
|
+#define VREF_BUFF_IDX 10
|
|
|
#define MOTOR_TEMP_BUFF_IDX 11
|
|
#define MOTOR_TEMP_BUFF_IDX 11
|
|
|
-#define REG_CHAN_NUM (ADC01_NUM + ADC2_NUM)
|
|
|
|
|
-#define ADC_DUAL_MODE ADC_DAUL_INSERTED_PARALLEL
|
|
|
|
|
|
|
+#define REG_CHAN_NUM (ADC01_NUM + ADC01_NUM)
|
|
|
|
|
+#define ADC_DUAL_MODE ADC_DAUL_REGULAL_PARALLEL_INSERTED_PARALLEL
|
|
|
#elif (CONFIG_MC105_HW_VERSION==3)
|
|
#elif (CONFIG_MC105_HW_VERSION==3)
|
|
|
#define ADC01_NUM (9)
|
|
#define ADC01_NUM (9)
|
|
|
|
|
|
|
@@ -63,7 +61,7 @@ float vref_5v_adc = 2047.0f;
|
|
|
|
|
|
|
|
#define VREF_ADC_DATA 1509.0F //1498, 1.21/3.3*4095
|
|
#define VREF_ADC_DATA 1509.0F //1498, 1.21/3.3*4095
|
|
|
|
|
|
|
|
-#if (CONFIG_MC105_HW_VERSION==3)
|
|
|
|
|
|
|
+
|
|
|
static void adc01_dma_init(void)
|
|
static void adc01_dma_init(void)
|
|
|
{
|
|
{
|
|
|
dma_parameter_struct dma_init_struct;
|
|
dma_parameter_struct dma_init_struct;
|
|
@@ -85,31 +83,8 @@ static void adc01_dma_init(void)
|
|
|
|
|
|
|
|
dma_channel_enable(DMA0, DMA_CH0);
|
|
dma_channel_enable(DMA0, DMA_CH0);
|
|
|
}
|
|
}
|
|
|
-#else
|
|
|
|
|
-static void adc01_dma_init(void)
|
|
|
|
|
-{
|
|
|
|
|
- dma_parameter_struct dma_init_struct;
|
|
|
|
|
- rcu_periph_clock_enable(RCU_DMA0);
|
|
|
|
|
-
|
|
|
|
|
- dma_deinit(DMA0, DMA_CH0);
|
|
|
|
|
- dma_init_struct.direction = DMA_PERIPHERAL_TO_MEMORY;
|
|
|
|
|
- dma_init_struct.memory_addr = (uint32_t)adc_buffer;
|
|
|
|
|
- dma_init_struct.memory_inc = DMA_MEMORY_INCREASE_ENABLE;
|
|
|
|
|
- dma_init_struct.memory_width = DMA_MEMORY_WIDTH_16BIT;
|
|
|
|
|
- dma_init_struct.number = REG_CHAN_NUM;
|
|
|
|
|
- dma_init_struct.periph_addr = (uint32_t)(&ADC_RDATA(ADC0));
|
|
|
|
|
- dma_init_struct.periph_inc = DMA_PERIPH_INCREASE_DISABLE;
|
|
|
|
|
- dma_init_struct.periph_width = DMA_PERIPHERAL_WIDTH_16BIT;
|
|
|
|
|
- dma_init_struct.priority = DMA_PRIORITY_ULTRA_HIGH;
|
|
|
|
|
- dma_init(DMA0, DMA_CH0, &dma_init_struct);
|
|
|
|
|
- dma_circulation_enable(DMA0, DMA_CH0);
|
|
|
|
|
- dma_memory_to_memory_disable(DMA0, DMA_CH0);
|
|
|
|
|
|
|
|
|
|
- dma_channel_enable(DMA0, DMA_CH0);
|
|
|
|
|
-}
|
|
|
|
|
-#endif
|
|
|
|
|
|
|
|
|
|
-#if (CONFIG_MC105_HW_VERSION==3)
|
|
|
|
|
static void adc01_init(void) {
|
|
static void adc01_init(void) {
|
|
|
/* config ADC clock */
|
|
/* config ADC clock */
|
|
|
rcu_adc_clock_config(RCU_CKADC_CKAPB2_DIV4); //APB2 clk 120M, adc clk 30M
|
|
rcu_adc_clock_config(RCU_CKADC_CKAPB2_DIV4); //APB2 clk 120M, adc clk 30M
|
|
@@ -129,6 +104,26 @@ static void adc01_init(void) {
|
|
|
adc_data_alignment_config(ADC1, ADC_DATAALIGN_RIGHT);
|
|
adc_data_alignment_config(ADC1, ADC_DATAALIGN_RIGHT);
|
|
|
|
|
|
|
|
/* configure ADC regular channel */
|
|
/* configure ADC regular channel */
|
|
|
|
|
+
|
|
|
|
|
+#if (CONFIG_MC105_HW_VERSION==2)
|
|
|
|
|
+ adc_channel_length_config(ADC0, ADC_REGULAR_CHANNEL, ADC01_NUM);
|
|
|
|
|
+ adc_regular_channel_config(ADC0, 0, MOS_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+ adc_regular_channel_config(ADC0, 1, MOS_TEMP1_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+ adc_regular_channel_config(ADC0, 2, U_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+ adc_regular_channel_config(ADC0, 3, V_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+ adc_regular_channel_config(ADC0, 4, W_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+ adc_regular_channel_config(ADC0, 5, ADC_CHANNEL_17, ADC_REGCHAN_SAMPLE_TIME);//3.3vref
|
|
|
|
|
+
|
|
|
|
|
+ adc_tempsensor_vrefint_enable();
|
|
|
|
|
+
|
|
|
|
|
+ adc_channel_length_config(ADC1, ADC_REGULAR_CHANNEL, ADC01_NUM);
|
|
|
|
|
+ adc_regular_channel_config(ADC1, 0, VBUS_V_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+ adc_regular_channel_config(ADC1, 1, ACC_V_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+ adc_regular_channel_config(ADC1, 2, VBUS_I_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+ adc_regular_channel_config(ADC1, 3, THROTTLE_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+ adc_regular_channel_config(ADC1, 4, ADC_CHANNEL_10, ADC_REGCHAN_SAMPLE_TIME); //dumy
|
|
|
|
|
+ adc_regular_channel_config(ADC1, 5, MOTOR_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+#else
|
|
|
adc_channel_length_config(ADC0, ADC_REGULAR_CHANNEL, ADC01_NUM);
|
|
adc_channel_length_config(ADC0, ADC_REGULAR_CHANNEL, ADC01_NUM);
|
|
|
adc_regular_channel_config(ADC0, 0, MOS_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
adc_regular_channel_config(ADC0, 0, MOS_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
adc_regular_channel_config(ADC0, 1, MOTOR_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
adc_regular_channel_config(ADC0, 1, MOTOR_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
@@ -139,6 +134,7 @@ static void adc01_init(void) {
|
|
|
adc_regular_channel_config(ADC0, 6, THROTTLE2_5V_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
adc_regular_channel_config(ADC0, 6, THROTTLE2_5V_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
adc_regular_channel_config(ADC0, 7, U_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
adc_regular_channel_config(ADC0, 7, U_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
adc_regular_channel_config(ADC0, 8, ZERO_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME); //insert zero vol
|
|
adc_regular_channel_config(ADC0, 8, ZERO_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME); //insert zero vol
|
|
|
|
|
+
|
|
|
adc_tempsensor_vrefint_enable();
|
|
adc_tempsensor_vrefint_enable();
|
|
|
|
|
|
|
|
adc_channel_length_config(ADC1, ADC_REGULAR_CHANNEL, ADC01_NUM);
|
|
adc_channel_length_config(ADC1, ADC_REGULAR_CHANNEL, ADC01_NUM);
|
|
@@ -151,6 +147,7 @@ static void adc01_init(void) {
|
|
|
adc_regular_channel_config(ADC1, 6, THROTTLE_5V_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
adc_regular_channel_config(ADC1, 6, THROTTLE_5V_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
adc_regular_channel_config(ADC1, 7, ZERO_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME); //insert zero vol
|
|
adc_regular_channel_config(ADC1, 7, ZERO_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME); //insert zero vol
|
|
|
adc_regular_channel_config(ADC1, 8, DC5V_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
adc_regular_channel_config(ADC1, 8, DC5V_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
+#endif
|
|
|
adc_buffer[VREF_BUFF_IDX] = VREF_ADC_DATA; //1.21/3.3*4095
|
|
adc_buffer[VREF_BUFF_IDX] = VREF_ADC_DATA; //1.21/3.3*4095
|
|
|
|
|
|
|
|
/* configure ADC regular channel trigger */
|
|
/* configure ADC regular channel trigger */
|
|
@@ -204,129 +201,7 @@ static void adc01_init(void) {
|
|
|
//start regular channels
|
|
//start regular channels
|
|
|
adc_software_trigger_enable(ADC0, ADC_REGULAR_CHANNEL);
|
|
adc_software_trigger_enable(ADC0, ADC_REGULAR_CHANNEL);
|
|
|
}
|
|
}
|
|
|
-#else
|
|
|
|
|
-static void adc0_init(void){
|
|
|
|
|
- /* config ADC clock */
|
|
|
|
|
- rcu_adc_clock_config(RCU_CKADC_CKAPB2_DIV4); //APB2 clk 120M, adc clk 30M
|
|
|
|
|
-
|
|
|
|
|
- rcu_periph_clock_enable(RCU_ADC0);
|
|
|
|
|
-
|
|
|
|
|
- adc_deinit(ADC0);
|
|
|
|
|
-
|
|
|
|
|
- adc_mode_config(ADC_DUAL_MODE);
|
|
|
|
|
-
|
|
|
|
|
- adc_special_function_config(ADC0, ADC_CONTINUOUS_MODE, ENABLE);
|
|
|
|
|
- adc_special_function_config(ADC0, ADC_SCAN_MODE, ENABLE);
|
|
|
|
|
-
|
|
|
|
|
- /* configure ADC data alignment */
|
|
|
|
|
- adc_data_alignment_config(ADC0, ADC_DATAALIGN_RIGHT);
|
|
|
|
|
-
|
|
|
|
|
- /* configure ADC inserted channel length */
|
|
|
|
|
- adc_channel_length_config(ADC0, ADC_INSERTED_CHANNEL, 1);
|
|
|
|
|
-
|
|
|
|
|
- //adc_inserted_channel_config(ADC0, 0, U_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
|
|
|
|
|
-#ifdef U_PHASE_I_CHAN
|
|
|
|
|
- adc_update_insert_sample_time(ADC0, U_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
|
|
|
|
|
-#endif
|
|
|
|
|
-#ifdef V_PHASE_I_CHAN
|
|
|
|
|
- adc_update_insert_sample_time(ADC0, V_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
|
|
|
|
|
-#endif
|
|
|
|
|
-#ifdef W_PHASE_I_CHAN
|
|
|
|
|
- adc_update_insert_sample_time(ADC0, W_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
|
|
|
|
|
-#endif
|
|
|
|
|
-
|
|
|
|
|
-#ifdef CONFIG_HW_MUTISAMPLE
|
|
|
|
|
- adc_oversample_mode_config(ADC0, ADC_OVERSAMPLING_ALL_CONVERT, CONFIG_HW_MUTISAMPLE_SHIFT, CONFIG_HW_MUTISAMPLE);
|
|
|
|
|
- adc_oversample_mode_enable(ADC0);
|
|
|
|
|
-#endif
|
|
|
|
|
- /* configure ADC inserted channel trigger */
|
|
|
|
|
- adc_external_trigger_source_config(ADC0, ADC_INSERTED_CHANNEL, ADC_TRIGGER_PHASE);
|
|
|
|
|
-
|
|
|
|
|
- /* ADC external trigger enable */
|
|
|
|
|
- adc_external_trigger_config(ADC0, ADC_INSERTED_CHANNEL, ENABLE);
|
|
|
|
|
-
|
|
|
|
|
- /* configure ADC regular channel */
|
|
|
|
|
- adc_channel_length_config(ADC0, ADC_REGULAR_CHANNEL, ADC01_NUM);
|
|
|
|
|
-#ifndef CONFIG_BOARD_MCXXX
|
|
|
|
|
- adc_regular_channel_config(ADC0, 0, VBUS_V_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 1, THROTTLE_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 2, U_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 3, V_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 4, W_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 5, MOS_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 6, MOTOR_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
-#elif (CONFIG_MC105_HW_VERSION==2)
|
|
|
|
|
- adc_regular_channel_config(ADC0, 0, MOS_TEMP_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 1, MOS_TEMP1_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 2, VBUS_I_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 3, U_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 4, V_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 5, W_VOL_ADC_CHAN, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 6, ADC_CHANNEL_10, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_regular_channel_config(ADC0, 7, ADC_CHANNEL_17, ADC_REGCHAN_SAMPLE_TIME);
|
|
|
|
|
- adc_tempsensor_vrefint_enable();
|
|
|
|
|
- adc_buffer[VREF_BUFF_IDX] = VREF_ADC_DATA; //1.21/3.3*4095
|
|
|
|
|
-#endif
|
|
|
|
|
- /* configure ADC regular channel trigger */
|
|
|
|
|
- adc_external_trigger_source_config(ADC0, ADC_REGULAR_CHANNEL, ADC0_1_2_EXTTRIG_REGULAR_NONE);
|
|
|
|
|
- adc_external_trigger_config(ADC0, ADC_REGULAR_CHANNEL, ENABLE);
|
|
|
|
|
-
|
|
|
|
|
- adc_dma_mode_enable(ADC0);
|
|
|
|
|
-
|
|
|
|
|
- /* enable ADC interface */
|
|
|
|
|
- adc_enable(ADC0);
|
|
|
|
|
-
|
|
|
|
|
- delay_ms(1);
|
|
|
|
|
- /* ADC calibration and reset calibration */
|
|
|
|
|
- adc_calibration_enable(ADC0);
|
|
|
|
|
-
|
|
|
|
|
- nvic_irq_enable(ADC0_1_IRQn, ADC_IRQ_PRIORITY, 0);
|
|
|
|
|
-
|
|
|
|
|
- adc_disable_ext_trigger();
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-static void adc1_init(void){
|
|
|
|
|
|
|
|
|
|
- rcu_periph_clock_enable(RCU_ADC1);
|
|
|
|
|
- adc_deinit(ADC1);
|
|
|
|
|
-
|
|
|
|
|
- adc_special_function_config(ADC1, ADC_CONTINUOUS_MODE, ENABLE);
|
|
|
|
|
- adc_special_function_config(ADC1, ADC_SCAN_MODE, ENABLE);
|
|
|
|
|
-
|
|
|
|
|
- /* configure ADC data alignment */
|
|
|
|
|
- adc_data_alignment_config(ADC1, ADC_DATAALIGN_RIGHT);
|
|
|
|
|
-
|
|
|
|
|
- /* configure ADC inserted channel length */
|
|
|
|
|
- adc_channel_length_config(ADC1, ADC_INSERTED_CHANNEL, 1);
|
|
|
|
|
-
|
|
|
|
|
- /* configure ADC inserted channel */
|
|
|
|
|
-#ifdef U_PHASE_I_CHAN
|
|
|
|
|
- adc_update_insert_sample_time(ADC1, U_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
|
|
|
|
|
-#endif
|
|
|
|
|
-#ifdef V_PHASE_I_CHAN
|
|
|
|
|
- adc_update_insert_sample_time(ADC1, V_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
|
|
|
|
|
-#endif
|
|
|
|
|
-#ifdef W_PHASE_I_CHAN
|
|
|
|
|
- adc_update_insert_sample_time(ADC1, W_PHASE_I_CHAN, ADC_INSERT_SAMPLE_TIME);
|
|
|
|
|
-#endif
|
|
|
|
|
-
|
|
|
|
|
-#ifdef CONFIG_HW_MUTISAMPLE
|
|
|
|
|
- adc_oversample_mode_config(ADC1, ADC_OVERSAMPLING_ALL_CONVERT, CONFIG_HW_MUTISAMPLE_SHIFT, CONFIG_HW_MUTISAMPLE);
|
|
|
|
|
- adc_oversample_mode_enable(ADC1);
|
|
|
|
|
-#endif
|
|
|
|
|
-
|
|
|
|
|
- /* ADC external trigger enable */
|
|
|
|
|
- adc_external_trigger_source_config(ADC1, ADC_INSERTED_CHANNEL, ADC_TRIGGER_NONE);
|
|
|
|
|
- adc_external_trigger_config(ADC1, ADC_INSERTED_CHANNEL, ENABLE);
|
|
|
|
|
-
|
|
|
|
|
- /* enable ADC interface */
|
|
|
|
|
- adc_enable(ADC1);
|
|
|
|
|
- delay_ms(1);
|
|
|
|
|
- /* ADC calibration and reset calibration */
|
|
|
|
|
- adc_calibration_enable(ADC1);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-#endif
|
|
|
|
|
|
|
|
|
|
static void adc_gpio_init(void) {
|
|
static void adc_gpio_init(void) {
|
|
|
|
|
|
|
@@ -425,12 +300,7 @@ static void adc_gpio_init(void) {
|
|
|
void adc_init(void) {
|
|
void adc_init(void) {
|
|
|
adc_gpio_init();
|
|
adc_gpio_init();
|
|
|
adc01_dma_init();
|
|
adc01_dma_init();
|
|
|
-#if (CONFIG_MC105_HW_VERSION==3)
|
|
|
|
|
adc01_init();
|
|
adc01_init();
|
|
|
-#else
|
|
|
|
|
- adc0_init();
|
|
|
|
|
- adc1_init();
|
|
|
|
|
-#endif
|
|
|
|
|
adc_current_sample_config(0);
|
|
adc_current_sample_config(0);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -475,19 +345,11 @@ u16 adc_get_vbus(void) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
u16 adc_get_acc(void) {
|
|
u16 adc_get_acc(void) {
|
|
|
-#ifdef CONFIG_BOARD_MCXXX
|
|
|
|
|
return (float)adc_buffer[ACC_V_BUFF_IDX] * VREF_3V3_COMPESTION();
|
|
return (float)adc_buffer[ACC_V_BUFF_IDX] * VREF_3V3_COMPESTION();
|
|
|
-#else
|
|
|
|
|
- return adc_get_vbus();
|
|
|
|
|
-#endif
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
u16 adc_get_ibus(void) {
|
|
u16 adc_get_ibus(void) {
|
|
|
-#ifdef CONFIG_BOARD_MCXXX
|
|
|
|
|
return (float)adc_buffer[VBUS_I_BUFF_IDX] * VREF_5V_COMPESTION();
|
|
return (float)adc_buffer[VBUS_I_BUFF_IDX] * VREF_5V_COMPESTION();
|
|
|
-#else
|
|
|
|
|
- return 0;
|
|
|
|
|
-#endif
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
u16 adc_get_throttle(void) {
|
|
u16 adc_get_throttle(void) {
|
|
@@ -549,19 +411,11 @@ u16 adc_get_motor_temp(void) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
u16 adc_get_vref(void) {
|
|
u16 adc_get_vref(void) {
|
|
|
-#ifdef CONFIG_BOARD_MCXXX
|
|
|
|
|
return adc_buffer[VREF_BUFF_IDX];
|
|
return adc_buffer[VREF_BUFF_IDX];
|
|
|
-#else
|
|
|
|
|
- return 0;
|
|
|
|
|
-#endif
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
u16 adc_get_5v_ref(void) {
|
|
u16 adc_get_5v_ref(void) {
|
|
|
-#ifdef CONFIG_BOARD_MCXXX
|
|
|
|
|
return adc_buffer[VREF5v_BUFF_IDX];
|
|
return adc_buffer[VREF5v_BUFF_IDX];
|
|
|
-#else
|
|
|
|
|
- return 0;
|
|
|
|
|
-#endif
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void adc_start_convert(void) {
|
|
void adc_start_convert(void) {
|