Refactor to work with WhackerLinkLib updates; update WhackerLinkLib submodule

pull/1/head
php 1 year ago
parent 1952398f62
commit 91f5d65cbe

@ -211,7 +211,14 @@ namespace WhackerLinkConsoleV2
Task.Factory.StartNew(() => Task.Factory.StartNew(() =>
{ {
handler.Connect(system.Address, system.Port); handler.Connect(system.Address, system.Port);
handler.SendMessage(PacketFactory.CreateUnitRegistrationRequest(system.Rid, system.Site));
U_REG_REQ release = new U_REG_REQ
{
SrcId = system.Rid,
Site = system.Site
};
handler.SendMessage(release.GetData());
}); });
}; };
@ -223,7 +230,13 @@ namespace WhackerLinkConsoleV2
if (handler.IsConnected) if (handler.IsConnected)
{ {
handler.SendMessage(PacketFactory.CreateUnitRegistrationRequest(system.Rid, system.Site)); U_REG_REQ release = new U_REG_REQ
{
SrcId = system.Rid,
Site = system.Site
};
handler.SendMessage(release.GetData());
} }
else else
{ {
@ -317,7 +330,21 @@ namespace WhackerLinkConsoleV2
if (channel.IsSelected && channel.VoiceChannel != null && !_stopSending) if (channel.IsSelected && channel.VoiceChannel != null && !_stopSending)
{ {
handler.SendMessage(PacketFactory.CreateVoicePacket(system.Rid, cpgChannel.Tgid, channel.VoiceChannel, e.Buffer, system.Site)); object voicePaket = new
{
type = PacketType.AUDIO_DATA,
data = e.Buffer,
voiceChannel = new VoiceChannel
{
Frequency = channel.VoiceChannel,
DstId = cpgChannel.Tgid,
SrcId = system.Rid,
Site = system.Site
},
site = system.Site
};
handler.SendMessage(voicePaket);
} else } else
{ {
_stopSending = true; _stopSending = true;
@ -334,7 +361,16 @@ namespace WhackerLinkConsoleV2
IWebSocketHandler handler = _webSocketManager.GetWebSocketHandler(system.Name); IWebSocketHandler handler = _webSocketManager.GetWebSocketHandler(system.Name);
if (channel.IsSelected && handler.IsConnected) if (channel.IsSelected && handler.IsConnected)
handler.SendMessage(PacketFactory.CreateAffiliationRequest(system.Rid, cpgChannel.Tgid, system.Site)); {
GRP_AFF_REQ release = new GRP_AFF_REQ
{
SrcId = system.Rid,
DstId = cpgChannel.Tgid,
Site = system.Site
};
handler.SendMessage(release.GetData());
}
} }
} }
@ -385,7 +421,14 @@ namespace WhackerLinkConsoleV2
if (pageWindow.ShowDialog() == true) if (pageWindow.ShowDialog() == true)
{ {
IWebSocketHandler handler = _webSocketManager.GetWebSocketHandler(pageWindow.RadioSystem.Name); IWebSocketHandler handler = _webSocketManager.GetWebSocketHandler(pageWindow.RadioSystem.Name);
handler.SendMessage(PacketFactory.CreateCallAlertRequest(pageWindow.RadioSystem.Rid, pageWindow.DstId));
CALL_ALRT_REQ callAlert = new CALL_ALRT_REQ
{
SrcId = pageWindow.RadioSystem.Rid,
DstId = pageWindow.DstId
};
handler.SendMessage(callAlert.GetData());
} }
} }
@ -429,10 +472,32 @@ namespace WhackerLinkConsoleV2
byte[] chunk = new byte[size]; byte[] chunk = new byte[size];
Buffer.BlockCopy(combinedAudio, offset, chunk, 0, size); Buffer.BlockCopy(combinedAudio, offset, chunk, 0, size);
handler.SendMessage(PacketFactory.CreateVoicePacket(system.Rid, cpgChannel.Tgid, channel.VoiceChannel, chunk, system.Site)); object voicePaket = new
{
type = PacketType.AUDIO_DATA,
data = chunk,
voiceChannel = new VoiceChannel
{
Frequency = channel.VoiceChannel,
DstId = cpgChannel.Tgid,
SrcId = system.Rid,
Site = system.Site
},
site = system.Site
};
handler.SendMessage(voicePaket);
} }
handler.SendMessage(PacketFactory.CreateVoiceChannelRelease(system.Rid, cpgChannel.Tgid, channel.VoiceChannel, system.Site)); GRP_VCH_RLS release = new GRP_VCH_RLS
{
SrcId = system.Rid,
DstId = cpgChannel.Tgid,
Channel = channel.VoiceChannel,
Site = system.Site
};
handler.SendMessage(release.GetData());
Dispatcher.Invoke(() => Dispatcher.Invoke(() =>
{ {
channel.PageSelectButton.Background = Brushes.Green; channel.PageSelectButton.Background = Brushes.Green;
@ -499,13 +564,35 @@ namespace WhackerLinkConsoleV2
foreach (var chunk in pcmChunks) foreach (var chunk in pcmChunks)
{ {
handler.SendMessage(PacketFactory.CreateVoicePacket(system.Rid, cpgChannel.Tgid, channel.VoiceChannel, chunk, system.Site)); object voicePaket = new
{
type = PacketType.AUDIO_DATA,
data = chunk,
voiceChannel = new VoiceChannel
{
Frequency = channel.VoiceChannel,
DstId = cpgChannel.Tgid,
SrcId = system.Rid,
Site = system.Site
},
site = system.Site
};
handler.SendMessage(voicePaket);
int chunkDurationMs = (int)(1600.0 / waveReader.WaveFormat.AverageBytesPerSecond * 1000); int chunkDurationMs = (int)(1600.0 / waveReader.WaveFormat.AverageBytesPerSecond * 1000);
await Task.Delay(chunkDurationMs); await Task.Delay(chunkDurationMs);
} }
handler.SendMessage(PacketFactory.CreateVoiceChannelRelease(system.Rid, cpgChannel.Tgid, channel.VoiceChannel, system.Site)); GRP_VCH_RLS release = new GRP_VCH_RLS
{
SrcId = system.Rid,
DstId = cpgChannel.Tgid,
Channel = channel.VoiceChannel,
Site = system.Site
};
handler.SendMessage(release.GetData());
Dispatcher.Invoke(() => Dispatcher.Invoke(() =>
{ {
@ -653,12 +740,28 @@ namespace WhackerLinkConsoleV2
IWebSocketHandler handler = _webSocketManager.GetWebSocketHandler(system.Name); IWebSocketHandler handler = _webSocketManager.GetWebSocketHandler(system.Name);
if (e.PageState) if (e.PageState)
handler.SendMessage(PacketFactory.CreateVoiceChannelRequest(system.Rid, cpgChannel.Tgid, system.Site)); {
GRP_VCH_REQ request = new GRP_VCH_REQ
{
SrcId = system.Rid,
DstId = cpgChannel.Tgid,
Site = system.Site
};
handler.SendMessage(request.GetData());
}
else else
{ {
//_stopSending = true; //_stopSending = true;
handler.SendMessage(PacketFactory.CreateVoiceChannelRelease(system.Rid, cpgChannel.Tgid, e.VoiceChannel, system.Site)); GRP_VCH_RLS release = new GRP_VCH_RLS
e.VoiceChannel = null; {
SrcId = system.Rid,
DstId = cpgChannel.Tgid,
Channel = e.VoiceChannel,
Site = system.Site
};
handler.SendMessage(release.GetData()); e.VoiceChannel = null;
} }
} }
@ -669,12 +772,28 @@ namespace WhackerLinkConsoleV2
IWebSocketHandler handler = _webSocketManager.GetWebSocketHandler(system.Name); IWebSocketHandler handler = _webSocketManager.GetWebSocketHandler(system.Name);
if (e.PttState) if (e.PttState)
handler.SendMessage(PacketFactory.CreateVoiceChannelRequest(system.Rid, cpgChannel.Tgid, system.Site)); {
GRP_VCH_REQ request = new GRP_VCH_REQ
{
SrcId = system.Rid,
DstId = cpgChannel.Tgid,
Site = system.Site
};
handler.SendMessage(request.GetData());
}
else else
{ {
_stopSending = true; _stopSending = true;
handler.SendMessage(PacketFactory.CreateVoiceChannelRelease(system.Rid, cpgChannel.Tgid, e.VoiceChannel, system.Site)); GRP_VCH_RLS release = new GRP_VCH_RLS
e.VoiceChannel = null; {
SrcId = system.Rid,
DstId = cpgChannel.Tgid,
Channel = e.VoiceChannel,
Site = system.Site
};
handler.SendMessage(release.GetData()); e.VoiceChannel = null;
} }
} }

@ -1 +1 @@
Subproject commit 838887e67cc517d7aa94d9bf940d7a5417e57998 Subproject commit 8381593089b3eea376b08496e8329f8fa5abaed5
Loading…
Cancel
Save

Powered by TurnKey Linux.