update fnecore submodule; properly add support for SendP25TDU to send DVM's internal LC_CALL_TERM (this should hopefully fix events where the console can cause a DVM CC to hold a channel open longer then it should);

main
Bryan Biedenkapp 1 month ago
parent 81962afa40
commit c862ae82ab

@ -60,9 +60,16 @@ namespace dvmconsole
/// <summary>
/// Helper to send a P25 TDU message.
/// </summary>
/// <param name="srcId"></param>
/// <param name="dstId"></param>
/// <param name="grantDemand"></param>
public void SendP25TDU(uint srcId, uint dstId, bool grantDemand = false)
/// <param name="callTerm"></param>
public void SendP25TDU(uint srcId, uint dstId, bool grantDemand = false, bool callTerm = false)
{
// if this is a call terminator -- also send the internal DVM call termination
if (callTerm)
SendDVMCallTermination(srcId, dstId);
RemoteCallData callData = new RemoteCallData()
{
SrcId = srcId,

@ -1332,7 +1332,7 @@ namespace dvmconsole
double totalDurationMs = ((double)pcmData.Length / 16000) + 250;
await Task.Delay((int)totalDurationMs + 3000);
fne.SendP25TDU(uint.Parse(system.Rid), uint.Parse(cpgChannel.Tgid), false);
fne.SendP25TDU(uint.Parse(system.Rid), uint.Parse(cpgChannel.Tgid), false, true);
ResetChannel(channel);
@ -2174,7 +2174,7 @@ namespace dvmconsole
double totalDurationMs = (toneADuration + toneBDuration) * 1000 + 750;
await Task.Delay((int)totalDurationMs + 4000);
fne.SendP25TDU(uint.Parse(system.Rid), uint.Parse(cpgChannel.Tgid), false);
fne.SendP25TDU(uint.Parse(system.Rid), uint.Parse(cpgChannel.Tgid), false, true);
Dispatcher.Invoke(() =>
{
@ -2499,7 +2499,7 @@ namespace dvmconsole
if (e.PageState)
fne.SendP25TDU(uint.Parse(system.Rid), uint.Parse(cpgChannel.Tgid), true);
else
fne.SendP25TDU(uint.Parse(system.Rid), uint.Parse(cpgChannel.Tgid), false);
fne.SendP25TDU(uint.Parse(system.Rid), uint.Parse(cpgChannel.Tgid), false, true);
}
/// <summary>
@ -2564,7 +2564,7 @@ namespace dvmconsole
e.VolumeMeterLevel = 0;
Log.WriteLine($"({system.Name}) {e.ChannelMode.ToUpperInvariant()} Traffic *CALL END * SRC_ID {srcId} TGID {dstId} [STREAM ID {e.TxStreamId}]");
if (cpgChannel.GetChannelMode() == Codeplug.ChannelMode.P25)
fne.SendP25TDU(srcId, dstId, false);
fne.SendP25TDU(srcId, dstId, false, true);
else if (cpgChannel.GetChannelMode() == Codeplug.ChannelMode.DMR)
fne.SendDMRTerminator(srcId, dstId, 1, e.dmrSeqNo, e.dmrN, e.embeddedData);
@ -2683,7 +2683,7 @@ namespace dvmconsole
Log.WriteLine($"({system.Name}) {e.ChannelMode.ToUpperInvariant()} Traffic *CALL END * SRC_ID {srcId} TGID {dstId} [STREAM ID {e.TxStreamId}]");
e.VolumeMeterLevel = 0;
if (cpgChannel.GetChannelMode() == Codeplug.ChannelMode.P25)
fne.SendP25TDU(srcId, dstId, false);
fne.SendP25TDU(srcId, dstId, false, true);
else if (cpgChannel.GetChannelMode() == Codeplug.ChannelMode.DMR)
fne.SendDMRTerminator(srcId, dstId, 1, e.dmrSeqNo, e.dmrN, e.embeddedData);
@ -2972,7 +2972,7 @@ namespace dvmconsole
channel.PttState = false;
});
fne.SendP25TDU(uint.Parse(system.Rid), uint.Parse(cpgChannel.Tgid), false);
fne.SendP25TDU(uint.Parse(system.Rid), uint.Parse(cpgChannel.Tgid), false, true);
}
}
}

@ -1 +1 @@
Subproject commit f5c240d55d75b594c44d912a411d005130a0800b
Subproject commit 11206a353ff36aa503cc5955432838a14214b626
Loading…
Cancel
Save

Powered by TurnKey Linux.