initial EMANE 0.9.1 support
does not support event monitor or generating CommEffect events
This commit is contained in:
parent
1ab6be9625
commit
9ba3d29768
6 changed files with 205 additions and 67 deletions
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# CORE
|
||||
# Copyright (c)2010-2013 the Boeing Company.
|
||||
# Copyright (c)2010-2014 the Boeing Company.
|
||||
# See the LICENSE file included in this distribution.
|
||||
#
|
||||
# author: Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com>
|
||||
|
@ -12,8 +12,11 @@ used for the Universal PHY.
|
|||
|
||||
import sys
|
||||
import string
|
||||
try:
|
||||
from emanesh.events import EventService
|
||||
except:
|
||||
pass
|
||||
from core.api import coreapi
|
||||
|
||||
from core.constants import *
|
||||
from emane import EmaneModel
|
||||
|
||||
|
@ -29,7 +32,21 @@ class EmaneUniversalModel(EmaneModel):
|
|||
_xmllibrary = "universalphylayer"
|
||||
|
||||
# universal PHY parameters
|
||||
_confmatrix = [
|
||||
_confmatrix_base = [
|
||||
("bandwidth", coreapi.CONF_DATA_TYPE_UINT64, '1M',
|
||||
'', 'rf bandwidth (hz)'),
|
||||
("frequency", coreapi.CONF_DATA_TYPE_UINT64, '2.347G',
|
||||
'','frequency (Hz)'),
|
||||
("frequencyofinterest", coreapi.CONF_DATA_TYPE_UINT64, '2.347G',
|
||||
'','frequency of interest (Hz)'),
|
||||
("subid", coreapi.CONF_DATA_TYPE_UINT16, '1',
|
||||
'','subid'),
|
||||
("systemnoisefigure", coreapi.CONF_DATA_TYPE_FLOAT, '4.0',
|
||||
'','system noise figure (dB)'),
|
||||
("txpower", coreapi.CONF_DATA_TYPE_FLOAT, '0.0',
|
||||
'','transmit power (dBm)'),
|
||||
]
|
||||
_confmatrix_081 = [
|
||||
("antennagain", coreapi.CONF_DATA_TYPE_FLOAT, '0.0',
|
||||
'','antenna gain (dBi)'),
|
||||
("antennaazimuth", coreapi.CONF_DATA_TYPE_FLOAT, '0.0',
|
||||
|
@ -42,27 +59,31 @@ class EmaneUniversalModel(EmaneModel):
|
|||
'','antenna profile manifest URI'),
|
||||
("antennaprofileenable", coreapi.CONF_DATA_TYPE_BOOL, '0',
|
||||
'On,Off','antenna profile mode'),
|
||||
("bandwidth", coreapi.CONF_DATA_TYPE_UINT64, '1M',
|
||||
'', 'rf bandwidth (hz)'),
|
||||
("defaultconnectivitymode", coreapi.CONF_DATA_TYPE_BOOL, '1',
|
||||
'On,Off','default connectivity'),
|
||||
("frequency", coreapi.CONF_DATA_TYPE_UINT64, '2.347G',
|
||||
'','frequency (Hz)'),
|
||||
("frequencyofinterest", coreapi.CONF_DATA_TYPE_UINT64, '2.347G',
|
||||
'','frequency of interest (Hz)'),
|
||||
("frequencyofinterestfilterenable", coreapi.CONF_DATA_TYPE_BOOL, '1',
|
||||
'On,Off','frequency of interest filter enable'),
|
||||
("noiseprocessingmode", coreapi.CONF_DATA_TYPE_BOOL, '0',
|
||||
'On,Off','enable noise processing'),
|
||||
("pathlossmode", coreapi.CONF_DATA_TYPE_STRING, '2ray',
|
||||
'pathloss,2ray,freespace','path loss mode'),
|
||||
("subid", coreapi.CONF_DATA_TYPE_UINT16, '1',
|
||||
'','subid'),
|
||||
("systemnoisefigure", coreapi.CONF_DATA_TYPE_FLOAT, '4.0',
|
||||
'','system noise figure (dB)'),
|
||||
("txpower", coreapi.CONF_DATA_TYPE_FLOAT, '0.0',
|
||||
'','transmit power (dBm)'),
|
||||
]
|
||||
]
|
||||
_confmatrix_091 = [
|
||||
("fixedantennagain", coreapi.CONF_DATA_TYPE_FLOAT, '0.0',
|
||||
'','antenna gain (dBi)'),
|
||||
("fixedantennagainenable", coreapi.CONF_DATA_TYPE_BOOL, '1',
|
||||
'On,Off','enable fixed antenna gain'),
|
||||
("noisemode", coreapi.CONF_DATA_TYPE_STRING, 'none',
|
||||
'none,all,outofband','noise processing mode'),
|
||||
("noisebinsize", coreapi.CONF_DATA_TYPE_UINT64, '20',
|
||||
'','noise bin size in microseconds'),
|
||||
("propagationmodel", coreapi.CONF_DATA_TYPE_STRING, '2ray',
|
||||
'precomputed,2ray,freespace','path loss mode'),
|
||||
]
|
||||
if 'EventService' in globals():
|
||||
_confmatrix = _confmatrix_base + _confmatrix_091
|
||||
else:
|
||||
_confmatrix = _confmatrix_base + _confmatrix_081
|
||||
|
||||
# old parameters
|
||||
_confmatrix_ver074 = [
|
||||
|
@ -87,9 +108,10 @@ class EmaneUniversalModel(EmaneModel):
|
|||
phydoc = e.xmldoc("phy")
|
||||
phy = phydoc.getElementsByTagName("phy").pop()
|
||||
phy.setAttribute("name", cls._xmlname)
|
||||
phy.setAttribute("library", cls._xmllibrary)
|
||||
if e.version != e.EMANE091:
|
||||
phy.setAttribute("library", cls._xmllibrary)
|
||||
# EMANE 0.7.4 suppport - to be removed when 0.7.4 support is deprecated
|
||||
if e.emane074:
|
||||
if e.version == e.EMANE074:
|
||||
names = mac.getnames()
|
||||
values = list(values)
|
||||
phynames = list(phynames)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue