From 41df9648a8c0f2286b3a5b5a9d3f5341122b06f4 Mon Sep 17 00:00:00 2001 From: Ron Evans Date: Mon, 28 Oct 2019 10:09:17 +0100 Subject: [PATCH] machine/samd51: correct channel init and pin map for ADC based on ItsyBitsy-M4 Signed-off-by: Ron Evans --- src/machine/board_itsybitsy-m4.go | 2 +- src/machine/machine_atsamd51.go | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/machine/board_itsybitsy-m4.go b/src/machine/board_itsybitsy-m4.go index 6c843ae1..53ee2a4f 100644 --- a/src/machine/board_itsybitsy-m4.go +++ b/src/machine/board_itsybitsy-m4.go @@ -28,7 +28,7 @@ const ( // Analog pins const ( A0 = PA02 // ADC/AIN[0] - A1 = PB05 // ADC/AIN[2] + A1 = PA05 // ADC/AIN[2] A2 = PB08 // ADC/AIN[3] A3 = PB09 // ADC/AIN[4] A4 = PA04 // ADC/AIN[5] diff --git a/src/machine/machine_atsamd51.go b/src/machine/machine_atsamd51.go index 8fbc8ca9..67c9a202 100644 --- a/src/machine/machine_atsamd51.go +++ b/src/machine/machine_atsamd51.go @@ -386,11 +386,8 @@ func (a ADC) Get() uint16 { for bus.SYNCBUSY.HasBits(sam.ADC_SYNCBUSY_INPUTCTRL) { } - // Selection for the positive ADC input - bus.INPUTCTRL.ClearBits(sam.ADC_INPUTCTRL_MUXPOS_Msk) - for bus.SYNCBUSY.HasBits(sam.ADC_SYNCBUSY_ENABLE) { - } - bus.INPUTCTRL.SetBits(uint16(ch << sam.ADC_INPUTCTRL_MUXPOS_Pos)) + // Selection for the positive ADC input channel + bus.INPUTCTRL.SetBits((uint16(ch) & sam.ADC_INPUTCTRL_MUXPOS_Msk) << sam.ADC_INPUTCTRL_MUXPOS_Pos) for bus.SYNCBUSY.HasBits(sam.ADC_SYNCBUSY_ENABLE) { }