2016-04-21 16 views
1

Weiß jemand, wie ich benutzerdefinierte Befehle senden kann mit der ObdRawCommand in pires Java api? Ich habe wenig oder keine Erfahrung mit dieser API und ich habe den Schöpfer kontaktiert, aber ich habe noch keine Antwort bekommen.Wie benutze ich den ObdRawCommand von pires OBD-II Java API um benutzerdefinierte Befehle zu senden

Ich habe online nach einem Projekt gesucht, das den ObdRawCommand verwendet, um benutzerdefinierte Befehle zu senden, aber ich kann nichts finden.

So jede Hilfe wird geschätzt!

Snippet

public void run() { 
      OBDcmds(); 

      try { 

       ModuleVoltageCommand voltageCommand = new ModuleVoltageCommand(); 
       OdbRawCommand command1 = new OdbRawCommand("22 40 28"); 

       while (!Thread.currentThread().isInterrupted()) { 
        guiHandler(Constants.VOLTAGE_STATUS, 0, voltageCommand.getFormattedResult()); 
        guiHandler(Constants.cmd1_STATUS, 0, command1.getFormattedResult()); 
        Log.d("Log", "Voltage:" + voltageCommand.getFormattedResult()); 
        Log.d("Log", "cmd1:" + command1.getFormattedResult()); //null 

        try { 
         voltageCommand.run(mmInStream, mmOutStream); 
         command1.run(mmInStream, mmOutStream); 
        } catch (InterruptedException e) { 
         e.printStackTrace(); 
        } 
       } 
      } catch (Exception e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
       System.out.println("inside catch before while"); 
      } 
     } 


private void OBDcmds() { // execute commands 


      try { 
       new EchoOffCommand().run(mmInStream, mmOutStream); 
       new LineFeedOffCommand().run(mmInStream, mmOutStream); 
       new TimeoutCommand(125).run(mmInStream, mmOutStream); 
       new SelectProtocolCommand(ObdProtocols.AUTO).run(mmInStream, mmOutStream); //ISO_15765_4_CAN 
       new ModuleVoltageCommand().run(mmInStream, mmOutStream); 
      } catch (Exception e) { 
       Log.v("OBDcmds", "e"); 
       // handle errors 
      } 
     } 

Antwort

0

ich hatte recht, wie benutzerdefinierte Befehle zu senden.

OdbRawCommand command1 = neuer OdbRawCommand ("benutzerdefinierte cmd hier");