WISP ERT (Client)
1.0.0
The WISP Extended Runtime (WISP side)
|
ADC module for using the ADC12_B peripheral. More...
Functions | |
void | ADC_init (void) |
void | ADC_initCustom (ADC_referenceSelect reference, ADC_precisionSelect precision, ADC_inputSelect channel) |
uint16_t | ADC_read (void) |
void | ADC_asyncRead (void(*callback)(uint16_t)) |
uint16_t | ADC_critRead (void) |
__interrupt void | INT_ADC12 (void) |
uint16_t | ADC_rawCorrection (uint16_t raw) |
uint16_t | ADC_rawToVoltage (uint16_t raw) |
int16_t | ADC_rawToTemperature (uint16_t raw) |
uint8_t | ADC_isBusy (void) |
uint8_t | ADC_isReady (void) |
void | ADC_enable (void) |
void | ADC_disable (void) |
void | ADC_enableConversion (void) |
void | ADC_disableConversion (void) |
void | ADC_enableInterrupts (void) |
void | ADC_disableInterrupts (void) |
void | ADC_setReference (ADC_referenceSelect reference) |
ADC_referenceSelect | ADC_getReference (void) |
void | ADC_setPrecision (ADC_precisionSelect precision) |
ADC_precisionSelect | ADC_getPrecision (void) |
void | ADC_setInputChannel (ADC_inputSelect channel) |
ADC_inputSelect | ADC_getInputChannel (void) |
void | ADC_setSampleHold (void) |
Variables | |
struct { | |
uint16_t lastValue | |
ADC_referenceSelect reference | |
ADC_precisionSelect precision | |
ADC_inputSelect channel | |
void(* read_callback )(uint16_t) | |
} | ADC_SM |
ADC module for using the ADC12_B peripheral.
void ADC_asyncRead | ( | void(*)(uint16_t) | callback | ) |
Asynchronously read ADC. Do not block, call callback when done.
callback | function to be called after conversion finishes |
uint16_t ADC_critRead | ( | void | ) |
Critical ADC read. Does block, does not use interrupts.
void ADC_disable | ( | void | ) |
Disable the ADC12_B peripheral.
void ADC_disableConversion | ( | void | ) |
Disable ADC conversions.
void ADC_disableInterrupts | ( | void | ) |
Disable all ADC interrupts.
void ADC_enable | ( | void | ) |
Enable the ADC12_B peripheral.
void ADC_enableConversion | ( | void | ) |
Enable ADC conversions.
void ADC_enableInterrupts | ( | void | ) |
Enable ADC interrupts.
ADC_inputSelect ADC_getInputChannel | ( | void | ) |
Get currently set input channel.
ADC_precisionSelect ADC_getPrecision | ( | void | ) |
Get currently set conversion precision.
ADC_referenceSelect ADC_getReference | ( | void | ) |
Get currently set voltage reference.
void ADC_init | ( | void | ) |
Configure the ADC12_B module in single channel single measurement mode and prepare for measurement.
void ADC_initCustom | ( | ADC_referenceSelect | reference, |
ADC_precisionSelect | precision, | ||
ADC_inputSelect | channel | ||
) |
Configure the ADC12_B module in single channel single measurement mode and prepare for measurement.
reference | voltage reference source |
precision | ADC measurement precision |
channel | ADC input channel |
uint8_t ADC_isBusy | ( | void | ) |
Return true if ADC module is in the middle of a conversion, false if not.
uint8_t ADC_isReady | ( | void | ) |
Return false if ADC module is in the middle of a conversion, true if not.
uint16_t ADC_rawCorrection | ( | uint16_t | raw | ) |
Correct RAW ADC reading according to calibration procedure
See user guide 1.14.3.2
raw | RAW ADC value |
int16_t ADC_rawToTemperature | ( | uint16_t | raw | ) |
Convert RAW ADC reading to milli degree Celcius.
raw | RAW ADC value |
uint16_t ADC_rawToVoltage | ( | uint16_t | raw | ) |
Convert RAW ADC reading to MilliVolts.
Based on formula (see user guide 25.2.1): Nadc = 4096 * ( (Vin + .5LSB) - Vr- ) / ( Vr+ - Vr- ) where LSB = ( Vr+ - Vr- ) / 4096
Formula converted to: Vin = (Nadc * ( Vr+ - Vr- ) ) / 4096 + Vr- - .5LSB where LSB = ( Vr+ - Vr- ) / 4096
raw | RAW ADC value |
uint16_t ADC_read | ( | void | ) |
Synchronously read ADC. Does block.
void ADC_setInputChannel | ( | ADC_inputSelect | channel | ) |
Set ADC input channel and single channel-single conversion mode.
Possible channels: analog input pins A0-A31 and internal temperature sensor.
channel | the wanted channel. |
void ADC_setPrecision | ( | ADC_precisionSelect | precision | ) |
Set ADC conversion precision.
precision | the wanted precision. |
void ADC_setReference | ( | ADC_referenceSelect | reference | ) |
Set voltage reference and make the ADC to use it.
reference | the wanted reference voltage. |
void ADC_setSampleHold | ( | void | ) |
Set ADC to sample and hold pulse mode.
__interrupt void INT_ADC12 | ( | void | ) |
Handles interrupts for the ADC module. Interrupts typically occur once after each conversion.
struct { ... } ADC_SM |
State variables for the ADC module
ADC_inputSelect channel |
uint16_t lastValue |
ADC_precisionSelect precision |
void(* read_callback) (uint16_t) |
ADC_referenceSelect reference |