private void sendDataToDevice()

in amazonfreertossdk/src/main/java/software/amazon/freertos/amazonfreertossdk/AmazonFreeRTOSDevice.java [1087:1105]


    private void sendDataToDevice(final String service, final String rx, final String rxlarge, byte[] data) {
        if (data != null) {
            if (data.length < mMaxPayloadLen) {
                sendBleCommand(new BleCommand(WRITE_CHARACTERISTIC, rx, service, data));
            } else {
                mTotalPackets = data.length / mMaxPayloadLen + 1;
                Log.i(TAG, "This message is larger than max payload size: " + mMaxPayloadLen
                        + ". Breaking down to " + mTotalPackets + " packets.");
                mPacketCount = 0; //reset packet count
                while (mMaxPayloadLen * mPacketCount <= data.length) {
                    byte[] packet = Arrays.copyOfRange(data, mMaxPayloadLen * mPacketCount,
                            Math.min(data.length, mMaxPayloadLen * mPacketCount + mMaxPayloadLen));
                    mPacketCount++;
                    Log.d(TAG, "Packet #" + mPacketCount + ": " + bytesToHexString(packet));
                    sendBleCommand(new BleCommand(WRITE_CHARACTERISTIC, rxlarge, service, packet));
                }
            }
        }
    }