handle authorized dg-ids

pull/224/head
Stefano Lande 3 years ago
parent cfcc839770
commit 092064eb39

@ -659,13 +659,16 @@ void CImrsProtocol::EncodePongPacket(CBuffer *Buffer) const
// radioid // radioid
Buffer->Append(radioid, sizeof(radioid)); Buffer->Append(radioid, sizeof(radioid));
// list of authorised dg-id // 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 dgids32 = 0x00000004;
uint32 mask32 = 0x00000400; uint32 mask32 = 0x00000400;
// modules 10->31 // 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; mask32 = mask32 << 1;
} }
Buffer->Append(LOBYTE(LOWORD(dgids32))); Buffer->Append(LOBYTE(LOWORD(dgids32)));
@ -675,9 +678,12 @@ void CImrsProtocol::EncodePongPacket(CBuffer *Buffer) const
// module 32->35 // module 32->35
uint8 dgids8 = 0x00; uint8 dgids8 = 0x00;
uint8 mask8 = 0x01; 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; mask8 = mask8 << 1;
} }
Buffer->Append(dgids8); Buffer->Append(dgids8);

Loading…
Cancel
Save

Powered by TurnKey Linux.