This layer provides support for the BACnet stack. This is an open source C implementation that produces a static C library and demo BACNet client and server applications. ======================================================================== For more information about this BACnet stack https://sourceforge.net/projects/bacnet/ Developer's mailing list https://lists.sourceforge.net/lists/listinfo/bacnet-developers Sources ----------- - meta-bacnet URI: git://github.com/evensonbryan/meta-bacnet.git URI: https://github.com/evensonbryan/meta-bacnet.git Branch: master - bacnet-stack source URI: https://github.com/bacnet-stack/bacnet-stack GIT: git clone https://github.com/bacnet-stack/bacnet-stack bacnet-src Dependencies ------------ This Layer depends on : - openembedded-core URI: git://git.openembedded.org/openembedded-core/ URI: http://cgit.openembedded.org/openembedded-core/ Branch: master Build procedure --------------- 1/ Clone yocto/poky git repository git clone git://git.yoctoproject.org/poky 2/ Clone meta-bacnet git repository git clone git://github.com/evensonbryan/meta-bacnet.git meta-bacnet 3/ Initialize build directory source oe-init-build-env build-poky 4/ Add meta-bacnet layer patch to bblayer configuration file vim conf/bblayers.conf # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf # changes incompatibly POKY_BBLAYERS_CONF_VERSION = "2" BBPATH = "${TOPDIR}" BBFILES ?= "" BBLAYERS ?= " \ ##OEROOT##/meta-bacnet \ ##OEROOT##/meta \ ##OEROOT##/meta-yocto \ ##OEROOT##/meta-yocto-bsp \ " 5/ Edit local.conf to specify the machine, location of source archived, package type (rpm, deb or ipk) for your specific BSP. The BACnet stack is not machine specific. 6/ Build the BACnet stack. This builds all the demo applications. bitbake bacnet-stack Customizing the build --------------------- 1/ Create a .bbappend in your custom layer: touch <your-layer>/recipes-connectivity/bacnet-stack/bacnet-stack_%.bbappend 2/ In your .bbappend, change do_compile to build specific applications Examples: do_compile () { # NOTE: There are many macros for defining different behavior and including/removing different # code sections. If you do not want the default settings, either define the macros here # or create a patch file to update their definition in the Makefiles. # Example macro definition: include BACnet MS/TP support BACDL_DEFINE=-DBACDL_MSTP=1 # Example build 1: Build the demo applications make apps # Example build 2: Build the gateway demo make gateway } 3/ Add new FILES and do_install definitions in your .bbappend based upon what was changed in do_compile. Example to include just the "Who-Is" demo application: FILES_${PN} = " \ ${bindir}/bacwi \ " ... do_install () { install -d ${D}${bindir} install -m 0755 ${S}/bin/bacwi ${D}${bindir} } Contributing ------------ Please use the github pull-request facility for submitting pull requests. for some useful guidelines to be followed when submitting patches: http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded Maintainers: Bryan Evenson <bevenson@melinkcorp.com> When creating patches insert the [meta-bacnet] tag in the subject, for example use something like: git format-patch -s --subject-prefix='meta-bacnet][PATCH' <origin>