Actually scrape the SatelliteReturnLinkDescriptor
Some checks failed
🚀 Pack skyscraper8 / make-zip (push) Failing after 1m8s

This commit is contained in:
feyris-tan 2025-11-11 21:19:38 +01:00
parent 2c4bc0a558
commit 8e3311bcce
10 changed files with 74 additions and 1 deletions

View File

@ -997,6 +997,26 @@ namespace skyscraper5.Data.PostgreSql
throw new NotImplementedException(); throw new NotImplementedException();
} }
public bool TestForTimControlAssignment(PhysicalAddress macAddress)
{
throw new NotImplementedException();
}
public void InsertTimControlAssignment(PhysicalAddress macAddress, _0xa4_SyncAssignDescriptor descriptor)
{
throw new NotImplementedException();
}
public bool TestForTimSatelliteReturnLink(PhysicalAddress macAddress)
{
throw new NotImplementedException();
}
public void InsertTimSatelliteReturnLink(PhysicalAddress macAddress, _0xa9_SatelliteReturnLinkDescriptor descriptor)
{
throw new NotImplementedException();
}
private bool AreArraysEqual(byte[] l, byte[] r) private bool AreArraysEqual(byte[] l, byte[] r)
{ {
if (l.Length != r.Length) if (l.Length != r.Length)

View File

@ -42,5 +42,6 @@ namespace skyscraper5.src.InteractionChannel
void OnFramePayloadFormatAnnouncement(ushort networkId, _0xb7_FramePayloadFormatDescriptor descriptor); void OnFramePayloadFormatAnnouncement(ushort networkId, _0xb7_FramePayloadFormatDescriptor descriptor);
void OnCorrectionMessageExtension(PhysicalAddress macAddress, _0xb1_CorrectionMessageExtensionDescriptor descriptor); void OnCorrectionMessageExtension(PhysicalAddress macAddress, _0xb1_CorrectionMessageExtensionDescriptor descriptor);
void OnControlAssignment(PhysicalAddress macAddress, _0xa4_SyncAssignDescriptor descriptor); void OnControlAssignment(PhysicalAddress macAddress, _0xa4_SyncAssignDescriptor descriptor);
void OnSatelliteReturnLink(PhysicalAddress macAddress, _0xa9_SatelliteReturnLinkDescriptor descriptor);
} }
} }

View File

@ -307,6 +307,9 @@ namespace skyscraper5.src.InteractionChannel.Model
case 0xa4: case 0xa4:
handler.OnControlAssignment(macAddress,(_0xa4_SyncAssignDescriptor)descriptor); handler.OnControlAssignment(macAddress,(_0xa4_SyncAssignDescriptor)descriptor);
break; break;
case 0xa9:
handler.OnSatelliteReturnLink(macAddress, (_0xa9_SatelliteReturnLinkDescriptor)descriptor);
break;
case 0xab: case 0xab:
handler.OnContentionControl(macAddress, ((_0xab_ContentionControlDescriptor)descriptor)); handler.OnContentionControl(macAddress, ((_0xab_ContentionControlDescriptor)descriptor));
break; break;

View File

@ -69,6 +69,11 @@ namespace skyscraper5.src.InteractionChannel
} }
public void OnSatelliteReturnLink(PhysicalAddress macAddress, _0xa9_SatelliteReturnLinkDescriptor descriptor)
{
}
public void OnFrameComposition2(ushort? networkId, Fct2 fct2) public void OnFrameComposition2(ushort? networkId, Fct2 fct2)
{ {

View File

@ -2553,6 +2553,15 @@ namespace skyscraper5.Skyscraper.Scraper
} }
} }
public void OnSatelliteReturnLink(PhysicalAddress macAddress, _0xa9_SatelliteReturnLinkDescriptor descriptor)
{
if (!DataStorage.TestForTimSatelliteReturnLink(macAddress))
{
LogEvent(SkyscraperContextEvent.TimSatelliteReturnLink, String.Format("For participant {0}: {1}", macAddress, descriptor));
DataStorage.InsertTimSatelliteReturnLink(macAddress, descriptor);
}
}
public void OnCorrectionMessage(PhysicalAddress mac, _0xa1_CorrectionMessageDescriptor cmd) public void OnCorrectionMessage(PhysicalAddress mac, _0xa1_CorrectionMessageDescriptor cmd)
{ {
if (!DataStorage.TestForTim(mac)) if (!DataStorage.TestForTim(mac))

View File

@ -95,6 +95,7 @@
TransmissionModeSupport2, TransmissionModeSupport2,
TimFramePayloadFormat, TimFramePayloadFormat,
TimCorrectionExtension, TimCorrectionExtension,
TimControlAssignment TimControlAssignment,
TimSatelliteReturnLink
} }
} }

