From 021df5d3d3eab09adc88d43ff84259ffcb23b100 Mon Sep 17 00:00:00 2001 From: arturo182 Date: Tue, 6 Feb 2018 21:15:49 +0100 Subject: [PATCH] nrf: Cleanup AnalogOut and throw an exception in constructor The nRF MCUs do not support analog output. Throwing an exception in the constructor will stop users from creating an instance of the AnalogOut class. In the future we can ifdef-out the whole class so it is not available in the module at all. --- ports/nrf/common-hal/analogio/AnalogOut.c | 34 +++-------------------- ports/nrf/common-hal/analogio/AnalogOut.h | 6 ---- 2 files changed, 4 insertions(+), 36 deletions(-) diff --git a/ports/nrf/common-hal/analogio/AnalogOut.c b/ports/nrf/common-hal/analogio/AnalogOut.c index 87cb82ffc3..d1fd4982b1 100644 --- a/ports/nrf/common-hal/analogio/AnalogOut.c +++ b/ports/nrf/common-hal/analogio/AnalogOut.c @@ -34,43 +34,17 @@ void common_hal_analogio_analogout_construct(analogio_analogout_obj_t* self, const mcu_pin_obj_t *pin) { -// if (pin->pin != PIN_PA02) { -// mp_raise_ValueError("AnalogOut not supported on given pin"); -// return; -// } -// struct dac_config config_dac; -// dac_get_config_defaults(&config_dac); -// config_dac.reference = DAC_REFERENCE_AVCC; -// enum status_code status = dac_init(&self->dac_instance, DAC, &config_dac); -// if (status != STATUS_OK) { -// mp_raise_OSError(MP_EIO); -// return; -// } -// claim_pin(pin); -// -// struct dac_chan_config config_analogout_chan; -// dac_chan_get_config_defaults(&config_analogout_chan); -// dac_chan_set_config(&self->dac_instance, DAC_CHANNEL_0, &config_analogout_chan); -// dac_chan_enable(&self->dac_instance, DAC_CHANNEL_0); -// -// dac_enable(&self->dac_instance); + mp_raise_RuntimeError("AnalogOut functionality not supported"); } bool common_hal_analogio_analogout_deinited(analogio_analogout_obj_t *self) { - return self->deinited; + return true; } void common_hal_analogio_analogout_deinit(analogio_analogout_obj_t *self) { -// if (common_hal_analogio_analogout_deinited(self)) { -// return; -// } -// dac_disable(&self->dac_instance); -// dac_chan_disable(&self->dac_instance, DAC_CHANNEL_0); -// reset_pin(PIN_PA02); -// self->deinited = true; + } void common_hal_analogio_analogout_set_value(analogio_analogout_obj_t *self, uint16_t value) { - // Input is 16 bit but we only support 10 bit so we shift the input. -// dac_chan_write(&self->dac_instance, DAC_CHANNEL_0, value >> 6); + } diff --git a/ports/nrf/common-hal/analogio/AnalogOut.h b/ports/nrf/common-hal/analogio/AnalogOut.h index d47412b40e..3244ee33b8 100644 --- a/ports/nrf/common-hal/analogio/AnalogOut.h +++ b/ports/nrf/common-hal/analogio/AnalogOut.h @@ -27,16 +27,10 @@ #ifndef MICROPY_INCLUDED_NRF_COMMON_HAL_ANALOGIO_ANALOGOUT_H #define MICROPY_INCLUDED_NRF_COMMON_HAL_ANALOGIO_ANALOGOUT_H -#include "common-hal/microcontroller/Pin.h" - -//#include "asf/sam0/drivers/dac/dac.h" - #include "py/obj.h" typedef struct { mp_obj_base_t base; -// struct dac_module dac_instance; - bool deinited; } analogio_analogout_obj_t; #endif // MICROPY_INCLUDED_NRF_COMMON_HAL_ANALOGIO_ANALOGOUT_H