summaryrefslogtreecommitdiff
path: root/board/flapjack/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/flapjack/board.c')
-rw-r--r--board/flapjack/board.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/board/flapjack/board.c b/board/flapjack/board.c
index 23f42c1cd4..862a6c12a4 100644
--- a/board/flapjack/board.c
+++ b/board/flapjack/board.c
@@ -54,6 +54,22 @@ uint16_t board_version;
uint8_t oem;
uint32_t sku;
+int board_read_id(enum adc_channel ch, const struct mv_to_id *table, int size)
+{
+ int mv = adc_read_channel(ch);
+ int i;
+
+ if (mv == ADC_READ_ERROR)
+ mv = adc_read_channel(ch);
+
+ for (i = 0; i < size; i++) {
+ if (ABS(mv - table[i].median_mv) < ADC_MARGIN_MV)
+ return table[i].id;
+ }
+
+ return ADC_READ_ERROR;
+}
+
static void board_setup_panel(void)
{
uint8_t channel;