Ricevere 2 float da BLE

Ciao, ho un bluetooth nRF51 della nordic che uso per spedire due float (temperatura in C° e F°).
Con IOS non ho problemi, le ricevo tutte e due .
In android non riesco a splittarle e ne leggo solo una...

Il mio codice java:

else if (BluetoothLeService.ACTION_DATA_AVAILABLE.equals(action)) {

byte[] data = intent.getByteArrayExtra(BluetoothLeService.EXTRA_DATA);
float Sensor1 = ByteBuffer.wrap(data).order(ByteOrder.LITTLE_ENDIAN).getFloat();
temp_C.setText(Integer.toString((int) Sensor1 ) + "C");

Qualcuno mi può aiutare?

Ringrazio anticipatamente.

Emiliano

Scusa ... ma cosa ha a che vedere con Arduino ? :o :o :o ... mi sembra un problema di programmazione Java ...

Vai su un forum dove si parla di programmazione Java sotto Android e chiedi li non ti pare ?

Guglielmo

Guglielmo, forse il dato viene da un Arduino e percui il problema diventa un problema Arduino anche se riguarda la programmazione di una App su Android. :wink: :wink:

@tmsio

Coem dice Guglielmo rivolgiti a un forum Android.
Ciao Uwe

uwefed:
Guglielmo, forse il dato viene da un Arduino e percui il problema diventa un problema Arduino anche se riguarda la programmazione di una App su Android.

Si Uwe, SE era un problema di Arduino, ma qui evidentemente non lo è dato che ... su iOS gli funziona correttamente, quindi ...
... probabilmente è un problema di programmazione java su Android non ti sembra ? :wink:

E allora ... qual posto migliore per farsi risolvere detti problemi se non il supporto Android ? :grin: :grin: :grin:

Guglielmo

Penso che il problema si legato alla modalità di invio nello specifico stò usando un RFduino con i comandi :

void loop() {
// sample once per second
RFduino_ULPDelay( SECONDS(1) );

RFduinoBLE.sendFloat(a);
Serial.println(a);
//debug

float lh = random(1,120);
RFduinoBLE.sendFloat(b);
Serial.println(b);
}

Ma facendo un debug su android vedo che arrivano solo 4 bytes e non 8 comi mi aspettavo.
Al contrario IOS li vede tutti e 8.
Forse ci sono dei criteri per l invio che non ho rispettato?

Scusa, ma se su iOS arrivano tutti ... e su Android ne vedi solo 4 ... come fa ad essere un problema di Arduino? Arduino esegue sempre lo stesso codice, quindi ... ::slight_smile:

Che dicono sul forum di supporto Android ?

Guglielmo