View File

@ -214,5 +214,7 @@ namespace skyscraper8.Skyscraper.Scraper.Storage
void InsertTimCorrectionMessageExtension(PhysicalAddress macAddress, _0xb1_CorrectionMessageExtensionDescriptor descriptor); void InsertTimCorrectionMessageExtension(PhysicalAddress macAddress, _0xb1_CorrectionMessageExtensionDescriptor descriptor);
bool TestForTimControlAssignment(PhysicalAddress macAddress); bool TestForTimControlAssignment(PhysicalAddress macAddress);
void InsertTimControlAssignment(PhysicalAddress macAddress, _0xa4_SyncAssignDescriptor descriptor); void InsertTimControlAssignment(PhysicalAddress macAddress, _0xa4_SyncAssignDescriptor descriptor);
bool TestForTimSatelliteReturnLink(PhysicalAddress macAddress);
void InsertTimSatelliteReturnLink(PhysicalAddress macAddress, _0xa9_SatelliteReturnLinkDescriptor descriptor);
} }
} }

View File

@ -1245,6 +1245,16 @@ namespace skyscraper5.Skyscraper.Scraper.Storage.Filesystem
throw new NotImplementedException(); throw new NotImplementedException();
} }
public bool TestForTimSatelliteReturnLink(PhysicalAddress macAddress)
{
throw new NotImplementedException();
}
public void InsertTimSatelliteReturnLink(PhysicalAddress macAddress, _0xa9_SatelliteReturnLinkDescriptor descriptor)
{
throw new NotImplementedException();
}
public IEnumerable<Tuple<int, int, ProgramMapping>> SelectAllPmt() public IEnumerable<Tuple<int, int, ProgramMapping>> SelectAllPmt()
{ {
throw new NotImplementedException(); throw new NotImplementedException();

View File

@ -1132,6 +1132,23 @@ namespace skyscraper5.Skyscraper.Scraper.Storage.InMemory
_timControlAssignments.Add(macAddress, descriptor); _timControlAssignments.Add(macAddress, descriptor);
} }
private Dictionary<PhysicalAddress, _0xa9_SatelliteReturnLinkDescriptor> _timSatelliteReturnLinks;
public bool TestForTimSatelliteReturnLink(PhysicalAddress macAddress)
{
if (_timSatelliteReturnLinks == null)
return false;
return _timSatelliteReturnLinks.ContainsKey(macAddress);
}
public void InsertTimSatelliteReturnLink(PhysicalAddress macAddress, _0xa9_SatelliteReturnLinkDescriptor descriptor)
{
if (_timSatelliteReturnLinks == null)
_timSatelliteReturnLinks = new Dictionary<PhysicalAddress, _0xa9_SatelliteReturnLinkDescriptor>();
_timSatelliteReturnLinks.Add(macAddress, descriptor);
}
public IEnumerable<Tuple<int, int, ProgramMapping>> SelectAllPmt() public IEnumerable<Tuple<int, int, ProgramMapping>> SelectAllPmt()
{ {
for (int x = 0; x < pmtEntries.Length; x++) for (int x = 0; x < pmtEntries.Length; x++)

View File

@ -246,6 +246,11 @@ namespace skyscraper5.src.Skyscraper.Scraper.StreamAutodetection.Contestants
//TODO: put some sensible validation logic in here //TODO: put some sensible validation logic in here
} }
public void OnSatelliteReturnLink(PhysicalAddress macAddress, _0xa9_SatelliteReturnLinkDescriptor descriptor)
{
//TODO: put some sensible validation logic in here
}
public void OnFrameComposition2(ushort? networkId, Fct2 fct2) public void OnFrameComposition2(ushort? networkId, Fct2 fct2)
{ {
if (fct2.FrameTypes.Length > 0) if (fct2.FrameTypes.Length > 0)