From 2a11e9f8f2e86d7016772843d999515e7043eead Mon Sep 17 00:00:00 2001 From: graham sanderson Date: Tue, 17 May 2022 19:43:30 -0500 Subject: [PATCH] Clean up onboard_temperature example slightly, and let i tbuild when there is no default LED --- adc/onboard_temperature/onboard_temperature.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/adc/onboard_temperature/onboard_temperature.c b/adc/onboard_temperature/onboard_temperature.c index 724cd8f..1320895 100644 --- a/adc/onboard_temperature/onboard_temperature.c +++ b/adc/onboard_temperature/onboard_temperature.c @@ -20,8 +20,8 @@ float read_onboard_temperature(const char unit) { /* 12-bit conversion, assume max value == ADC_VREF == 3.3 V */ const float conversionFactor = 3.3f / (1 << 12); - float adc = adc_read() * conversionFactor; - float tempC = 27.0 - (adc - 0.706) / 0.001721; + float adc = (float)adc_read() * conversionFactor; + float tempC = 27.0f - (adc - 0.706f) / 0.001721f; if (unit == 'C') { return tempC; @@ -29,13 +29,15 @@ float read_onboard_temperature(const char unit) { return tempC * 9 / 5 + 32; } - return -1.0; + return -1.0f; } int main() { stdio_init_all(); +#ifdef PICO_DEFAULT_LED_PIN gpio_init(PICO_DEFAULT_LED_PIN); gpio_set_dir(PICO_DEFAULT_LED_PIN, GPIO_OUT); +#endif /* Initialize hardware AD converter, enable onboard temperature sensor and * select its channel (do this once for efficiency, but beware that this @@ -48,10 +50,12 @@ int main() { float temperature = read_onboard_temperature(TEMPERATURE_UNITS); printf("Onboard temperature = %.02f %c\n", temperature, TEMPERATURE_UNITS); +#ifdef PICO_DEFAULT_LED_PIN gpio_put(PICO_DEFAULT_LED_PIN, 1); sleep_ms(10); gpio_put(PICO_DEFAULT_LED_PIN, 0); +#endif sleep_ms(990); }