| 1234567891011121314151617181920212223242526272829303132333435 |
- #ifndef ADC_H_
- #include "ti/driverlib/dl_i2c.h"
- #include "ti_msp_dl_config.h"
- #define ADC_TARGET_BASE_ADDRESS (0x68)
- #define ADC_VREF_MV (2048)
- //Maximum packet sizes
- #define I2C_TX_MAX_PACKET_SIZE (16)
- #define I2C_RX_MAX_PACKET_SIZE (16)
- //Flag for READ and WRITE
- extern volatile bool gRxComplete;
- extern volatile bool gTxComplete;
- extern uint8_t gTxPacket[I2C_TX_MAX_PACKET_SIZE];
- extern uint8_t gRxPacket[I2C_RX_MAX_PACKET_SIZE];
- /*Counters for Tx and Rx length and bytes sent*/
- extern uint32_t gTxADClen, gTxADCcount;
- extern uint32_t gRxADClen, gRxADCcount;
- typedef struct{
- uint8_t channel;
- uint8_t resolution;
- bool continuous;
- uint8_t gain;
- } ADC_PARAMS;
- uint8_t ADC_ConstructConfigBytes(ADC_PARAMS params);
- void ADC_SetConfigurationBytes(ADC_PARAMS params);
- int16_t ADC_ReadData(uint8_t slot_id, ADC_PARAMS params);
- uint16_t ADC_ConvertToVoltage(int16_t adc_value, ADC_PARAMS params);
- void Battery_UpdateCurrentVoltage(ADC_PARAMS params);
- #endif
|