diff --git a/firmware/libboard/common/include/boardver_adc.h b/firmware/libboard/common/include/boardver_adc.h index a89d630b..7a8d226d 100644 --- a/firmware/libboard/common/include/boardver_adc.h +++ b/firmware/libboard/common/include/boardver_adc.h @@ -1,3 +1,4 @@ #pragma once +uint32_t adc2uv(uint16_t adc); int get_board_version_adc(void); diff --git a/firmware/libboard/common/source/boardver_adc.c b/firmware/libboard/common/source/boardver_adc.c index 1bd3b58b..54ab75e0 100644 --- a/firmware/libboard/common/source/boardver_adc.c +++ b/firmware/libboard/common/source/boardver_adc.c @@ -1,6 +1,13 @@ #include "board.h" #include "boardver_adc.h" +#define UV_PER_LSB ((3300 * 1000) / 4096) +uint32_t adc2uv(uint16_t adc) +{ + uint32_t uv = (uint32_t) adc * UV_PER_LSB; + return uv; +} + /*********************************************************************** * ADC for board version detection ***********************************************************************/ diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 7de67dfc..7e38527c 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -1,6 +1,7 @@ //#define TRACE_LEVEL 6 #include "board.h" +#include "boardver_adc.h" #include "simtrace.h" #include "ringbuffer.h" #include "card_emu.h" @@ -278,7 +279,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 @@ -298,12 +298,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