I am trying to read the voltag from an 8-channel adc via I2C.
My result is a 16 bit value (for example 0010 0000 0010 0000). The bits15-12 "0010" respresent the channel (Ch1=0, CH2=1, CH3=2 ....).
I can get the channel value with a SHFT-field:
record( longin, "ADC:RESULT" ) {
field( DTYP, "stream" )
field( INP, "@adc.proto readReg($(ID)) I2C" )
}
record( mbbiDirect, "ADC:RESULT:CHANNEL" ) {
field( DTYP, "Raw Soft Channel" )
field( INP, "ADC:RESULT.VAL")
field(SHFT, "12")
}
Now I want to get the first bits 0-12 and convert the value to voltage-value. To convert this value I use the "ASLO"-field.
But I don't know which is the best way to get the value of the first 12 bits.
Thanks,
Raul