handle authorized dg-ids

This commit is contained in:
Stefano Lande 2022-09-07 18:23:49 +02:00
parent cfcc839770
commit 092064eb39

View file

@ -659,13 +659,16 @@ void CImrsProtocol::EncodePongPacket(CBuffer *Buffer) const
// radioid
Buffer->Append(radioid, sizeof(radioid));
// list of authorised dg-id
// enable dg-id 2 & 10 -> 10+NBmodules
// enable dg-id 2 & First DG-ID -> (NBmodules + First DG-ID)
uint32 dgids32 = 0x00000004;
uint32 mask32 = 0x00000400;
// modules 10->31
for ( int i = 0; i < (int)(MIN(NB_OF_MODULES,22)); i++ )
for ( int i = 10; i < 32; i++ )
{
dgids32 |= mask32;
if (i >= FIRST_DG_ID && i < FIRST_DG_ID + NB_OF_MODULES) {
dgids32 |= mask32;
std::cout << "IMRS opening DG-ID " << i << std::endl;
}
mask32 = mask32 << 1;
}
Buffer->Append(LOBYTE(LOWORD(dgids32)));
@ -675,9 +678,12 @@ void CImrsProtocol::EncodePongPacket(CBuffer *Buffer) const
// module 32->35
uint8 dgids8 = 0x00;
uint8 mask8 = 0x01;
for ( int i = 22; i < NB_OF_MODULES; i++ )
for ( int i = 32; i < 36; i++ )
{
dgids8 |= mask8;
if (i >= FIRST_DG_ID && i < FIRST_DG_ID + NB_OF_MODULES) {
dgids8 |= mask8;
std::cout << "IMRS opening DG-ID " << i << std::endl;
}
mask8 = mask8 << 1;
}
Buffer->Append(dgids8);