Repo unification
This commit is contained in:
45
firmware/src/hw/analog.c
Normal file
45
firmware/src/hw/analog.c
Normal file
@@ -0,0 +1,45 @@
|
||||
/**** Includes ****/
|
||||
#include "board/utils/utils.h"
|
||||
#include "board/ain.h"
|
||||
#include "analog.h"
|
||||
|
||||
/**** Private definitions ****/
|
||||
/**** Private constants ****/
|
||||
/**** Private variables ****/
|
||||
/**** Private function declarations ****/
|
||||
static uint8_t ain_mapping(uint8_t analog_ch, uint8_t* ain_ch);
|
||||
|
||||
/**** Public function definitions ****/
|
||||
uint16_t analog_ch_get(uint8_t analog_ch)
|
||||
{
|
||||
uint8_t ain_ch;
|
||||
// Get channel config
|
||||
if(ain_mapping(analog_ch, &ain_ch)) return 0;
|
||||
|
||||
// Read input as mV
|
||||
uint16_t ch_mv = bsp_ain_read(ain_ch);
|
||||
|
||||
// Return result
|
||||
return ch_mv;
|
||||
}
|
||||
|
||||
/**** Private function definitions ****/
|
||||
static uint8_t ain_mapping(uint8_t analog_ch, uint8_t* ain_ch)
|
||||
{
|
||||
switch(analog_ch)
|
||||
{
|
||||
case ANALOG_1: // Pot
|
||||
*ain_ch = BSP_AIN2;
|
||||
return 0;
|
||||
|
||||
case ANALOG_2: // Mode
|
||||
*ain_ch = BSP_AIN1;
|
||||
return 0;
|
||||
|
||||
default: //Invalid channel
|
||||
*ain_ch = BSP_AIN5;
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
Reference in New Issue
Block a user