from core.emane import emanemanifest
from core.emane import emanemodel
class ExampleModel(emanemodel.EmaneModel):
Defines the emane model name that will show up in the GUI.
name = "emane_example"
Defines that mac library that the model will reference.
mac_library = "rfpipemaclayer"
Defines the mac manifest file that will be parsed to obtain configuration options, that will be displayed within the GUI.
mac_xml = "/usr/share/emane/manifest/rfpipemaclayer.xml"
Allows you to override options that are maintained within the manifest file above.
mac_defaults = {
"pcrcurveuri": "/usr/share/emane/xml/models/mac/rfpipe/rfpipepcr.xml",
}
Parses the manifest file and converts configurations into core supported formats.
mac_config = emanemanifest.parse(mac_xml, mac_defaults)
NOTE: phy configuration will default to the universal model as seen below and the below section does not have to be included.
Defines that phy library that the model will reference, used if you need to provide a custom phy.
phy_library = None
Defines the phy manifest file that will be parsed to obtain configuration options, that will be displayed within the GUI.
phy_xml = "/usr/share/emane/manifest/emanephy.xml"
Allows you to override options that are maintained within the manifest file above or for the default universal model.
phy_defaults = {
"subid": "1",
"propagationmodel": "2ray",
"noisemode": "none"
}
Parses the manifest file and converts configurations into core supported formats.
phy_config = emanemanifest.parse(phy_xml, phy_defaults)
NOTE: these options default to what's seen below and do not have to be included.
Allows you to ignore options within phy/mac, used typically if you needed to add a custom option for display within the gui.
config_ignore = set()
Allows you to override how options are displayed with the GUI, using the GUI format of "name:1-2|othername:3-4". This will be parsed into tabs, split by "|" and account for items based on the indexed numbers after ":" for including values in each tab.
config_groups_override = None
Allows you to override the default config matrix list. This value by default is the mac_config + phy_config, in that order.
config_matrix_override = None