module HplAdc12P {
provides interface HplAdc12;
- uses interface HplMsp430InterruptSig as SIGNAL_ADC_VECTOR;
}
implementation
{
async command void HplAdc12.stopConversion(){
// stop conversion mode immediately, conversion data is unreliable
+ uint16_t ctl1 = ADC12CTL1;
ADC12CTL1 &= ~(CONSEQ0 | CONSEQ1);
ADC12CTL0 &= ~(ADC12SC + ENC);
- ADC12CTL0 &= ~(ADC12ON);
+ ADC12CTL0 &= ~(ADC12ON);
+ ADC12CTL1 |= (ctl1 & (CONSEQ0 | CONSEQ1));
}
async command void HplAdc12.enableConversion(){
async command bool HplAdc12.isBusy(){ return ADC12CTL1 & ADC12BUSY; }
- inline async event void SIGNAL_ADC_VECTOR.fired() {
+ TOSH_SIGNAL(ADC_VECTOR) {
signal HplAdc12.conversionDone(ADC12IV);
}
}