diff --git a/firmware/libboard/common/include/boardver_adc.h b/firmware/libboard/common/include/boardver_adc.h index 9b01d0a5..956c3027 100644 --- a/firmware/libboard/common/include/boardver_adc.h +++ b/firmware/libboard/common/include/boardver_adc.h @@ -15,3 +15,4 @@ #pragma once int get_board_version_adc(void); +uint32_t adc2uv(uint16_t adc); diff --git a/firmware/libboard/common/source/boardver_adc.c b/firmware/libboard/common/source/boardver_adc.c index f204aa15..51db9292 100644 --- a/firmware/libboard/common/source/boardver_adc.c +++ b/firmware/libboard/common/source/boardver_adc.c @@ -15,9 +15,8 @@ #include "board.h" #include "boardver_adc.h" -/* FIXME: share this with mode_cardemu.c */ #define UV_PER_LSB ((3300 * 1000) / 4096) -static uint32_t adc2uv(uint16_t adc) +uint32_t adc2uv(uint16_t adc) { uint32_t uv = (uint32_t) adc * UV_PER_LSB; return uv; diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index c7362cf7..b1d9c7a8 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -17,6 +17,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA */ #include "board.h" +#include "boardver_adc.h" #include "simtrace.h" #include "ringbuffer.h" #include "card_emu.h" @@ -296,7 +297,6 @@ static int card_vcc_adc_init(void) return 0; } -#define UV_PER_LSB ((3300 * 1000) / 4096) #define VCC_UV_THRESH_1V8 1500000 #define VCC_UV_THRESH_3V 2800000 @@ -316,12 +316,6 @@ static void process_vcc_adc(struct cardem_inst *ci) ci->vcc_uv_last = ci->vcc_uv; } -static uint32_t adc2uv(uint16_t adc) -{ - uint32_t uv = (uint32_t) adc * UV_PER_LSB; - return uv; -} - void ADC_IrqHandler(void) { #ifdef CARDEMU_SECOND_UART