Set KISS TX_DELAY from the app

pull/14/head
sh123 2020-12-14 18:44:42 +02:00
rodzic ef5a9767e5
commit d109afee6d
2 zmienionych plików z 12 dodań i 3 usunięć

Wyświetl plik

@ -52,7 +52,8 @@ public class Codec2Player extends Thread {
private final byte CSMA_PERSISTENCE = (byte)0xff;
private final byte CSMA_SLOT_TIME = (byte)0x00;
private final byte TX_TAIL_10MS_UNITS = (byte)20; // 200ms
private final byte TX_DELAY_10MS_UNITS = (byte)(250 / 10);
private final byte TX_TAIL_10MS_UNITS = (byte)(500 / 10);
private final int RX_BUFFER_SIZE = 8192;
@ -183,7 +184,8 @@ public class Codec2Player extends Thread {
_loopbackBuffer = ByteBuffer.allocateDirect(1024 * _audioEncodedBufferSize);
_kissProcessor = new KissProcessor(CSMA_PERSISTENCE, CSMA_SLOT_TIME, TX_TAIL_10MS_UNITS, _kissCallback);
_kissProcessor = new KissProcessor(CSMA_PERSISTENCE, CSMA_SLOT_TIME,
TX_DELAY_10MS_UNITS, TX_TAIL_10MS_UNITS, _kissCallback);
}
private final KissCallback _kissCallback = new KissCallback() {

Wyświetl plik

@ -18,6 +18,7 @@ public class KissProcessor {
private final byte KISS_TFESC = (byte)0xdd;
private final byte KISS_CMD_DATA = (byte)0x00;
private final byte KISS_CMD_TX_DELAY = (byte)0x01;
private final byte KISS_CMD_P = (byte)0x02;
private final byte KISS_CMD_SLOT_TIME = (byte)0x03;
private final byte KISS_CMD_TX_TAIL = (byte)0x04;
@ -35,6 +36,7 @@ public class KissProcessor {
private final byte _tncCsmaPersistence;
private final byte _tncCsmaSlotTime;
private final byte _tncTxDelay;
private final byte _tncTxTail;
private final byte[] _outputKissBuffer;
@ -45,12 +47,13 @@ public class KissProcessor {
private int _outputKissBufferPos;
private int _inputKissBufferPos;
public KissProcessor(byte csmaPersistence, byte csmaSlotTime, byte txTail, KissCallback callback) {
public KissProcessor(byte csmaPersistence, byte csmaSlotTime, byte txDelay, byte txTail, KissCallback callback) {
_callback = callback;
_outputKissBuffer = new byte[KISS_TX_FRAME_MAX_SIZE];
_inputKissBuffer = new byte[100 * KISS_TX_FRAME_MAX_SIZE];
_tncCsmaPersistence = csmaPersistence;
_tncCsmaSlotTime = csmaSlotTime;
_tncTxDelay = txDelay;
_tncTxTail = txTail;
_outputKissBufferPos = 0;
_inputKissBufferPos = 0;
@ -65,6 +68,10 @@ public class KissProcessor {
sendKissByte(_tncCsmaSlotTime);
completeKissPacket();
startKissPacket(KISS_CMD_TX_DELAY);
sendKissByte(_tncTxTail);
completeKissPacket();
startKissPacket(KISS_CMD_TX_TAIL);
sendKissByte(_tncTxTail);
completeKissPacket();