public void CalculateTransmitTime() { _transmissionLogs = new EndNodeTransmissionLog[ Settings.GetPacketsCountFromOneNode()]; uint transmitPeriodMs = Settings.MS_IN_HOUR / Settings.PacketsPerHour; uint slotTimeMs = 0; for (uint i = 0; i < Settings.GetPacketsCountFromOneNode(); i++) { var random = RandomAccessPoint.GetRandomObject(); uint randomWait = (uint)random.Next((int)transmitPeriodMs); _transmissionLogs[i].StartMs = slotTimeMs + randomWait; _transmissionLogs[i].EndMs = _transmissionLogs[i].StartMs + GetOnePacketTransmitTimeMs(); _transmissionLogs[i].ChannelNumber = GetRandomChannelNumber(); _transmissionLogs[i].IsPacketCanBeListenByGateway = true; slotTimeMs += transmitPeriodMs; } }
private uint GetRandomChannelNumber() { var random = RandomAccessPoint.GetRandomObject(); return((uint)random.Next((int)Settings.ChannelsCount)); }