|
|
| 278 |
header.SetFrameFlags (frameFlags); |
278 |
header.SetFrameFlags (frameFlags); |
| 279 |
header.SetRate (rate); |
279 |
header.SetRate (rate); |
| 280 |
|
280 |
|
|
|
281 |
uint16_t channelFlags = 0; |
| 282 |
switch (rate) |
| 283 |
{ |
| 284 |
case 2: // 1Mbps |
| 285 |
case 4: // 2Mbps |
| 286 |
case 10: // 5Mbps |
| 287 |
case 22: // 11Mbps |
| 288 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_CCK; |
| 289 |
break; |
| 290 |
|
| 291 |
default: |
| 292 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_OFDM; |
| 293 |
break; |
| 294 |
} |
| 295 |
|
| 281 |
if (channelFreqMhz < 2500) |
296 |
if (channelFreqMhz < 2500) |
| 282 |
{ |
297 |
{ |
| 283 |
header.SetChannelFrequencyAndFlags (channelFreqMhz, |
298 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_SPECTRUM_2GHZ; |
| 284 |
RadiotapHeader::CHANNEL_FLAG_SPECTRUM_2GHZ | RadiotapHeader::CHANNEL_FLAG_CCK); |
|
|
| 285 |
} |
299 |
} |
| 286 |
else |
300 |
else |
| 287 |
{ |
301 |
{ |
| 288 |
header.SetChannelFrequencyAndFlags (channelFreqMhz, |
302 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_SPECTRUM_5GHZ; |
| 289 |
RadiotapHeader::CHANNEL_FLAG_SPECTRUM_5GHZ | RadiotapHeader::CHANNEL_FLAG_OFDM); |
|
|
| 290 |
} |
303 |
} |
|
|
304 |
|
| 305 |
header.SetChannelFrequencyAndFlags (channelFreqMhz, channelFlags); |
| 291 |
|
306 |
|
| 292 |
p->AddHeader (header); |
307 |
p->AddHeader (header); |
| 293 |
file->Write (Simulator::Now (), p); |
308 |
file->Write (Simulator::Now (), p); |
|
|
| 339 |
header.SetFrameFlags (frameFlags); |
354 |
header.SetFrameFlags (frameFlags); |
| 340 |
header.SetRate (rate); |
355 |
header.SetRate (rate); |
| 341 |
|
356 |
|
|
|
357 |
uint16_t channelFlags = 0; |
| 358 |
switch (rate) |
| 359 |
{ |
| 360 |
case 2: // 1Mbps |
| 361 |
case 4: // 2Mbps |
| 362 |
case 10: // 5Mbps |
| 363 |
case 22: // 11Mbps |
| 364 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_CCK; |
| 365 |
break; |
| 366 |
|
| 367 |
default: |
| 368 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_OFDM; |
| 369 |
break; |
| 370 |
} |
| 371 |
|
| 342 |
if (channelFreqMhz < 2500) |
372 |
if (channelFreqMhz < 2500) |
| 343 |
{ |
373 |
{ |
| 344 |
header.SetChannelFrequencyAndFlags (channelFreqMhz, |
374 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_SPECTRUM_2GHZ; |
| 345 |
RadiotapHeader::CHANNEL_FLAG_SPECTRUM_2GHZ | RadiotapHeader::CHANNEL_FLAG_CCK); |
|
|
| 346 |
} |
375 |
} |
| 347 |
else |
376 |
else |
| 348 |
{ |
377 |
{ |
| 349 |
header.SetChannelFrequencyAndFlags (channelFreqMhz, |
378 |
channelFlags |= RadiotapHeader::CHANNEL_FLAG_SPECTRUM_5GHZ; |
| 350 |
RadiotapHeader::CHANNEL_FLAG_SPECTRUM_5GHZ | RadiotapHeader::CHANNEL_FLAG_OFDM); |
|
|
| 351 |
} |
379 |
} |
|
|
380 |
|
| 381 |
header.SetChannelFrequencyAndFlags (channelFreqMhz, channelFlags); |
| 352 |
|
382 |
|
| 353 |
header.SetAntennaSignalPower (signalDbm); |
383 |
header.SetAntennaSignalPower (signalDbm); |
| 354 |
header.SetAntennaNoisePower (noiseDbm); |
384 |
header.SetAntennaNoisePower (noiseDbm); |