Alla fine ne sono uscito fuori. Bastardi.
Il maledetto intero a 16 bit contiene I 3 bit di controllo negli ultimi bit e non nei primi!
Non so se è scritto ma non me ne sono accorto o non c'è proprio alcuna indicazione.
Dunque il codice per gestire una cosa del genere è questo
E ottengo il mio bel valore (verificato sul dispositivo)codice:unsigned short num = 1328; num = num >> 3; float value = (num * 2.4f * NominalValue) / 4096;