ok thank you for your answer ! but in fact, the author of the topic on javaspecialists.eu use the LeJOS firmware on the NXT brick, so the LeJOSlibrary too. I don't want to use this library, because i want my android application running whatever the firmware is.
Anywhere i will email him, maybe he could help me! On 19 mai, 04:12, gjs <garyjamessi...@gmail.com> wrote: > Hi > > Have a look athttp://www.javaspecialists.eu/archive/Issue189.html > > And maybe email the author. > > Regards > > On May 18, 7:43 pm, damienb2 <damien.bruc...@gmail.com> wrote: > > > > > > > > > Hello everybody! > > > i'm developping an android application to remote control a lego > > mindstorm NXT. > > The NXT let the mobile control motors, and sensors (ultrasonic, light, > > temperature,...) > > The android mobile is linked to the nxt by bluetooth. > > > I success in controling the motors, but now i've got one problem : > > accessing the sensors. > > I tried to get informations from the ultrasonic sensor since a long > > time, but no success! > > > how i do it : > > > 1) i send first the information "my ultrasonic sensor is linked to the > > port 1" according to instructions of the bluetooth Lego NXT developper > > kit: > > > setUp > > > void initUltrasonicSensor(int sensorPort){ > > > byte[] message = new byte[5]; > > > message[0]= LCPMessage.DIRECT_COMMAND_NOREPLY; // DirectCommand, > > byte > > constant : 0x00 > > message[1]= LCPMessage.SET_INPUT_MODE; // > > SetInputMode, byte > > constant : 0x05 > > message[2] = (byte) sensorPort; // > > Input Port, 0 1 2 or 3 > > message[3]= typePort ; > > // Type Port, ultrasonic = 0x0B > > message[4]= (byte) 0x00; > > // Sensor mode > > > sendMessage(message); > > > } > > > /** > > * Sends a message on the opened OutputStream > > * @param message, the message as a byte array > > */ > > void sendMessage(byte[] message) throws IOException { > > if (nxtOutputStream == null) > > throw new IOException(); > > > // send message length > > int messageLength = message.length; > > nxtOutputStream.write(messageLength); > > nxtOutputStream.write(messageLength >> 8); > > nxtOutputStream.write(message, 0, message.length); > > > } > > > 2) then, i send the informtion "get distance from the ultrasonic > > sensor" : > > > public void getInputValues(int sensor) { > > > byte[] request = new byte[3]; > > > request[0] = LCPMessage.DIRECT_COMMAND_REPLY; // DirectCommand, > > byte > > constant : 0x00 > > request[1] = LCPMessage.GET_INPUT_VALUES; // > > getInputValues, byte > > constant : 0x07 > > request[2] = (byte) sensor; > > // input port, 0 1 2 or 3 > > > sendMessage(message); > > > } > > > 3) when i reveived the reply information from the NXT, i get it : > > > 05-18 10:33:53.652: INFO/(8885): Values received from > > UltrasonicSensor : [ 2 7 0 0 1 0 B 0 0 0 0 0 0 0 0 0 ] > > > the expected response, according to instructions of the bluetooth Lego > > NXT developper kit: > > byte 0: 0x02 > > byte 1: 0x07 > > byte 2: status byte > > byte 3: input port (range: 0-3) > > byte 4: valid? (boolean TRUE if new data value should be seen as valid > > data) > > byte 5: calibrated? (boolean TRUE if calibration file found and used > > for "Calibrated Value" field below) > > byte 6: sensor type (enumerated) > > byte 7: sensor mode (enumerated) > > byte 8-9: Row A/D value(UWORD; device dependent) > > byte 10-11: Normalized A/D value(UWORD; device dependent; Range: > > 0-1023) > > byte 12-13: Scaled value (SWORD; mode dependent) > > byte 14-15: Calibrated value (SWORD; value scaled according to > > calibration. CURENTLY UNUSED.) > > > So i'm supposed to get the information about the distance from the 8-9 > > byte, but i get 0! > > > Could anyone help me ? > > thanks for all! > > (sorry for my english, i'm french!) -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en