mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #1038 from kgills/maxwsnenv_analog
MAXWSNENV - Adjusting hal analog.pull/1054/head
commit
35a93e3f4d
|
@ -38,11 +38,11 @@
|
|||
#include "afe_regs.h"
|
||||
#include "PeripheralPins.h"
|
||||
|
||||
#define PGA_TRK_CNT 0x8
|
||||
#define PGA_TRK_CNT 0x1F
|
||||
#define ADC_ACT_CNT 0x1
|
||||
#define ADC_PGA_CNT 0x1
|
||||
#define ADC_ACQ_CNT 0x1
|
||||
#define ADC_SLP_CNT 0x0
|
||||
#define ADC_SLP_CNT 0x1
|
||||
|
||||
//******************************************************************************
|
||||
void analogin_init(analogin_t *obj, PinName pin)
|
||||
|
@ -100,6 +100,12 @@ uint16_t analogin_read_u16(analogin_t *obj)
|
|||
mux_pos = (obj->adc_pin & 0xF) + 8;
|
||||
}
|
||||
|
||||
// Reset the ADC
|
||||
obj->adc->ctrl0 |= MXC_F_ADC_CTRL0_CPU_ADC_RST;
|
||||
|
||||
// Enable the ADC
|
||||
obj->adc->ctrl0 |= MXC_F_ADC_CTRL0_CPU_ADC_EN;
|
||||
|
||||
// Setup the ADC clock
|
||||
MXC_SET_FIELD(&obj->adc->ctrl0, (MXC_F_ADC_CTRL0_ADC_MODE | MXC_F_ADC_CTRL0_AVG_MODE |
|
||||
MXC_F_ADC_CTRL0_ADC_CLK_MODE | MXC_F_ADC_CTRL0_ADC_BI_POL),
|
||||
|
@ -119,9 +125,6 @@ uint16_t analogin_read_u16(analogin_t *obj)
|
|||
(MXC_F_AFE_CTRL1_REF_ADC_POWERUP | MXC_F_AFE_CTRL1_REF_BLK_POWERUP |
|
||||
(MXC_E_AFE_REF_VOLT_SEL_1500 << MXC_F_AFE_CTRL1_REF_ADC_VOLT_SEL_POS)));
|
||||
|
||||
// Enable the ADC
|
||||
obj->adc->ctrl0 |= MXC_F_ADC_CTRL0_CPU_ADC_EN;
|
||||
|
||||
// Clear the done bit
|
||||
obj->adc->intr = MXC_F_ADC_INTR_DONE_IF;
|
||||
|
||||
|
|
|
@ -183,8 +183,7 @@ void analogout_write_u16(dac_t *obj, uint16_t value)
|
|||
MXC_F_DAC_CTRL0_CLOCK_GATE_EN | MXC_F_DAC_CTRL0_CPU_START);
|
||||
|
||||
if(obj->index < 2) {
|
||||
// Convert 16 bits to 12 bits
|
||||
obj->out = (value >> 4);
|
||||
obj->out = (value);
|
||||
obj->dac_fifo->output_16 = (obj->out);
|
||||
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue