コード例 #1
0
  @Override
  public final void sendAddressReads(
      Collection<EcuQuery> queries, byte id, PollingState pollState) {

    final int obdQueryListLength = queries.size();
    for (int i = 0; i < obdQueryListLength; i += 6) {
      for (int j = i; (j < i + 6) && (j < obdQueryListLength); j++) {
        obdQueries.add(((ArrayList<EcuQuery>) queries).get(j));
      }
      final byte[] request = protocol.constructReadAddressRequest(id, obdQueries);
      LOGGER.debug(
          String.format(
              "Mode:%d OBD Request  ---> %s", pollState.getCurrentState(), asHex(request)));

      final byte[] response = protocol.constructReadAddressResponse(obdQueries, pollState);
      manager.send(request, response, pollState);
      final byte[] processedResponse = protocol.preprocessResponse(request, response, pollState);
      LOGGER.debug(
          String.format(
              "Mode:%d OBD Response <--- %s",
              pollState.getCurrentState(), asHex(processedResponse)));
      protocol.processReadAddressResponses(obdQueries, processedResponse, pollState);
      obdQueries.clear();
    }
  }