application: make some text only output when DEBUG is set
This commit is contained in:
parent
165f545310
commit
2cccdd4d6e
|
@ -89,6 +89,13 @@ size_t putc(char c)
|
||||||
return length; // return number of characters printed
|
return length; // return number of characters printed
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// only print when debug is enabled
|
||||||
|
#if DEBUG
|
||||||
|
#define puts_debug(x) puts(x)
|
||||||
|
#else
|
||||||
|
#define puts_debug(x) {}
|
||||||
|
#endif
|
||||||
|
|
||||||
/** print float with fixed precision
|
/** print float with fixed precision
|
||||||
* @param[in] fpu float to print
|
* @param[in] fpu float to print
|
||||||
* @param[in] precision number of digits after comma to print
|
* @param[in] precision number of digits after comma to print
|
||||||
|
@ -663,7 +670,7 @@ void main(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// setup RTC
|
// setup RTC
|
||||||
puts("setup RTC: ");
|
puts_debug("setup RTC: ");
|
||||||
rcc_periph_clock_enable(RCC_RTC); // enable clock for RTC peripheral
|
rcc_periph_clock_enable(RCC_RTC); // enable clock for RTC peripheral
|
||||||
rcc_osc_on(RCC_LSI); // enable LSI clock
|
rcc_osc_on(RCC_LSI); // enable LSI clock
|
||||||
while (!rcc_is_osc_ready(RCC_LSI)); // wait until clock is ready
|
while (!rcc_is_osc_ready(RCC_LSI)); // wait until clock is ready
|
||||||
|
@ -677,10 +684,10 @@ void main(void)
|
||||||
pwr_enable_backup_domain_write_protect(); // re-enable protection now that we configured the RTC clock
|
pwr_enable_backup_domain_write_protect(); // re-enable protection now that we configured the RTC clock
|
||||||
}
|
}
|
||||||
boot_time = rtc_to_seconds(); // remember the start time
|
boot_time = rtc_to_seconds(); // remember the start time
|
||||||
puts("OK\n");
|
puts_debug("OK\n");
|
||||||
|
|
||||||
// setup wakeup timer for periodic checks
|
// setup wakeup timer for periodic checks
|
||||||
puts("setup wakeup: ");
|
puts_debug("setup wakeup: ");
|
||||||
// RTC needs to be configured beforehand
|
// RTC needs to be configured beforehand
|
||||||
pwr_disable_backup_domain_write_protect(); // disable backup protection so we can write to the RTC registers
|
pwr_disable_backup_domain_write_protect(); // disable backup protection so we can write to the RTC registers
|
||||||
rtc_unlock(); // enable writing RTC registers
|
rtc_unlock(); // enable writing RTC registers
|
||||||
|
@ -689,9 +696,9 @@ void main(void)
|
||||||
rtc_enable_wakeup_timer_interrupt(); // enable interrupt
|
rtc_enable_wakeup_timer_interrupt(); // enable interrupt
|
||||||
rtc_lock(); // disable writing RTC registers
|
rtc_lock(); // disable writing RTC registers
|
||||||
// important: do not re-enable backup_domain_write_protect, since this will prevent clearing flags (but RTC registers do not need to be unlocked)
|
// important: do not re-enable backup_domain_write_protect, since this will prevent clearing flags (but RTC registers do not need to be unlocked)
|
||||||
puts("OK\n");
|
puts_debug("OK\n");
|
||||||
|
|
||||||
puts("setup voltage control: ");
|
puts_debug("setup voltage control: ");
|
||||||
rcc_periph_clock_enable(GPIO_RCC(SIGNAL_PD_PIN)); // enable clock for port domain
|
rcc_periph_clock_enable(GPIO_RCC(SIGNAL_PD_PIN)); // enable clock for port domain
|
||||||
gpio_set(GPIO_PORT(SIGNAL_PD_PIN), GPIO_PIN(SIGNAL_PD_PIN)); // ensure we are not draining it
|
gpio_set(GPIO_PORT(SIGNAL_PD_PIN), GPIO_PIN(SIGNAL_PD_PIN)); // ensure we are not draining it
|
||||||
gpio_set_output_options(GPIO_PORT(SIGNAL_PD_PIN), GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_PIN(SIGNAL_PD_PIN)); // set output as open-drain
|
gpio_set_output_options(GPIO_PORT(SIGNAL_PD_PIN), GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_PIN(SIGNAL_PD_PIN)); // set output as open-drain
|
||||||
|
@ -712,9 +719,9 @@ void main(void)
|
||||||
gpio_set(GPIO_PORT(TARGET_RST_PIN), GPIO_PIN(TARGET_RST_PIN)); // to not pull down (asserting reset)
|
gpio_set(GPIO_PORT(TARGET_RST_PIN), GPIO_PIN(TARGET_RST_PIN)); // to not pull down (asserting reset)
|
||||||
gpio_set_output_options(GPIO_PORT(TARGET_RST_PIN), GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_PIN(TARGET_RST_PIN)); // set output as open-drain
|
gpio_set_output_options(GPIO_PORT(TARGET_RST_PIN), GPIO_OTYPE_OD, GPIO_OSPEED_2MHZ, GPIO_PIN(TARGET_RST_PIN)); // set output as open-drain
|
||||||
gpio_mode_setup(GPIO_PORT(TARGET_RST_PIN), GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN(TARGET_RST_PIN)); // configure pin as output
|
gpio_mode_setup(GPIO_PORT(TARGET_RST_PIN), GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN(TARGET_RST_PIN)); // configure pin as output
|
||||||
puts("OK\n");
|
puts_debug("OK\n");
|
||||||
|
|
||||||
puts("setup analog multiplexer: ");
|
puts_debug("setup analog multiplexer: ");
|
||||||
rcc_periph_clock_enable(GPIO_RCC(MUX_EN_PIN)); // enable clock for port domain
|
rcc_periph_clock_enable(GPIO_RCC(MUX_EN_PIN)); // enable clock for port domain
|
||||||
gpio_set(GPIO_PORT(MUX_EN_PIN), GPIO_PIN(MUX_EN_PIN)); // ensure multiplexer is disabled
|
gpio_set(GPIO_PORT(MUX_EN_PIN), GPIO_PIN(MUX_EN_PIN)); // ensure multiplexer is disabled
|
||||||
gpio_set_output_options(GPIO_PORT(MUX_EN_PIN), GPIO_OTYPE_PP, GPIO_OSPEED_2MHZ, GPIO_PIN(MUX_EN_PIN)); // set output as push-pull to drive correctly
|
gpio_set_output_options(GPIO_PORT(MUX_EN_PIN), GPIO_OTYPE_PP, GPIO_OSPEED_2MHZ, GPIO_PIN(MUX_EN_PIN)); // set output as push-pull to drive correctly
|
||||||
|
@ -736,16 +743,16 @@ void main(void)
|
||||||
gpio_set_output_options(GPIO_PORT(MUX_S3_PIN), GPIO_OTYPE_PP, GPIO_OSPEED_2MHZ, GPIO_PIN(MUX_S3_PIN)); // set output as push-pull to drive correctly
|
gpio_set_output_options(GPIO_PORT(MUX_S3_PIN), GPIO_OTYPE_PP, GPIO_OSPEED_2MHZ, GPIO_PIN(MUX_S3_PIN)); // set output as push-pull to drive correctly
|
||||||
gpio_mode_setup(GPIO_PORT(MUX_S3_PIN), GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN(MUX_S3_PIN)); // configure pin as output
|
gpio_mode_setup(GPIO_PORT(MUX_S3_PIN), GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN(MUX_S3_PIN)); // configure pin as output
|
||||||
mux_select(-1); // ensure it is disabled
|
mux_select(-1); // ensure it is disabled
|
||||||
puts("OK\n");
|
puts_debug("OK\n");
|
||||||
|
|
||||||
puts("setup signal pins: ");
|
puts_debug("setup signal pins: ");
|
||||||
for (uint8_t i = 0; i < CHANNEL_NUMBERS; i++) {
|
for (uint8_t i = 0; i < CHANNEL_NUMBERS; i++) {
|
||||||
rcc_periph_clock_enable(port2rcc(channel_ports[i])); // enable clock for port domain
|
rcc_periph_clock_enable(port2rcc(channel_ports[i])); // enable clock for port domain
|
||||||
gpio_mode_setup(channel_ports[i], GPIO_MODE_INPUT, GPIO_PUPD_NONE, channel_pins[i]); // ensure pin is floating input
|
gpio_mode_setup(channel_ports[i], GPIO_MODE_INPUT, GPIO_PUPD_NONE, channel_pins[i]); // ensure pin is floating input
|
||||||
}
|
}
|
||||||
puts("OK\n");
|
puts_debug("OK\n");
|
||||||
|
|
||||||
puts("setup ADC to measure voltages: ");
|
puts_debug("setup ADC to measure voltages: ");
|
||||||
rcc_periph_clock_enable(RCC_ADC1); // enable clock for ADC domain
|
rcc_periph_clock_enable(RCC_ADC1); // enable clock for ADC domain
|
||||||
adc_power_off(ADC1); // switch off ADC while configuring it
|
adc_power_off(ADC1); // switch off ADC while configuring it
|
||||||
adc_set_right_aligned(ADC1); // ensure it is right aligned to get the actual value in the 16-bit register
|
adc_set_right_aligned(ADC1); // ensure it is right aligned to get the actual value in the 16-bit register
|
||||||
|
@ -763,7 +770,7 @@ void main(void)
|
||||||
rcc_periph_clock_enable(RCC_ADC1_IN(SIGNAL_CHANNEL)); // enable clock for GPIO domain for signal channel
|
rcc_periph_clock_enable(RCC_ADC1_IN(SIGNAL_CHANNEL)); // enable clock for GPIO domain for signal channel
|
||||||
gpio_mode_setup(ADC1_IN_PORT(SIGNAL_CHANNEL), GPIO_MODE_ANALOG, GPIO_PUPD_NONE, ADC1_IN_PIN(SIGNAL_CHANNEL)); // set signal channel as analog input for the ADC
|
gpio_mode_setup(ADC1_IN_PORT(SIGNAL_CHANNEL), GPIO_MODE_ANALOG, GPIO_PUPD_NONE, ADC1_IN_PIN(SIGNAL_CHANNEL)); // set signal channel as analog input for the ADC
|
||||||
measure_voltages(); // try to measure voltages
|
measure_voltages(); // try to measure voltages
|
||||||
puts("OK\n");
|
puts_debug("OK\n");
|
||||||
|
|
||||||
// setup terminal
|
// setup terminal
|
||||||
terminal_prefix = ""; // set default prefix
|
terminal_prefix = ""; // set default prefix
|
||||||
|
|
Loading…
Reference in New Issue