kopia lustrzana https://github.com/sh123/esp32_loraprs
Add support for KISS tnc SlotTime command
rodzic
052ebde17d
commit
10edae2b75
|
@ -6,6 +6,7 @@ Service::Service()
|
|||
: kissState_(KissState::Void)
|
||||
, kissCmd_(KissCmd::NoCmd)
|
||||
, csmaP_(CfgCsmaPersistence)
|
||||
, csmaSlotTime_(CfgCsmaSlotTimeMs)
|
||||
, serialBt_()
|
||||
{
|
||||
}
|
||||
|
@ -162,7 +163,7 @@ void Service::loop()
|
|||
}
|
||||
}
|
||||
else {
|
||||
delay(CfgCsmaSlotTimeMs);
|
||||
delay(csmaSlotTime_);
|
||||
}
|
||||
}
|
||||
delay(CfgPollDelayMs);
|
||||
|
@ -359,6 +360,10 @@ void Service::onBtDataAvailable()
|
|||
kissCmd_ = (KissCmd)rxByte;
|
||||
kissState_ = KissState::GetP;
|
||||
}
|
||||
else if (rxByte == KissCmd::SlotTime) {
|
||||
kissCmd_ = (KissCmd)rxByte;
|
||||
kissState_ = KissState::GetSlotTime;
|
||||
}
|
||||
else {
|
||||
kissResetState();
|
||||
}
|
||||
|
@ -368,6 +373,10 @@ void Service::onBtDataAvailable()
|
|||
csmaP_ = rxByte;
|
||||
kissState_ = KissState::GetData;
|
||||
break;
|
||||
case KissState::GetSlotTime:
|
||||
csmaSlotTime_ = (long)rxByte * 10;
|
||||
kissState_ = KissState::GetData;
|
||||
break;
|
||||
case KissState::GetData:
|
||||
if (rxByte == KissMarker::Fesc) {
|
||||
kissState_ = KissState::Escape;
|
||||
|
|
|
@ -58,12 +58,14 @@ private:
|
|||
GetCmd,
|
||||
GetData,
|
||||
GetP,
|
||||
GetSlotTime,
|
||||
Escape
|
||||
};
|
||||
|
||||
enum KissCmd {
|
||||
Data = 0x00,
|
||||
P = 0x02,
|
||||
SlotTime = 0x03,
|
||||
NoCmd = 0x80
|
||||
};
|
||||
|
||||
|
@ -107,6 +109,7 @@ private:
|
|||
KissCmd kissCmd_;
|
||||
long previousBeaconMs_;
|
||||
byte csmaP_;
|
||||
long csmaSlotTime_;
|
||||
|
||||
// peripherals
|
||||
BluetoothSerial serialBt_;
|
||||
|
|
Ładowanie…
Reference in New Issue