lpcmanager

5845deb12d68
Updated sysroot path, pairs with LPC2-MC9-distro rev 842e31bb974d
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import absolute_import
#
# --------- Libraries Extension ------------
#
import features
from POULibrary import SimplePOULibraryFactory
from LPCArch import arch, PLC_MC9_module, PLC_GOT_module
# _lpcmanager_path, arch, etc are defined here because
# globals() of LPCManager.py are passed to extentions
features.libraries=[('Native', 'NativeLib.NativeLibrary')]
def _poulibpath(name):
return os.path.join(_lpcmanager_path, 'Pous', "pous"+name+".xml")
if arch in PLC_MC9_module:
features.libraries += [('Python', 'py_ext.PythonLibrary'),
('RTC', SimplePOULibraryFactory(_poulibpath("RTC")))]
elif arch in PLC_GOT_module:
features.libraries += [('Python', 'py_ext.PythonLibrary'),
('RTC', SimplePOULibraryFactory(_poulibpath("RTC"))),
('GOT', SimplePOULibraryFactory(_poulibpath("GOT")))]
else:
features.libraries += [('LPC', SimplePOULibraryFactory(_poulibpath("LPC")))]
#
# --------- Configuration Tree Nodes (CTN) catalog extension ------------
#
_oldcatalog = features.catalog
catalog_index = dict(zip(zip(*_oldcatalog)[0],_oldcatalog))
wanted_beremiz_features = [catalog_index[feature]
for feature in ["modbus", "c_ext", "py_ext"]]
features.catalog = wanted_beremiz_features + [
('LPCBus', _('LPC bus'), _('Support for Smarteh modules'), 'LPCBus.LPCBus'),
('CanOpen', _('CANOpen'), _('Support for CANopen'), 'LPCCanFestival.LPCCanOpen')]
#
# --------- Connectors Extension ------------
#
import connectors
from LPCconnector import LPC_connector_factory
connectors.connectors["LPC"] = lambda: LPC_connector_factory
#
# --------- Targets/Toolchains Extension ------------
#
import targets
from LPCtarget import LPC_target
targets.targets["LPC"] = {"xsd": os.path.join(_lpcmanager_path, "LPCtarget", "XSD"),
"class": lambda: LPC_target,
"code": {os.path.join(_lpcmanager_path, "LPCtarget", "plc_LPC_main.c")}}
targets.toolchains["makefile"] = os.path.join(_lpcmanager_path, "LPCtarget", "XSD_toolchain_makefile")
targets.targets["MC9"] = {"xsd": os.path.join(_lpcmanager_path, "MC9target", "XSD"),
"class": targets.targets["Xenomai"]["class"],
"code": {"plc_MC9_main.c": targets.targets["Xenomai"]["code"]["plc_Xenomai_main.c"],
"plc_MC9_main_retain.c": os.path.join(_lpcmanager_path,
"MC9target", "plc_MC9_main_retain.c")}}