|
|
@ -27,24 +27,28 @@ struct ad77681_init_param ADC_default_init_param = { |
|
|
|
// .extra = (void*)&spi_eng_init_param,
|
|
|
|
// },
|
|
|
|
/* Configuration */ |
|
|
|
AD77681_FAST, // power_mode
|
|
|
|
AD77681_MCLK_DIV_8, // mclk_div
|
|
|
|
AD77681_CONV_CONTINUOUS, // conv_mode
|
|
|
|
AD77681_POSITIVE_FS, // diag_mux_sel
|
|
|
|
false, // conv_diag_sel
|
|
|
|
AD77681_CONV_16BIT, // conv_len
|
|
|
|
AD77681_CRC, // crc_sel
|
|
|
|
0, // status_bit
|
|
|
|
AD77681_VCM_HALF_VCC, /* VCM setup*/ |
|
|
|
AD77681_AINn_ENABLED, /* AIN- precharge buffer*/ |
|
|
|
AD77681_AINp_ENABLED, /* AIN+ precharge buffer*/ |
|
|
|
AD77681_BUFn_ENABLED, /* REF- buffer*/ |
|
|
|
AD77681_BUFp_ENABLED, /* REF+ buffer*/ |
|
|
|
AD77681_FIR, /* FIR Filter*/ |
|
|
|
AD77681_SINC5_FIR_DECx32, /* Decimate by 32*/ |
|
|
|
0, /* OS ratio of SINC3*/ |
|
|
|
4096, /* Reference voltage*/ |
|
|
|
16384, /* MCLK in kHz*/ |
|
|
|
.power_mode = AD77681_FAST, // power_mode
|
|
|
|
.mclk_div = AD77681_MCLK_DIV_8, // mclk_div
|
|
|
|
.conv_mode = AD77681_CONV_CONTINUOUS, // conv_mode
|
|
|
|
.diag_mux_sel = AD77681_POSITIVE_FS, // diag_mux_sel
|
|
|
|
.conv_diag_sel = false, // conv_diag_sel
|
|
|
|
.conv_len = AD77681_CONV_16BIT, // conv_len
|
|
|
|
.crc_sel = AD77681_CRC, // crc_sel
|
|
|
|
.status_bit = 0, // status_bit
|
|
|
|
.VCM_out = AD77681_VCM_HALF_VCC, /* VCM setup*/ |
|
|
|
.AINn = AD77681_AINn_ENABLED, /* AIN- precharge buffer*/ |
|
|
|
.AINp = AD77681_AINp_ENABLED, /* AIN+ precharge buffer*/ |
|
|
|
.REFn = AD77681_BUFn_ENABLED, /* REF- buffer*/ |
|
|
|
.REFp = AD77681_BUFp_ENABLED, /* REF+ buffer*/ |
|
|
|
.filter = AD77681_FIR, /* FIR Filter*/ |
|
|
|
.decimate = AD77681_SINC5_FIR_DECx32, /* Decimate by 32*/ |
|
|
|
.sinc3_osr = 0, /* OS ratio of SINC3*/ |
|
|
|
.vref = 4096, /* Reference voltage*/ |
|
|
|
.mclk = 16384, /* MCLK in kHz*/ |
|
|
|
|
|
|
|
// sample_rate
|
|
|
|
// data_frame_byte
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
void Main::generateScheduleTicket() { |
|
|
@ -64,7 +68,18 @@ void Main::main(int argc, char const *argv[]) { |
|
|
|
m_hardware.output_switch_init(); |
|
|
|
|
|
|
|
PB12.initAsOutput(true); |
|
|
|
m_ad77681.initialize("ad77681", &m_hardware, &hspi1, &PB12, ADC_default_init_param); |
|
|
|
m_ad77681.initialize("ad77681", &m_hardware, &hspi2, &PB12, ADC_default_init_param); |
|
|
|
uint8_t adc_data[5]; |
|
|
|
while (1) { |
|
|
|
m_ad77681.spi_read_adc_data(adc_data, AD77681_CONTINUOUS_DATA_READ); |
|
|
|
printf("[ADC DATA]: 0x"); |
|
|
|
for (int i = 0; i < sizeof(adc_data); i++) { |
|
|
|
printf("%x", adc_data[i]); |
|
|
|
} |
|
|
|
printf("\r\n"); |
|
|
|
HAL_Delay(1000); |
|
|
|
// HAL_IWDG_Refresh(&hiwdg);
|
|
|
|
} |
|
|
|
|
|
|
|
while (true) { |
|
|
|
m_hardware.periodicJob(); |
|
|
@ -74,6 +89,6 @@ void Main::main(int argc, char const *argv[]) { |
|
|
|
m_hardware.input_sensors_table_dump(0); |
|
|
|
} |
|
|
|
|
|
|
|
HAL_IWDG_Refresh(&hiwdg); |
|
|
|
// HAL_IWDG_Refresh(&hiwdg);
|
|
|
|
} |
|
|
|
} |