#include #include /* #include */ #include #include #include #include #include #include #include #include #include #include static void setup_nvic_priorities() { /* No sub priorities */ NVIC_SetPriorityGrouping(2); /* Setup Priorities */ NVIC_SetPriority(ADC_IRQn, 2); NVIC_SetPriority(DMA2_Stream0_IRQn, 1); NVIC_SetPriority(DMA2_Stream7_IRQn, 3); } static float pt1000_value; static volatile int pt1000_value_status; int main() { const char *uart_input; size_t uart_input_len; shellmatta_handle_t shell_handle; setup_nvic_priorities(); systick_setup(); adc_pt1000_setup_meas(); digio_setup_default_all(); led_setup(); loudspeaker_setup(); uart_init_with_dma(); shell_handle = shell_init(); /* Try random calibration */ adc_pt1000_set_resistance_calibration(-0.8f, 0.0f, true); while(1) { pt1000_value_status = adc_pt1000_get_current_resistance(&pt1000_value); if (uart_receive_data_with_dma(&uart_input, &uart_input_len) >= 0) { shell_handle_input(shell_handle, uart_input, uart_input_len); } //systick_wait_ms(300); } }