├── .astylerc
├── .gdbinit
├── .gitignore
├── .hgeol
├── .hgignore
├── .indent.pro
├── .splintrc
├── BACnet-stack.doxyfile
├── Makefile
├── bin
├── abort-reason.sh
├── bacroute.sh
├── bacrpd.bat
├── bacrpd.sh
├── bvlc.bat
├── bvlc.sh
├── door-status.sh
├── error-code.sh
├── event-state.sh
├── event-type.sh
├── lock-status.sh
├── object-type.sh
├── program-request.sh
├── program-state.sh
├── property-states.sh
├── property_id.sh
├── readme.txt
├── reliability.sh
├── restart-reason.sh
├── units.sh
└── vendor-id.sh
├── borland.bat
├── build.bat
├── build.sh
├── comment.sh
├── demo
├── BACnetDemo.workspace
├── Makefile
├── abort
│ ├── Makefile
│ └── main.c
├── dcc
│ ├── Makefile
│ ├── main.c
│ ├── makefile.b32
│ ├── makefile.g++
│ └── tmake.pro
├── epics
│ ├── Makefile
│ ├── bacepics.cbp
│ ├── bacepics.h
│ ├── main.c
│ └── makefile.b32
├── error
│ ├── Makefile
│ └── main.c
├── gateway
│ ├── Makefile
│ ├── gateway.h
│ ├── main.c
│ └── makefile.b32
├── getevent
│ ├── Makefile
│ └── main.c
├── handler
│ ├── dlenv.c
│ ├── h_alarm_ack.c
│ ├── h_arf.c
│ ├── h_arf_a.c
│ ├── h_awf.c
│ ├── h_bbmd6.c
│ ├── h_ccov.c
│ ├── h_cov.c
│ ├── h_dcc.c
│ ├── h_gas_a.c
│ ├── h_get_alarm_sum.c
│ ├── h_getevent.c
│ ├── h_getevent_a.c
│ ├── h_iam.c
│ ├── h_ihave.c
│ ├── h_lso.c
│ ├── h_npdu.c
│ ├── h_pt.c
│ ├── h_pt_a.c
│ ├── h_rd.c
│ ├── h_routed_npdu.c
│ ├── h_rp.c
│ ├── h_rp_a.c
│ ├── h_rpm.c
│ ├── h_rpm_a.c
│ ├── h_rr.c
│ ├── h_rr_a.c
│ ├── h_ts.c
│ ├── h_ucov.c
│ ├── h_upt.c
│ ├── h_whohas.c
│ ├── h_whois.c
│ ├── h_wp.c
│ ├── h_wpm.c
│ ├── noserv.c
│ ├── objects.c
│ ├── s_abort.c
│ ├── s_ack_alarm.c
│ ├── s_arfs.c
│ ├── s_awfs.c
│ ├── s_cevent.c
│ ├── s_cov.c
│ ├── s_dcc.c
│ ├── s_error.c
│ ├── s_get_alarm_sum.c
│ ├── s_get_event.c
│ ├── s_getevent.c
│ ├── s_iam.c
│ ├── s_ihave.c
│ ├── s_lso.c
│ ├── s_ptransfer.c
│ ├── s_rd.c
│ ├── s_readrange.c
│ ├── s_router.c
│ ├── s_rp.c
│ ├── s_rpm.c
│ ├── s_ts.c
│ ├── s_uevent.c
│ ├── s_upt.c
│ ├── s_whohas.c
│ ├── s_whois.c
│ ├── s_wp.c
│ ├── s_wpm.c
│ └── txbuf.c
├── iam
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── iamrouter
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── initrouter
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── mstpcap
│ ├── Makefile
│ ├── main.c
│ ├── makefile.b32
│ └── mstpcap.txt
├── mstpcrc
│ ├── Makefile
│ ├── build.bat
│ ├── main.c
│ ├── makefile.b32
│ └── readme.txt
├── object
│ ├── access_credential.c
│ ├── access_credential.h
│ ├── access_credential.mak
│ ├── access_door.c
│ ├── access_door.h
│ ├── access_door.mak
│ ├── access_point.c
│ ├── access_point.h
│ ├── access_point.mak
│ ├── access_rights.c
│ ├── access_rights.h
│ ├── access_rights.mak
│ ├── access_user.c
│ ├── access_user.h
│ ├── access_user.mak
│ ├── access_zone.c
│ ├── access_zone.h
│ ├── access_zone.mak
│ ├── ai.c
│ ├── ai.h
│ ├── ai.mak
│ ├── ao.c
│ ├── ao.h
│ ├── ao.mak
│ ├── av.c
│ ├── av.h
│ ├── av.mak
│ ├── bacfile.c
│ ├── bacfile.h
│ ├── bi.c
│ ├── bi.h
│ ├── bi.mak
│ ├── bo.c
│ ├── bo.h
│ ├── bo.mak
│ ├── bv.c
│ ├── bv.h
│ ├── bv.mak
│ ├── channel.c
│ ├── channel.h
│ ├── command.c
│ ├── command.h
│ ├── command.mak
│ ├── credential_data_input.c
│ ├── credential_data_input.h
│ ├── credential_data_input.mak
│ ├── csv.c
│ ├── csv.h
│ ├── csv.mak
│ ├── device-client.c
│ ├── device.c
│ ├── device.h
│ ├── device.mak
│ ├── gw_device.c
│ ├── iv.c
│ ├── iv.h
│ ├── lc.c
│ ├── lc.h
│ ├── lc.ide
│ ├── lc.mak
│ ├── lo.c
│ ├── lo.h
│ ├── lo.mak
│ ├── lsp.c
│ ├── lsp.h
│ ├── lsp.mak
│ ├── msi.c
│ ├── msi.h
│ ├── msi.mak
│ ├── mso.c
│ ├── mso.h
│ ├── mso.mak
│ ├── msv.c
│ ├── msv.h
│ ├── msv.mak
│ ├── nc.c
│ ├── nc.h
│ ├── osv.c
│ ├── osv.h
│ ├── osv.mak
│ ├── piv.c
│ ├── piv.h
│ ├── piv.mak
│ ├── schedule.c
│ ├── schedule.h
│ ├── schedule.mak
│ ├── trendlog.c
│ └── trendlog.h
├── perl
│ ├── Documentation
│ │ ├── index.html
│ │ ├── jquery.js
│ │ ├── syntax.css
│ │ └── syntax.js
│ ├── bacnet.pl
│ ├── example_readprop.pl
│ ├── perl_bindings.c
│ └── readme.txt
├── piface
│ ├── Makefile
│ ├── configure.sh
│ ├── device.c
│ ├── main.c
│ └── readme.txt
├── ptransfer
│ ├── Makefile
│ ├── main.c
│ ├── makefile.b32
│ ├── ptransfer.sln
│ └── rdproperty.vcproj
├── readbdt
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── readfile
│ ├── Makefile
│ ├── main.c
│ ├── main.ide
│ └── makefile.b32
├── readprop
│ ├── Makefile
│ ├── bacrp.cbp
│ ├── main.c
│ └── makefile.b32
├── readpropm
│ ├── Makefile
│ ├── bacrpm.cbp
│ ├── main.c
│ └── makefile.b32
├── readrange
│ ├── Makefile
│ ├── main.c
│ └── readrange
│ │ ├── readrange.sln
│ │ └── readrange.vcproj
├── reinit
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── router-ipv6
│ ├── Makefile
│ ├── main.c
│ └── readme.txt
├── router
│ ├── Makefile
│ ├── init.cfg
│ ├── ipmodule.c
│ ├── ipmodule.h
│ ├── main.c
│ ├── msgqueue.c
│ ├── msgqueue.h
│ ├── mstpmodule.c
│ ├── mstpmodule.h
│ ├── network_layer.c
│ ├── network_layer.h
│ ├── portthread.c
│ ├── portthread.h
│ └── readme.txt
├── scov
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── server
│ ├── .gdbinit
│ ├── Makefile
│ ├── PICS.odt
│ ├── bacserv.cbp
│ ├── epics_vts3.tpi
│ ├── main.c
│ ├── makefile.b32
│ └── server.h
├── timesync
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── ucov
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── uevent
│ ├── Makefile
│ └── main.c
├── uptransfer
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── whohas
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── whois
│ ├── Makefile
│ ├── bacwi.dsp
│ ├── main.c
│ └── makefile.b32
├── whoisrouter
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
├── writefile
│ ├── Makefile
│ ├── main.c
│ ├── main.ide
│ └── makefile.b32
├── writeprop
│ ├── Makefile
│ ├── main.c
│ └── makefile.b32
└── writepropm
│ ├── Makefile
│ └── main.c
├── doc
├── BACnet-Protocol-Diagram.odg
├── BACnetCollapsedArchitecture.flw
├── README.build
├── README.codeblocks
├── README.developer
├── README.doxygen
├── README.faq
├── README.msvc
├── README.msvs
├── README.release
├── README.sloc
├── README.subversion
├── README.todo
├── README.ubuntu
├── README.utils
├── RPM-Handler.flw
├── bac_stack_footer.html
├── bac_stack_header.html
├── bacnet_dev.config
├── code-standard.txt
├── htdocs
│ ├── images
│ │ └── BACnet.png
│ └── index.html
├── man
│ ├── bacrp.1
│ ├── bacwi.1
│ └── bacwp.1
└── output
│ ├── BAC_stack.html
│ └── html
│ └── BACnet_sm.png
├── export.sh
├── fixup.bat
├── fixup.sh
├── include
├── abort.h
├── access_rule.h
├── address.h
├── alarm_ack.h
├── apdu.h
├── arcnet.h
├── arf.h
├── assigned_access_rights.h
├── authentication_factor.h
├── authentication_factor_format.h
├── awf.h
├── bacaddr.h
├── bacapp.h
├── bacdcode.h
├── bacdef.h
├── bacdevobjpropref.h
├── bacenum.h
├── bacerror.h
├── bacint.h
├── bacnet.h
├── bacprop.h
├── bacpropstates.h
├── bacreal.h
├── bacsec.h
├── bacstr.h
├── bactext.h
├── bactimevalue.h
├── bigend.h
├── bip.h
├── bip6.h
├── bits.h
├── bvlc.h
├── bvlc6.h
├── bytes.h
├── client.h
├── config.h
├── cov.h
├── crc.h
├── credential_authentication_factor.h
├── datalink.h
├── datetime.h
├── dcc.h
├── debug.h
├── dlenv.h
├── dlmstp.h
├── ethernet.h
├── event.h
├── fifo.h
├── filename.h
├── get_alarm_sum.h
├── getevent.h
├── handlers.h
├── iam.h
├── ihave.h
├── indtext.h
├── key.h
├── keylist.h
├── lighting.h
├── lso.h
├── memcopy.h
├── mstp.h
├── mstpdef.h
├── mstptext.h
├── mydata.h
├── npdu.h
├── objects.h
├── proplist.h
├── ptransfer.h
├── rd.h
├── readrange.h
├── reject.h
├── ringbuf.h
├── rp.h
├── rpm.h
├── sbuf.h
├── timestamp.h
├── timesync.h
├── tsm.h
├── txbuf.h
├── ucix.h
├── version.h
├── vmac.h
├── whohas.h
├── whois.h
├── wp.h
└── wpm.h
├── indent-all.bat
├── indent.bat
├── indent.sh
├── lib
├── Makefile
├── bacnet.cbp
├── bacnetdll.cbp
├── main.cpp
├── main.h
└── makefile.b32
├── license
├── gpl-2.txt
└── readme.txt
├── makefile.b32
├── ports
├── arduino_uno
│ ├── Makefile
│ ├── apdu.c
│ ├── av.c
│ ├── av.h
│ ├── bip-init.c
│ ├── bip.c
│ ├── bip.h
│ ├── bv.c
│ ├── bv.h
│ ├── bvlc-arduino.c
│ ├── bvlc-arduino.h
│ ├── datalink.h
│ ├── device.c
│ ├── device.h
│ ├── external
│ │ └── Arduino
│ │ │ ├── Ethernet
│ │ │ ├── Makefile
│ │ │ ├── include
│ │ │ │ ├── SPI.h
│ │ │ │ ├── util.h
│ │ │ │ ├── w5100.h
│ │ │ │ └── w5100Wrapper.h
│ │ │ └── src
│ │ │ │ ├── SPI.cpp
│ │ │ │ ├── socket.cpp
│ │ │ │ ├── w5100.cpp
│ │ │ │ └── w5100Wrapper.cpp
│ │ │ └── core
│ │ │ └── include
│ │ │ ├── Arduino.h
│ │ │ ├── HardwareSerial.h
│ │ │ ├── Server.h
│ │ │ ├── USBAPI.h
│ │ │ ├── USBCore.h
│ │ │ ├── Udp.h
│ │ │ ├── binary.h
│ │ │ ├── new.h
│ │ │ ├── pins_arduino.h
│ │ │ └── wiring_private.h
│ ├── h_rp.c
│ ├── h_whois.c
│ ├── h_wp.c
│ ├── main.c
│ ├── stdbool.h
│ ├── stdint.h
│ ├── txbuf.h
│ ├── uart.c
│ └── uart.h
├── arm7
│ ├── _stdint.h
│ ├── bip.c
│ ├── net.h
│ └── stdbool.h
├── at91sam7s
│ ├── .gdbinit
│ ├── Makefile
│ ├── ai.c
│ ├── at91sam7s256.h
│ ├── at91sam7s256.ld
│ ├── av.c
│ ├── bacnet.ewp
│ ├── bacnet.eww
│ ├── bi.c
│ ├── blinker.c
│ ├── board.h
│ ├── bv.c
│ ├── crt.s
│ ├── device.c
│ ├── dlmstp.c
│ ├── init.c
│ ├── irq.c
│ ├── isr.c
│ ├── isr.h
│ ├── main.c
│ ├── readme.txt
│ ├── rs485.c
│ ├── rs485.h
│ ├── timer.c
│ └── timer.h
├── atmega168
│ ├── .splintrc
│ ├── Makefile
│ ├── PICS.odt
│ ├── ai.c
│ ├── ai.h
│ ├── apdu.c
│ ├── av.c
│ ├── av.h
│ ├── avr035.h
│ ├── bacnet.aps
│ ├── bacnet.ewp
│ ├── bacnet.eww
│ ├── bv.c
│ ├── bv.h
│ ├── device.c
│ ├── device.h
│ ├── dlmstp.c
│ ├── h_rp.c
│ ├── h_whois.c
│ ├── h_wp.c
│ ├── hardware.h
│ ├── hardware.ods
│ ├── iar2gcc.h
│ ├── main.c
│ ├── readme.txt
│ ├── rs485.c
│ ├── rs485.h
│ ├── stack.c
│ ├── stack.h
│ ├── stdbool.h
│ ├── stdint.h
│ ├── timer.c
│ └── timer.h
├── atmega8
│ ├── Makefile
│ ├── apdu.c
│ ├── avr035.h
│ ├── bacnet.ewp
│ ├── bacnet.eww
│ ├── device.c
│ ├── dlmstp.c
│ ├── hardware.h
│ ├── hardware.ods
│ ├── iar2gcc.h
│ ├── main.c
│ ├── readme.txt
│ ├── rs485.c
│ ├── rs485.h
│ ├── stdbool.h
│ ├── stdint.h
│ ├── timer.c
│ └── timer.h
├── bdk-atxx4-mstp
│ ├── Makefile
│ ├── PICS.odt
│ ├── adc-block.c
│ ├── adc.c
│ ├── adc.h
│ ├── ai.c
│ ├── av.c
│ ├── avrosp
│ │ ├── AVRBootloader.cpp
│ │ ├── AVRBootloader.hpp
│ │ ├── AVRDevice.cpp
│ │ ├── AVRDevice.hpp
│ │ ├── AVRInSystemProg.cpp
│ │ ├── AVRInSystemProg.hpp
│ │ ├── AVROSP.dev
│ │ ├── AVRProgrammer.cpp
│ │ ├── AVRProgrammer.hpp
│ │ ├── CommChannel.cpp
│ │ ├── CommChannel.hpp
│ │ ├── ErrorMsg.cpp
│ │ ├── ErrorMsg.hpp
│ │ ├── HEXParser.cpp
│ │ ├── HEXParser.hpp
│ │ ├── JobInfo.cpp
│ │ ├── JobInfo.hpp
│ │ ├── SerialPort.cpp
│ │ ├── SerialPort.hpp
│ │ ├── Utility.cpp
│ │ ├── Utility.hpp
│ │ ├── XMLParser.cpp
│ │ ├── XMLParser.hpp
│ │ ├── main.cpp
│ │ └── readme.txt
│ ├── bacnet.aps
│ ├── bacnet.atsln
│ ├── bacnet.c
│ ├── bacnet.cproj
│ ├── bacnet.ewp
│ ├── bacnet.eww
│ ├── bacnet.h
│ ├── bacnet.hzp
│ ├── bi.c
│ ├── bname.c
│ ├── bname.h
│ ├── bo.c
│ ├── bootloader
│ │ ├── Makefile
│ │ ├── bootloader.aps
│ │ ├── defines.h
│ │ ├── flash.h
│ │ ├── main.c
│ │ ├── parts.txt
│ │ ├── preprocessor.sh
│ │ ├── preprocessor.xls
│ │ ├── serial.c
│ │ └── serial.h
│ ├── crossworks
│ │ └── stdbool.h
│ ├── device.c
│ ├── dlmstp.c
│ ├── eeprom.c
│ ├── eeprom.h
│ ├── epics_vts3.tpi
│ ├── fuses.c
│ ├── hardware.h
│ ├── hardware.ods
│ ├── iar2gcc.h
│ ├── init.c
│ ├── init.h
│ ├── input.c
│ ├── input.h
│ ├── led.c
│ ├── led.h
│ ├── main.c
│ ├── nvdata.h
│ ├── rs485.c
│ ├── rs485.h
│ ├── seeprom.c
│ ├── seeprom.h
│ ├── serial.c
│ ├── serial.h
│ ├── stack.c
│ ├── stack.h
│ ├── test.c
│ ├── test.h
│ ├── timer.c
│ ├── timer.h
│ ├── timer2.c
│ ├── watchdog.c
│ └── watchdog.h
├── bsd
│ ├── bip-init.c
│ ├── bip6.c
│ ├── main.c
│ ├── net.h
│ ├── readme.txt
│ ├── stdbool.h
│ ├── timer.c
│ └── timer.h
├── dos
│ ├── bacnet.prj
│ ├── dlmstp.c
│ ├── extkword.h
│ ├── main.c
│ ├── mk_fp.h
│ ├── pchwio.c
│ ├── pchwio.h
│ ├── queue.c
│ ├── queue.h
│ ├── readme.txt
│ ├── rs485.c
│ ├── rs485.h
│ ├── serial.c
│ ├── serial.h
│ ├── stdbool.h
│ ├── stdint.h
│ ├── timer.c
│ └── timer.h
├── esp32
│ ├── lib
│ │ └── readme.txt
│ ├── platformio.ini
│ ├── readme.txt
│ └── src
│ │ ├── ai.c
│ │ ├── ai.h
│ │ ├── bip_init.c
│ │ ├── bo.c
│ │ ├── bo.h
│ │ ├── device.c
│ │ ├── device.h
│ │ ├── main.c
│ │ └── sdkconfig.h
├── linux
│ ├── arcnet.c
│ ├── bacnet_ipv6.lua
│ ├── bacsec_linux.c
│ ├── bip-init.c
│ ├── bip6.c
│ ├── dlmstp.c
│ ├── dlmstp.mak
│ ├── dlmstp_linux.c
│ ├── dlmstp_linux.h
│ ├── ethernet.c
│ ├── mstpsnap.c
│ ├── mstpsnap.mak
│ ├── net.h
│ ├── readme.txt
│ ├── rs485.c
│ ├── rs485.h
│ ├── rs485.mak
│ ├── rx_fsm.c
│ ├── rx_fsm.mak
│ ├── timer.c
│ └── timer.h
├── lwip
│ ├── bip.c
│ └── net.h
├── pic18f6720
│ ├── 18F6720.lkr
│ ├── BACnet-Server.X
│ │ ├── Makefile
│ │ └── nbproject
│ │ │ ├── Makefile-default.mk
│ │ │ ├── Makefile-genesis.properties
│ │ │ ├── Makefile-impl.mk
│ │ │ ├── Makefile-local-default.mk
│ │ │ ├── Makefile-variables.mk
│ │ │ ├── Package-default.bash
│ │ │ ├── configurations.xml
│ │ │ ├── project.properties
│ │ │ └── project.xml
│ ├── BACnet-Server.mcp
│ ├── BACnet-Server.mcw
│ ├── Makefile
│ ├── ai.c
│ ├── apdu.c
│ ├── av.c
│ ├── bi.c
│ ├── bv.c
│ ├── device.c
│ ├── dlmstp.c
│ ├── dlmstp.h
│ ├── hardware.h
│ ├── isr.c
│ ├── main.c
│ ├── mstp.c
│ ├── mstp.h
│ ├── pic18f6720.tpi
│ ├── readme.txt
│ ├── rs485.c
│ ├── rs485.h
│ ├── stdbool.h
│ └── stdint.h
├── pic18f97j60
│ ├── BACnet-Server.X
│ │ ├── Makefile
│ │ └── nbproject
│ │ │ ├── Makefile-default.mk
│ │ │ ├── Makefile-genesis.properties
│ │ │ ├── Makefile-impl.mk
│ │ │ ├── Makefile-local-default.mk
│ │ │ ├── Makefile-variables.mk
│ │ │ ├── Package-default.bash
│ │ │ ├── configurations.xml
│ │ │ ├── private
│ │ │ ├── configurations.xml
│ │ │ └── private.xml
│ │ │ ├── project.properties
│ │ │ └── project.xml
│ ├── Makefile
│ ├── ai.c
│ ├── apdu.c
│ ├── av.c
│ ├── bi.c
│ ├── bv.c
│ ├── device.c
│ ├── dlmstp.c
│ ├── dlmstp.h
│ ├── hardware.h
│ ├── isr.c
│ ├── main.c
│ ├── mstp.c
│ ├── mstp.h
│ ├── readme.txt
│ ├── rs485.c
│ ├── rs485.h
│ ├── stdbool.h
│ └── stdint.h
├── rtos32
│ ├── bip-init.c
│ ├── dlmstp.c
│ ├── ethernet.c
│ ├── hardware.cfg
│ ├── init.c
│ ├── main.c
│ ├── makefile.mak
│ ├── monitor.cfg
│ ├── mstp.c
│ ├── mstp.h
│ ├── net.h
│ ├── netcfg.h
│ ├── rs485.c
│ ├── rs485.h
│ ├── setvars.bat
│ ├── software.cfg
│ ├── stdbool.h
│ └── stdint.h
├── rx62n
│ ├── BACnet_Ethernet_RX62N.hwp
│ ├── bacnet.c
│ ├── bacnet.h
│ ├── bo.c
│ ├── device.c
│ ├── ethernet.c
│ ├── hardware.h
│ ├── led.c
│ ├── led.h
│ ├── main.c
│ ├── readme.txt
│ ├── timer-hdw.c
│ ├── timer.c
│ └── timer.h
├── stm32f10x
│ ├── CMSIS
│ │ ├── CMSIS debug support.htm
│ │ ├── CMSIS_Core.htm
│ │ ├── CMSIS_changes.htm
│ │ ├── License.doc
│ │ ├── TrueSTUDIO
│ │ │ ├── startup_stm32f10x_cl.s
│ │ │ ├── startup_stm32f10x_hd.s
│ │ │ ├── startup_stm32f10x_hd_vl.s
│ │ │ ├── startup_stm32f10x_ld.s
│ │ │ ├── startup_stm32f10x_ld_vl.s
│ │ │ ├── startup_stm32f10x_md.s
│ │ │ ├── startup_stm32f10x_md_vl.s
│ │ │ └── startup_stm32f10x_xl.s
│ │ ├── arm
│ │ │ ├── startup_stm32f10x_cl.s
│ │ │ ├── startup_stm32f10x_hd.s
│ │ │ ├── startup_stm32f10x_hd_vl.s
│ │ │ ├── startup_stm32f10x_ld.s
│ │ │ ├── startup_stm32f10x_ld_vl.s
│ │ │ ├── startup_stm32f10x_md.s
│ │ │ ├── startup_stm32f10x_md_vl.s
│ │ │ └── startup_stm32f10x_xl.s
│ │ ├── core_cm3.c
│ │ ├── core_cm3.h
│ │ ├── gcc_ride7
│ │ │ ├── startup_stm32f10x_cl.s
│ │ │ ├── startup_stm32f10x_hd.s
│ │ │ ├── startup_stm32f10x_hd_vl.s
│ │ │ ├── startup_stm32f10x_ld.s
│ │ │ ├── startup_stm32f10x_ld_vl.s
│ │ │ ├── startup_stm32f10x_md.s
│ │ │ ├── startup_stm32f10x_md_vl.s
│ │ │ └── startup_stm32f10x_xl.s
│ │ ├── iar
│ │ │ ├── startup_stm32f10x_cl.s
│ │ │ ├── startup_stm32f10x_hd.s
│ │ │ ├── startup_stm32f10x_hd_vl.s
│ │ │ ├── startup_stm32f10x_ld.s
│ │ │ ├── startup_stm32f10x_ld_vl.s
│ │ │ ├── startup_stm32f10x_md.s
│ │ │ ├── startup_stm32f10x_md_vl.s
│ │ │ └── startup_stm32f10x_xl.s
│ │ ├── stm32f10x.h
│ │ └── system_stm32f10x.h
│ ├── Makefile
│ ├── STM32_BACnet_Demo.svg
│ ├── STM32_BACnet_Software.svg
│ ├── automac.c
│ ├── automac.h
│ ├── bacnet.c
│ ├── bacnet.ewp
│ ├── bacnet.eww
│ ├── bacnet.h
│ ├── bo.c
│ ├── device.c
│ ├── dlmstp.c
│ ├── drivers
│ │ ├── Release_Notes_for_STM32F10x_StdPeriph_Driver.html
│ │ ├── inc
│ │ │ ├── stm32f10x_adc.h
│ │ │ ├── stm32f10x_bkp.h
│ │ │ ├── stm32f10x_can.h
│ │ │ ├── stm32f10x_cec.h
│ │ │ ├── stm32f10x_crc.h
│ │ │ ├── stm32f10x_dac.h
│ │ │ ├── stm32f10x_dbgmcu.h
│ │ │ ├── stm32f10x_dma.h
│ │ │ ├── stm32f10x_exti.h
│ │ │ ├── stm32f10x_flash.h
│ │ │ ├── stm32f10x_fsmc.h
│ │ │ ├── stm32f10x_gpio.h
│ │ │ ├── stm32f10x_i2c.h
│ │ │ ├── stm32f10x_iwdg.h
│ │ │ ├── stm32f10x_misc.h
│ │ │ ├── stm32f10x_pwr.h
│ │ │ ├── stm32f10x_rcc.h
│ │ │ ├── stm32f10x_rtc.h
│ │ │ ├── stm32f10x_sdio.h
│ │ │ ├── stm32f10x_spi.h
│ │ │ ├── stm32f10x_tim.h
│ │ │ ├── stm32f10x_usart.h
│ │ │ └── stm32f10x_wwdg.h
│ │ └── src
│ │ │ ├── stm32f10x_adc.c
│ │ │ ├── stm32f10x_bkp.c
│ │ │ ├── stm32f10x_can.c
│ │ │ ├── stm32f10x_cec.c
│ │ │ ├── stm32f10x_crc.c
│ │ │ ├── stm32f10x_dac.c
│ │ │ ├── stm32f10x_dbgmcu.c
│ │ │ ├── stm32f10x_dma.c
│ │ │ ├── stm32f10x_exti.c
│ │ │ ├── stm32f10x_flash.c
│ │ │ ├── stm32f10x_fsmc.c
│ │ │ ├── stm32f10x_gpio.c
│ │ │ ├── stm32f10x_i2c.c
│ │ │ ├── stm32f10x_iwdg.c
│ │ │ ├── stm32f10x_misc.c
│ │ │ ├── stm32f10x_pwr.c
│ │ │ ├── stm32f10x_rcc.c
│ │ │ ├── stm32f10x_rtc.c
│ │ │ ├── stm32f10x_sdio.c
│ │ │ ├── stm32f10x_spi.c
│ │ │ ├── stm32f10x_tim.c
│ │ │ ├── stm32f10x_usart.c
│ │ │ ├── stm32f10x_wwdg.c
│ │ │ └── syscalls.c
│ ├── hardware.h
│ ├── led.c
│ ├── led.h
│ ├── main.c
│ ├── readme.txt
│ ├── rs485.c
│ ├── rs485.h
│ ├── stm32-rs485-daughter.brd
│ ├── stm32-rs485-daughter.ods
│ ├── stm32-rs485-daughter.sch
│ ├── stm32f10x.ld
│ ├── stm32f10x_conf.h
│ ├── stm32f10x_flash.icf
│ ├── stm32f10x_it.c
│ ├── stm32f10x_it.h
│ ├── system_stm32f10x.c
│ ├── timer.c
│ ├── timer.h
│ └── timer_sys.c
├── win32
│ ├── MAKEFILE.MAK
│ ├── Microsoft Visual Studio 2010
│ │ ├── BACnet Handler Library
│ │ │ ├── BACnet Handler Library.vcxproj
│ │ │ └── BACnet Handler Library.vcxproj.filters
│ │ ├── BACnet Object Definitions
│ │ │ ├── BACnet Object Definitions.vcproj
│ │ │ ├── BACnet Object Definitions.vcxproj
│ │ │ └── BACnet Object Definitions.vcxproj.filters
│ │ ├── BACnet Stack Development.sln
│ │ ├── BACnet Stack Library
│ │ │ ├── BACnet Stack Library.vcproj
│ │ │ ├── BACnet Stack Library.vcxproj
│ │ │ └── BACnet Stack Library.vcxproj.filters
│ │ ├── Server
│ │ │ ├── Server.vcproj
│ │ │ └── Server.vcxproj
│ │ ├── Who-Is
│ │ │ ├── Who-Is.vcproj
│ │ │ └── Who-Is.vcxproj
│ │ ├── dcc
│ │ │ ├── dcc.vcxproj
│ │ │ └── dcc.vcxproj.filters
│ │ └── writeprop
│ │ │ ├── writeprop.vcxproj
│ │ │ └── writeprop.vcxproj.filters
│ ├── Microsoft Visual Studio 2015
│ │ ├── BACnet Solution Settings.props
│ │ ├── BACnet Stack Development.sln
│ │ ├── BACnet_Handler_Library
│ │ │ ├── BACnet_Handler_Library.vcxproj
│ │ │ └── BACnet_Handler_Library.vcxproj.filters
│ │ ├── BACnet_Object_Definitions
│ │ │ ├── BACnet_Object_Definitions.vcxproj
│ │ │ └── BACnet_Object_Definitions.vcxproj.filters
│ │ ├── BACnet_Stack_Library
│ │ │ ├── BACnet_Stack_Library.vcxproj
│ │ │ └── BACnet_Stack_Library.vcxproj.filters
│ │ └── Server
│ │ │ ├── Server.vcxproj
│ │ │ └── Server.vcxproj.filters
│ ├── bacnet.cbp
│ ├── bacnet.ide
│ ├── bip-init.c
│ ├── bip6.c
│ ├── borland.bat
│ ├── dlmstp-mm.c
│ ├── dlmstp.c
│ ├── dlmstp.cbp
│ ├── ethernet.c
│ ├── main.c
│ ├── makefile.mgw
│ ├── net.h
│ ├── readme.txt
│ ├── rs485.c
│ ├── rs485.cbp
│ ├── rs485.h
│ ├── rs485.mak
│ ├── rx_fsm.c
│ ├── rx_fsm.cbp
│ ├── rx_fsm.mak
│ ├── setvars.bat
│ ├── stdbool.h
│ ├── stdint.h
│ ├── timer.c
│ └── timer.h
└── xplained
│ ├── ASF
│ ├── common
│ │ ├── boards
│ │ │ └── board.h
│ │ ├── drivers
│ │ │ └── nvm
│ │ │ │ ├── common_nvm.h
│ │ │ │ └── xmega
│ │ │ │ └── xmega_nvm.c
│ │ ├── services
│ │ │ ├── clock
│ │ │ │ ├── genclk.h
│ │ │ │ ├── osc.h
│ │ │ │ ├── pll.h
│ │ │ │ ├── sysclk.h
│ │ │ │ └── xmega
│ │ │ │ │ ├── osc.h
│ │ │ │ │ ├── pll.h
│ │ │ │ │ ├── sysclk.c
│ │ │ │ │ └── sysclk.h
│ │ │ ├── delay
│ │ │ │ ├── delay.h
│ │ │ │ └── xmega
│ │ │ │ │ └── cycle_counter.h
│ │ │ ├── gpio
│ │ │ │ ├── gpio.h
│ │ │ │ └── xmega_gpio
│ │ │ │ │ └── xmega_gpio.h
│ │ │ ├── ioport
│ │ │ │ ├── ioport.h
│ │ │ │ └── xmega
│ │ │ │ │ ├── ioport.h
│ │ │ │ │ ├── ioport_compat.c
│ │ │ │ │ └── ioport_compat.h
│ │ │ ├── serial
│ │ │ │ ├── serial.h
│ │ │ │ ├── usart_serial.c
│ │ │ │ └── xmega_usart
│ │ │ │ │ └── usart_serial.h
│ │ │ └── sleepmgr
│ │ │ │ ├── sleepmgr.h
│ │ │ │ └── xmega
│ │ │ │ ├── sleepmgr.c
│ │ │ │ └── sleepmgr.h
│ │ └── utils
│ │ │ ├── interrupt.h
│ │ │ ├── interrupt
│ │ │ └── interrupt_avr8.h
│ │ │ ├── make
│ │ │ └── Makefile.avr.in
│ │ │ ├── parts.h
│ │ │ └── stdio
│ │ │ ├── read.c
│ │ │ ├── stdio_serial
│ │ │ └── stdio_serial.h
│ │ │ └── write.c
│ └── xmega
│ │ ├── boards
│ │ └── xmega_a3bu_xplained
│ │ │ ├── init.c
│ │ │ ├── led.h
│ │ │ └── xmega_a3bu_xplained.h
│ │ ├── drivers
│ │ ├── adc
│ │ │ ├── adc.c
│ │ │ ├── adc.h
│ │ │ └── xmega_aau
│ │ │ │ └── adc_aau.c
│ │ ├── cpu
│ │ │ ├── ccp.h
│ │ │ ├── ccp.s
│ │ │ └── xmega_reset_cause.h
│ │ ├── nvm
│ │ │ ├── nvm.c
│ │ │ ├── nvm.h
│ │ │ └── nvm_asm.s
│ │ ├── pmic
│ │ │ └── pmic.h
│ │ ├── rtc32
│ │ │ ├── rtc32.c
│ │ │ └── rtc32.h
│ │ ├── sleep
│ │ │ └── sleep.h
│ │ ├── tc
│ │ │ ├── tc.c
│ │ │ └── tc.h
│ │ ├── twi
│ │ │ ├── twi_common.h
│ │ │ ├── twim.c
│ │ │ ├── twim.h
│ │ │ ├── twis.c
│ │ │ └── twis.h
│ │ ├── usart
│ │ │ ├── usart.c
│ │ │ └── usart.h
│ │ └── wdt
│ │ │ ├── wdt.c
│ │ │ └── wdt.h
│ │ ├── services
│ │ ├── pwm
│ │ │ ├── pwm.c
│ │ │ └── pwm.h
│ │ └── timeout
│ │ │ ├── timeout.c
│ │ │ └── timeout.h
│ │ └── utils
│ │ ├── assembler.h
│ │ ├── assembler
│ │ └── gas.h
│ │ ├── bit_handling
│ │ └── clz_ctz.h
│ │ ├── compiler.h
│ │ ├── preprocessor
│ │ ├── mrepeat.h
│ │ ├── preprocessor.h
│ │ ├── stringz.h
│ │ └── tpaste.h
│ │ ├── progmem.h
│ │ └── status_codes.h
│ ├── adc-hdw.c
│ ├── adc-hdw.h
│ ├── ai.c
│ ├── asf.h
│ ├── bacnet.atsln
│ ├── bacnet.c
│ ├── bacnet.cproj
│ ├── bacnet.h
│ ├── bname.c
│ ├── bname.h
│ ├── config
│ ├── conf_adc.h
│ ├── conf_board.h
│ ├── conf_clock.h
│ ├── conf_nvm.h
│ ├── conf_rtc32.h
│ ├── conf_sleepmgr.h
│ ├── conf_timeout.h
│ ├── conf_twim.h
│ └── conf_usart_serial.h
│ ├── device.c
│ ├── dlmstp.c
│ ├── led.c
│ ├── led.h
│ ├── main.c
│ ├── nvmdata.c
│ ├── nvmdata.h
│ ├── readme.txt
│ ├── rs485-shield
│ ├── rs485-shield.brd
│ └── rs485-shield.sch
│ ├── rs485.c
│ ├── rs485.h
│ ├── stack.c
│ ├── stack.h
│ ├── timer.c
│ ├── timer.h
│ └── timer1.c
├── readme.txt
├── rebuild.sh
├── release.sh
├── splint.sh
├── src
├── abort.c
├── access_rule.c
├── address.c
├── alarm_ack.c
├── apdu.c
├── arf.c
├── assigned_access_rights.c
├── authentication_factor.c
├── authentication_factor_format.c
├── awf.c
├── bacaddr.c
├── bacapp.c
├── bacdcode.c
├── bacdevobjpropref.c
├── bacerror.c
├── bacint.c
├── bacprop.c
├── bacpropstates.c
├── bacreal.c
├── bacsec.c
├── bacstr.c
├── bactext.c
├── bactimevalue.c
├── bigend.c
├── bip.c
├── bvlc.c
├── bvlc6.c
├── cov.c
├── crc.c
├── credential_authentication_factor.c
├── datalink.c
├── datetime.c
├── dcc.c
├── debug.c
├── event.c
├── fifo.c
├── filename.c
├── get_alarm_sum.c
├── getevent.c
├── iam.c
├── ihave.c
├── indtext.c
├── key.c
├── keylist.c
├── lighting.c
├── lso.c
├── memcopy.c
├── mstp.c
├── mstptext.c
├── npdu.c
├── proplist.c
├── ptransfer.c
├── rd.c
├── readrange.c
├── reject.c
├── ringbuf.c
├── rp.c
├── rpm.c
├── sbuf.c
├── timestamp.c
├── timesync.c
├── tsm.c
├── ucix.c
├── version.c
├── vmac.c
├── whohas.c
├── whois.c
├── wp.c
└── wpm.c
├── svn2cl.xsl
├── test.mak
├── test
├── abort.mak
├── address.cbp
├── address.mak
├── arf.mak
├── awf.mak
├── bacapp.ide
├── bacapp.mak
├── bacdcode.ide
├── bacdcode.mak
├── bacdevobjpropref.mak
├── bacerror.mak
├── bacint.cbp
├── bacint.mak
├── bacstr.mak
├── bbmd6.mak
├── bvlc.cbp
├── bvlc.mak
├── bvlc6.mak
├── cov.cbp
├── cov.mak
├── crc.ide
├── crc.mak
├── ctest.c
├── ctest.h
├── datetime.ide
├── datetime.mak
├── dcc.mak
├── event.mak
├── fifo.mak
├── filename.ide
├── filename.mak
├── getevent.mak
├── iam.mak
├── ihave.mak
├── indtext.mak
├── key.mak
├── keylist.mak
├── lighting.mak
├── lso.mak
├── memcopy.mak
├── mstp.ide
├── mstp.mak
├── npdu.mak
├── objects.cbp
├── objects.mak
├── proplist.mak
├── ptransfer.mak
├── rd.cbp
├── rd.mak
├── reject.mak
├── ringbuf.mak
├── rp.mak
├── rpm.mak
├── sbuf.mak
├── timer.mak
├── timesync.cbp
├── timesync.mak
├── vmac.mak
├── whohas.cbp
├── whohas.mak
├── whois.mak
└── wp.mak
├── unittest.bat
└── unittest.sh
/.astylerc:
--------------------------------------------------------------------------------
1 | #--indent-cases
2 | --indent-classes
3 | --indent-switches
4 | --indent=spaces=4
5 | #--max-instatement-indent=4
6 | #--min-conditional-indent=0
7 | --brackets=linux
8 | --convert-tabs
9 | --mode=c
10 |
--------------------------------------------------------------------------------
/.gdbinit:
--------------------------------------------------------------------------------
1 | set print pretty on
2 | set print union on
3 | set print address on
4 | list
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.o
2 | *.a
3 | *.so
4 | *.dylib
5 | .DS_Store
6 | .AppleDouble
7 | .LSOverride
8 | # Thumbnails
9 | ._*
10 | .Spotlight-V100
11 | .Trashes
12 | *.swp
13 | *.lock
14 | *~
15 | bacarf
16 | bacdcc
17 | baciamr
18 | bacrbdt
19 | bacrp
20 | bacscov
21 | bacts
22 | bacupt
23 | bacwi
24 | bacwp
25 | bacawf
26 | bacepics
27 | bacinitr
28 | bacrd
29 | bacrpm
30 | bacserv
31 | bacucov
32 | bacwh
33 | bacwir
34 |
--------------------------------------------------------------------------------
/.hgeol:
--------------------------------------------------------------------------------
1 | [patterns]
2 | ** = native
3 |
--------------------------------------------------------------------------------
/.hgignore:
--------------------------------------------------------------------------------
1 | # use glob syntax.
2 | syntax: glob
3 |
4 | *.o
5 | *.exe
6 | *.bak
7 | *~
8 | *.dep
9 | *.orig
10 | *.hex
11 | *.map
12 | *.bin
13 | *.out
14 | *.sim
15 | *.dbgdt
16 | *.dni
17 | *.jlink
18 | *.wsdt
19 | *.config
20 | *.pbd
21 | *.ewd
22 | *.d
23 | *.r90
24 | *.s90
25 | *.pbi
26 | *.cap
27 | *.pcapng
28 | *.pcap
29 | *.patch
30 | *.suo
31 | *.sdf
32 | *.lastbuildstate
33 | *.obj
34 | *.pdb
35 | *.tlog
36 | *.log
37 | *.idb
38 | *.lib
39 | *.ilk
40 | *.opendb
41 |
--------------------------------------------------------------------------------
/.indent.pro:
--------------------------------------------------------------------------------
1 | -kr -nut -nlp -ip4 -cli4 -bfda -nbc -nbbo -c0 -cd0 -cp0 -di0 -l79 -nhnl
2 |
--------------------------------------------------------------------------------
/.splintrc:
--------------------------------------------------------------------------------
1 | -Iinclude -Idemo/object -Iports/linux -castfcnptr -fullinitblock -initallelements -weak +posixlib
2 |
--------------------------------------------------------------------------------
/bin/abort-reason.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # bacabort [abort-reason invoke-id server]
6 |
7 | # BACnetAbortReason
8 | for reason in {0..64}
9 | do
10 | ./bin/bacabort ${reason}
11 | done
12 |
--------------------------------------------------------------------------------
/bin/bacroute.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | echo Setting parameters for Router
3 | BACNET_IP_PORT=47808
4 | export BACNET_IP_PORT
5 | #BACNET_BBMD_PORT=47809
6 | #export BACNET_BBMD_PORT
7 | BACNET_IFACE=${1}
8 | export BACNET_IFACE
9 | BACNET_IP6_PORT=47808
10 | export BACNET_IP6_PORT
11 | BACNET_BIP6_BROADCAST=FF05::BAC0
12 | export BACNET_BIP6_BROADCAST
13 | BACNET_BIP6_IFACE=${1}
14 | export BACNET_BIP6_IFACE
15 | # Network Numbers
16 | BACNET_IP_NET=1
17 | export BACNET_IP_NET
18 | BACNET_IP6_NET=2
19 | export BACNET_IP6_NET
20 |
--------------------------------------------------------------------------------
/bin/bacrpd.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | :Test_Start
3 | echo Test: Read Required Properties of Device Object %1
4 | bacrp.exe %1 8 %1 75
5 | bacrp.exe %1 8 %1 77
6 | bacrp.exe %1 8 %1 79
7 | bacrp.exe %1 8 %1 112
8 | bacrp.exe %1 8 %1 121
9 | bacrp.exe %1 8 %1 120
10 | bacrp.exe %1 8 %1 70
11 | bacrp.exe %1 8 %1 44
12 | bacrp.exe %1 8 %1 12
13 | bacrp.exe %1 8 %1 98
14 | bacrp.exe %1 8 %1 139
15 | bacrp.exe %1 8 %1 97
16 | bacrp.exe %1 8 %1 96
17 | bacrp.exe %1 8 %1 76 0
18 | bacrp.exe %1 8 %1 76
19 | bacrp.exe %1 8 %1 62
20 | bacrp.exe %1 8 %1 107
21 | bacrp.exe %1 8 %1 11
22 | bacrp.exe %1 8 %1 73
23 | bacrp.exe %1 8 %1 30
24 | bacrp.exe %1 8 %1 155
25 |
26 | echo Test: Read Optional Properties of Device Object %1
27 | bacrp.exe %1 8 %1 58
28 | bacrp.exe %1 8 %1 28
29 | bacrp.exe %1 8 %1 167
30 | bacrp.exe %1 8 %1 122
31 | bacrp.exe %1 8 %1 5
32 | bacrp.exe %1 8 %1 57
33 | bacrp.exe %1 8 %1 56
34 | bacrp.exe %1 8 %1 119
35 | bacrp.exe %1 8 %1 24
36 | bacrp.exe %1 8 %1 10
37 | bacrp.exe %1 8 %1 55
38 | bacrp.exe %1 8 %1 116
39 | bacrp.exe %1 8 %1 64
40 | bacrp.exe %1 8 %1 63
41 | bacrp.exe %1 8 %1 1
42 | bacrp.exe %1 8 %1 154
43 | bacrp.exe %1 8 %1 157
44 | bacrp.exe %1 8 %1 153
45 | bacrp.exe %1 8 %1 152
46 | bacrp.exe %1 8 %1 172
47 | bacrp.exe %1 8 %1 170
48 | bacrp.exe %1 8 %1 169
49 | bacrp.exe %1 8 %1 171
50 | bacrp.exe %1 8 %1 168
51 |
--------------------------------------------------------------------------------
/bin/bvlc.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | echo Example of parameters for Foreign Device Registration
3 | echo This CMD window will use port 47809 to communicate
4 | @echo on
5 | set BACNET_IP_PORT=47809
6 | @echo off
7 | echo The BBMD is located at the standard port 47808 and at
8 | echo the dotted IP address passed in on the command line.
9 | echo When the demo client applications see the BBMD address,
10 | echo they register as a Foreign Device to it.
11 | @echo on
12 | set BACNET_BBMD_PORT=47808
13 | set BACNET_BBMD_ADDRESS=%1
14 |
15 |
--------------------------------------------------------------------------------
/bin/bvlc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | echo Example of parameters for Foreign Device Registration
3 | BACNET_IP_PORT=47809
4 | export BACNET_IP_PORT
5 | echo This console will use port ${BACNET_IP_PORT} to communicate.
6 | echo
7 | BACNET_BBMD_PORT=47808
8 | export BACNET_BBMD_PORT
9 | echo The BBMD is located at the port ${BACNET_BBMD_PORT} and
10 | echo is at the dotted IP address passed on the command line.
11 | BACNET_BBMD_ADDRESS=${1}
12 | export BACNET_BBMD_ADDRESS
13 | echo The BBMD IP address is ${BACNET_BBMD_ADDRESS}
14 | echo When the demo client applications see the BBMD address,
15 | echo they register as a Foreign Device to it.
16 | echo
17 | echo Launching new shell using the BBMD environment...
18 | /bin/bash
19 |
--------------------------------------------------------------------------------
/bin/door-status.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # bacucov: pid device-id object-type object-instance time-remaining
6 | # property tag value [priority] [index]
7 |
8 | # BACnetDoorStatus
9 | for door_status in {0..1023}
10 | do
11 | ./bin/bacucov 1 2 30 4 5 231 9 ${door_status}
12 | done
13 |
--------------------------------------------------------------------------------
/bin/error-code.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # bacabort [invoke-id abort-reason server]
6 |
7 | # BACnetErrorCode
8 | export error_class=0
9 | for error_code in {0..256}
10 | do
11 | ./bin/bacerror ${error_class} ${error_code}
12 | done
13 |
--------------------------------------------------------------------------------
/bin/event-state.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # bacucov: pid device-id object-type object-instance time-remaining
6 | # property tag value [priority] [index]
7 |
8 | # BACnetEventState
9 | # Event_State (36)
10 | for event_state in {0..64}
11 | do
12 | ./bin/bacucov 1 2 0 1 5 36 9 ${event_state}
13 | done
14 |
--------------------------------------------------------------------------------
/bin/event-type.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # bacucov: pid device-id object-type object-instance time-remaining
6 | # property tag value [priority] [index]
7 |
8 | # BACnetEventType
9 | # PROP_EVENT_TYPE = 37
10 | # OBJECT_EVENT_ENROLLMENT = 9
11 | # BACNET_APPLICATION_TAG_ENUMERATED = 9
12 | for event_type in {0..64}
13 | do
14 | ./bin/bacucov 1 1 9 1 5 37 9 ${event_type}
15 | done
16 |
--------------------------------------------------------------------------------
/bin/lock-status.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # bacucov: pid device-id object-type object-instance time-remaining
6 | # property tag value [priority] [index]
7 |
8 | # BACnetLockStatus
9 | for lock_status in {0..4}
10 | do
11 | ./bin/bacucov 1 2 30 4 5 233 9 ${lock_status}
12 | done
13 |
--------------------------------------------------------------------------------
/bin/object-type.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | for object_type in {0..127}
6 | do
7 | ./bin/bacucov 1 2 ${object_type} 4 5 85 0 0
8 | done
9 |
--------------------------------------------------------------------------------
/bin/program-request.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # bacucov: pid device-id object-type object-instance time-remaining
6 | # property tag value [priority] [index]
7 |
8 | # BACnetProgramRequest
9 | # PROP_PROGRAM_CHANGE = 90
10 | # OBJECT_PROGRAM = 16
11 | # BACNET_APPLICATION_TAG_ENUMERATED = 9
12 | for program_request in {0..16}
13 | do
14 | ./bin/bacucov 1 2 16 1 5 90 9 ${program_request}
15 | done
16 |
--------------------------------------------------------------------------------
/bin/program-state.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # bacucov: pid device-id object-type object-instance time-remaining
6 | # property tag value [priority] [index]
7 |
8 | # BACnetProgramState
9 | # PROP_PROGRAM_STATE = 92,
10 | # OBJECT_PROGRAM = 16
11 | # BACNET_APPLICATION_TAG_ENUMERATED = 9
12 | for program_state in {0..16}
13 | do
14 | ./bin/bacucov 1 2 16 1 5 92 9 ${program_state}
15 | done
16 |
--------------------------------------------------------------------------------
/bin/property-states.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # BACnetPropertyStates
6 | #BACnetNotificationParameters ::= CHOICE {
7 | #-- These choices have a one-to-one correspondence with the Event_Type
8 | #-- enumeration with the exception of the
9 | #-- complex-event-type, which is used for proprietary event types.
10 | #change-of-state - [1] SEQUENCE {
11 | # new-state [0] BACnetPropertyStates,
12 | # status-flags [1] BACnetStatusFlags
13 | #},
14 | for property_states in {0..63}
15 | do
16 | ./bin/bacuevent 1 15 1 0 1 99 1 16 1 ${property_states} 1 0000 "Tribble!" 1 0 0 0
17 | done
18 |
--------------------------------------------------------------------------------
/bin/property_id.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | for property_id in {0..512}
6 | do
7 | ./bin/bacrp --dnet 65535 0 8 0 ${property_id}
8 | done
9 |
--------------------------------------------------------------------------------
/bin/reliability.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # bacucov: pid device-id object-type object-instance time-remaining
6 | # property tag value [priority] [index]
7 |
8 | # BACnetReliability
9 | # PROP_RELIABILITY = 103,
10 | # OBJECT_ANALOG_INPUT = 0
11 | # BACNET_APPLICATION_TAG_ENUMERATED = 9
12 | for reliability in {0..64}
13 | do
14 | ./bin/bacucov 1 2 0 1 5 103 9 ${reliability}
15 | done
16 |
--------------------------------------------------------------------------------
/bin/restart-reason.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | # bacucov: pid device-id object-type object-instance time-remaining
6 | # property tag value [priority] [index]
7 |
8 | # BACnetRestartReason
9 | # PROP_LAST_RESTART_REASON = 196
10 | # OBJECT_DEVICE = 8
11 | # BACNET_APPLICATION_TAG_ENUMERATED = 9
12 | for reason in {0..64}
13 | do
14 | ./bin/bacucov 1 1 8 1 5 196 9 ${reason}
15 | done
16 |
--------------------------------------------------------------------------------
/bin/units.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export BACNET_APDU_RETRIES=0
3 | export BACNET_APDU_TIMEOUT=0
4 |
5 | for units in {0..255}
6 | do
7 | ./bin/bacucov 1 2 3 4 5 117 9 ${units}
8 | done
9 |
--------------------------------------------------------------------------------
/bin/vendor-id.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | for vendor_id in {0..999}
3 | do
4 | ./bin/baciam 4194303 ${vendor_id}
5 | done
6 |
--------------------------------------------------------------------------------
/borland.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | echo Build for Borland 5.5 tools
3 | set BORLAND_DIR=c:\borland\bcc55
4 | %BORLAND_DIR%\bin\make -f makefile.b32 clean
5 | %BORLAND_DIR%\bin\make -f makefile.b32 all
6 |
7 |
8 |
--------------------------------------------------------------------------------
/build.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | echo Build with MinGW and MSYS: mingw.sourceforge.net
3 | rem set PATH=C:\MinGW\msys\1.0\bin;C:\MinGW\bin
4 | rem assumes rm, cp, size are already in path
5 | set CC=gcc
6 | set AR=ar
7 | set MAKE=make
8 | make BACNET_PORT=win32 BUILD=release clean all
9 |
10 | rem Build for MinGW debug
11 | rem make BACNET_PORT=win32 BUILD=debug clean all
12 |
13 | rem Build for MinGW MS/TP
14 | rem make BACNET_PORT=win32 BACDL_DEFINE=-DBACDL_MSTP=1 clean all
15 | rem make BACNET_PORT=win32 BACDL_DEFINE=-DBACDL_BIP6=1 clean all
16 |
17 | rem On Linux, install mingw32 and use this:
18 | rem make BACNET_PORT=win32 CC=i586-mingw32msvc-gcc AR=i586-mingw32msvc-ar clean all
19 |
--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Build script for MinGW
3 | echo "Build with MinGW and MSYS: mingw.sourceforge.net"
4 | # set PATH=C:\MinGW\msys\1.0\bin;C:\MinGW\bin
5 | # assumes rm, cp, size are already in path
6 | CC=gcc
7 | AR=ar
8 | MAKE=make
9 | export CC AR MAKE
10 | make BACNET_PORT=win32 BUILD=release clean all > /dev/null
11 |
12 | # Build for MinGW debug
13 | # make BACNET_PORT=win32 BUILD=debug clean all
14 |
15 | # Build for MinGW MS/TP
16 | # make BACNET_PORT=win32 BACDL_DEFINE=-DBACDL_MSTP=1 clean all
17 | # make BACNET_PORT=win32 BACDL_DEFINE=-DBACDL_BIP6=1 clean all
18 | # make BACDL_DEFINE=-DBACDL_BIP6=1 BUILD=debug clean all
19 |
20 | # On Linux, install mingw32 and use this:
21 | # make BACNET_PORT=win32 CC=i586-mingw32msvc-gcc AR=i586-mingw32msvc-ar clean all
22 |
23 | echo "Complete!"
24 |
--------------------------------------------------------------------------------
/comment.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # This script converts any C++ comments to C comments
3 | # using the ccmtcnvt tool from the liwc package
4 |
5 | CONVERTER=/usr/bin/ccmtcnvt
6 | # silent fail if the tool is not installed
7 | [ -x ${CONVERTER} ] || exit 0
8 |
9 | directory=${1-`pwd`}
10 | for filename in $( find ${directory} -name '*.c' )
11 | do
12 | echo Converting ${filename}
13 | TEMPFILE="/tmp/ccmtcnvt.$RANDOM.txt"
14 | ${CONVERTER} ${filename} > ${TEMPFILE}
15 | mv ${TEMPFILE} ${filename}
16 | done
17 |
18 | for filename in $( find ${directory} -name '*.h' )
19 | do
20 | echo Converting ${filename}
21 | TEMPFILE="/tmp/ccmtcnvt.$RANDOM.txt"
22 | ${CONVERTER} ${filename} > ${TEMPFILE}
23 | mv ${TEMPFILE} ${filename}
24 | done
25 |
26 |
--------------------------------------------------------------------------------
/demo/BACnetDemo.workspace:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/demo/abort/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = bacabort
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
--------------------------------------------------------------------------------
/demo/dcc/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for GCC compiler
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = bacdcc
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
40 |
--------------------------------------------------------------------------------
/demo/epics/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = bacepics
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
--------------------------------------------------------------------------------
/demo/error/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = bacerror
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
--------------------------------------------------------------------------------
/demo/getevent/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application using GCC compiler
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 | # AR = ar
7 | # MAKE = make
8 | # SIZE = size
9 | #
10 | # Assumes rm and cp are available
11 |
12 | # Executable file name
13 | TARGET = bacge
14 |
15 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
16 |
17 | SRCS = main.c \
18 | ../object/device-client.c
19 |
20 | OBJS = ${SRCS:.c=.o}
21 |
22 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
23 |
24 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
25 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
26 | size $@
27 | cp $@ ../../bin
28 |
29 | lib: ${BACNET_LIB_TARGET}
30 |
31 | ${BACNET_LIB_TARGET}:
32 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
33 |
34 | .c.o:
35 | ${CC} -c ${CFLAGS} $*.c -o $@
36 |
37 | depend:
38 | rm -f .depend
39 | ${CC} -MM ${CFLAGS} *.c >> .depend
40 |
41 | clean:
42 | rm -rf core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET}
43 |
44 | include: .depend
45 |
--------------------------------------------------------------------------------
/demo/iam/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = baciam
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
--------------------------------------------------------------------------------
/demo/iamrouter/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = baciamr
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
--------------------------------------------------------------------------------
/demo/initrouter/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = bacinitr
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
--------------------------------------------------------------------------------
/demo/mstpcap/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = mstpcap
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | # This demo seems to be a little unique
13 | DEFINES = $(BACNET_DEFINES) -DBACDL_MSTP
14 | BACNET_SOURCE_DIR = ../../src
15 |
16 | SRCS = main.c \
17 | ${BACNET_PORT_DIR}/rs485.c \
18 | ${BACNET_PORT_DIR}/timer.c \
19 | ${BACNET_SOURCE_DIR}/fifo.c \
20 | ${BACNET_SOURCE_DIR}/mstp.c \
21 | ${BACNET_SOURCE_DIR}/mstptext.c \
22 | ${BACNET_SOURCE_DIR}/debug.c \
23 | ${BACNET_SOURCE_DIR}/indtext.c \
24 | ${BACNET_SOURCE_DIR}/ringbuf.c \
25 | ${BACNET_SOURCE_DIR}/bacdcode.c \
26 | ${BACNET_SOURCE_DIR}/iam.c \
27 | ${BACNET_SOURCE_DIR}/crc.c
28 |
29 | OBJS = ${SRCS:.c=.o}
30 |
31 | all: Makefile ${TARGET_BIN}
32 |
33 | ${TARGET_BIN}: ${OBJS} Makefile
34 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
35 | size $@
36 | cp $@ ../../bin
37 |
38 | .c.o:
39 | ${CC} -c ${CFLAGS} $*.c -o $@
40 |
41 | depend:
42 | rm -f .depend
43 | ${CC} -MM ${CFLAGS} *.c >> .depend
44 |
45 | clean:
46 | rm -f core ${TARGET_BIN} ${OBJS} $(TARGET).map
47 |
48 | include: .depend
49 |
--------------------------------------------------------------------------------
/demo/mstpcap/mstpcap.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/demo/mstpcap/mstpcap.txt
--------------------------------------------------------------------------------
/demo/mstpcrc/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = mstpcrc
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | # This demo seems to be a little unique
13 | DEFINES = $(BACNET_DEFINES)
14 | BACNET_SOURCE_DIR = ../../src
15 |
16 | #libraries used
17 | LIBRARIES=-lgcc,-lm
18 |
19 | #build for release (default) or debug
20 | DEBUGGING =
21 | OPTIMIZATION = -Os
22 | ifeq (${BUILD},debug)
23 | OPTIMIZATION = -O0
24 | DEBUGGING = -g
25 | endif
26 |
27 | # search order for included libraries
28 | INCLUDES = -I$(BACNET_INCLUDE_DIR)
29 |
30 | SRCS = main.c \
31 | ${BACNET_PORT_DIR}/timer.c \
32 | ${BACNET_SOURCE_DIR}/crc.c
33 |
34 | OBJS = ${SRCS:.c=.o}
35 |
36 | all: Makefile ${TARGET_BIN}
37 |
38 | ${TARGET_BIN}: ${OBJS} Makefile
39 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
40 | size $@
41 | cp $@ ../../bin
42 |
43 | .c.o:
44 | ${CC} -c ${CFLAGS} $*.c -o $@
45 |
46 | depend:
47 | rm -f .depend
48 | ${CC} -MM ${CFLAGS} *.c >> .depend
49 |
50 | clean:
51 | rm -f core ${TARGET_BIN} ${OBJS} $(TARGET).map
52 |
53 | include: .depend
54 |
--------------------------------------------------------------------------------
/demo/mstpcrc/build.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | echo Build with MinGW and MSYS: mingw.sourceforge.net
3 | rem set PATH=C:\MinGW\msys\1.0\bin;C:\MinGW\bin
4 | rem assumes rm, cp, size are already in path
5 | set CC=gcc
6 | set AR=ar
7 | set MAKE=make
8 | set TARGET_EXT=.exe
9 | make BACNET_PORT=win32 clean all
10 |
--------------------------------------------------------------------------------
/demo/mstpcrc/readme.txt:
--------------------------------------------------------------------------------
1 | BACnet MS/TP CRC Calculator
2 |
3 | This tool receives MS/TP bytes and generates a CRC for those bytes
4 |
5 | mstpcrc [options] <00 00 00 00...>
6 | perform MS/TP CRC on data bytes.
7 | options:
8 | [-x] interprete the arguments as ascii hex (default)
9 | [-d] interprete the argument as ascii decimal
10 | [-8] calculate the MS/TP 8-bit Header CRC (default)
11 | [-16] calculate the MS/TP 16-bit Data CRC
12 |
13 | Here is a sample of the tool running (use CTRL-C to quit):
14 | D:\code\bacnet-stack\demo\mstpcrc>mstpcrc 06 ff 01 00 15
15 | 0x06
16 | 0xFF
17 | 0x01
18 | 0x00
19 | 0x15
20 | 0x8E Header CRC
21 |
--------------------------------------------------------------------------------
/demo/object/access_credential.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_ACCESS_CREDENTIAL
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = access_credential.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/lighting.c \
17 | $(SRC_DIR)/bacapp.c \
18 | $(SRC_DIR)/bacdevobjpropref.c \
19 | $(SRC_DIR)/assigned_access_rights.c \
20 | $(SRC_DIR)/authentication_factor.c \
21 | $(SRC_DIR)/credential_authentication_factor.c \
22 | $(SRC_DIR)/bactext.c \
23 | $(SRC_DIR)/indtext.c \
24 | $(TEST_DIR)/ctest.c
25 |
26 | TARGET = access_credential
27 |
28 | all: ${TARGET}
29 |
30 | OBJS = ${SRCS:.c=.o}
31 |
32 | ${TARGET}: ${OBJS}
33 | ${CC} -o $@ ${OBJS}
34 |
35 | .c.o:
36 | ${CC} -c ${CFLAGS} $*.c -o $@
37 |
38 | depend:
39 | rm -f .depend
40 | ${CC} -MM ${CFLAGS} *.c >> .depend
41 |
42 | clean:
43 | rm -rf core ${TARGET} $(OBJS)
44 |
45 | include: .depend
46 |
--------------------------------------------------------------------------------
/demo/object/access_door.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_ACCESS_DOOR
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = access_door.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/lighting.c \
17 | $(SRC_DIR)/bacapp.c \
18 | $(SRC_DIR)/bacdevobjpropref.c \
19 | $(SRC_DIR)/bactext.c \
20 | $(SRC_DIR)/indtext.c \
21 | $(TEST_DIR)/ctest.c
22 |
23 | TARGET = access_door
24 |
25 | all: ${TARGET}
26 |
27 | OBJS = ${SRCS:.c=.o}
28 |
29 | ${TARGET}: ${OBJS}
30 | ${CC} -o $@ ${OBJS}
31 |
32 | .c.o:
33 | ${CC} -c ${CFLAGS} $*.c -o $@
34 |
35 | depend:
36 | rm -f .depend
37 | ${CC} -MM ${CFLAGS} *.c >> .depend
38 |
39 | clean:
40 | rm -rf core ${TARGET} $(OBJS)
41 |
42 | include: .depend
43 |
--------------------------------------------------------------------------------
/demo/object/access_point.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_ACCESS_POINT
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = access_point.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/lighting.c \
17 | $(SRC_DIR)/bacapp.c \
18 | $(SRC_DIR)/bacdevobjpropref.c \
19 | $(SRC_DIR)/bactext.c \
20 | $(SRC_DIR)/indtext.c \
21 | $(SRC_DIR)/timestamp.c \
22 | $(TEST_DIR)/ctest.c
23 |
24 | TARGET = access_point
25 |
26 | all: ${TARGET}
27 |
28 | OBJS = ${SRCS:.c=.o}
29 |
30 | ${TARGET}: ${OBJS}
31 | ${CC} -o $@ ${OBJS}
32 |
33 | .c.o:
34 | ${CC} -c ${CFLAGS} $*.c -o $@
35 |
36 | depend:
37 | rm -f .depend
38 | ${CC} -MM ${CFLAGS} *.c >> .depend
39 |
40 | clean:
41 | rm -rf core ${TARGET} $(OBJS)
42 |
43 | include: .depend
44 |
--------------------------------------------------------------------------------
/demo/object/access_rights.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_ACCESS_RIGHTS
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = access_rights.c \
11 | $(SRC_DIR)/access_rule.c \
12 | $(SRC_DIR)/bacdcode.c \
13 | $(SRC_DIR)/bacint.c \
14 | $(SRC_DIR)/bacstr.c \
15 | $(SRC_DIR)/bacreal.c \
16 | $(SRC_DIR)/datetime.c \
17 | $(SRC_DIR)/lighting.c \
18 | $(SRC_DIR)/bacapp.c \
19 | $(SRC_DIR)/bacdevobjpropref.c \
20 | $(SRC_DIR)/bactext.c \
21 | $(SRC_DIR)/indtext.c \
22 | $(TEST_DIR)/ctest.c
23 |
24 | TARGET = access_rights
25 |
26 | all: ${TARGET}
27 |
28 | OBJS = ${SRCS:.c=.o}
29 |
30 | ${TARGET}: ${OBJS}
31 | ${CC} -o $@ ${OBJS}
32 |
33 | .c.o:
34 | ${CC} -c ${CFLAGS} $*.c -o $@
35 |
36 | depend:
37 | rm -f .depend
38 | ${CC} -MM ${CFLAGS} *.c >> .depend
39 |
40 | clean:
41 | rm -rf core ${TARGET} $(OBJS)
42 |
43 | include: .depend
44 |
--------------------------------------------------------------------------------
/demo/object/access_user.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_ACCESS_USER
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = access_user.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/lighting.c \
17 | $(SRC_DIR)/bacapp.c \
18 | $(SRC_DIR)/bacdevobjpropref.c \
19 | $(SRC_DIR)/bactext.c \
20 | $(SRC_DIR)/indtext.c \
21 | $(TEST_DIR)/ctest.c
22 |
23 | TARGET = access_user
24 |
25 | all: ${TARGET}
26 |
27 | OBJS = ${SRCS:.c=.o}
28 |
29 | ${TARGET}: ${OBJS}
30 | ${CC} -o $@ ${OBJS}
31 |
32 | .c.o:
33 | ${CC} -c ${CFLAGS} $*.c -o $@
34 |
35 | depend:
36 | rm -f .depend
37 | ${CC} -MM ${CFLAGS} *.c >> .depend
38 |
39 | clean:
40 | rm -rf core ${TARGET} $(OBJS)
41 |
42 | include: .depend
43 |
--------------------------------------------------------------------------------
/demo/object/access_zone.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_ACCESS_ZONE
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = access_zone.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/lighting.c \
17 | $(SRC_DIR)/bacapp.c \
18 | $(SRC_DIR)/bacdevobjpropref.c \
19 | $(SRC_DIR)/bactext.c \
20 | $(SRC_DIR)/indtext.c \
21 | $(TEST_DIR)/ctest.c
22 |
23 | TARGET = access_zone
24 |
25 | all: ${TARGET}
26 |
27 | OBJS = ${SRCS:.c=.o}
28 |
29 | ${TARGET}: ${OBJS}
30 | ${CC} -o $@ ${OBJS}
31 |
32 | .c.o:
33 | ${CC} -c ${CFLAGS} $*.c -o $@
34 |
35 | depend:
36 | rm -f .depend
37 | ${CC} -MM ${CFLAGS} *.c >> .depend
38 |
39 | clean:
40 | rm -rf core ${TARGET} $(OBJS)
41 |
42 | include: .depend
43 |
--------------------------------------------------------------------------------
/demo/object/ai.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | HANDLER_DIR = ../handler
6 | INCLUDES = -I../../include -I$(TEST_DIR) -I. -I$(HANDLER_DIR)
7 | DEFINES = -DBIG_ENDIAN=0 -DBACDL_ALL -DTEST -DTEST_ANALOG_INPUT
8 |
9 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
10 |
11 | SRCS = ai.c \
12 | $(SRC_DIR)/bacdcode.c \
13 | $(SRC_DIR)/bacint.c \
14 | $(SRC_DIR)/bacstr.c \
15 | $(SRC_DIR)/bacreal.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bactext.c \
18 | $(SRC_DIR)/indtext.c \
19 | $(SRC_DIR)/datetime.c \
20 | $(TEST_DIR)/ctest.c
21 |
22 | TARGET = analog_input
23 |
24 | all: ${TARGET}
25 |
26 | OBJS = ${SRCS:.c=.o}
27 |
28 | ${TARGET}: ${OBJS}
29 | ${CC} -o $@ ${OBJS}
30 |
31 | .c.o:
32 | ${CC} -c ${CFLAGS} $*.c -o $@
33 |
34 | depend:
35 | rm -f .depend
36 | ${CC} -MM ${CFLAGS} *.c >> .depend
37 |
38 | clean:
39 | rm -rf core ${TARGET} $(OBJS)
40 |
41 | include: .depend
42 |
--------------------------------------------------------------------------------
/demo/object/ao.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_ANALOG_OUTPUT
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = ao.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bactext.c \
18 | $(SRC_DIR)/indtext.c \
19 | $(TEST_DIR)/ctest.c
20 |
21 | TARGET = analog_output
22 |
23 | all: ${TARGET}
24 |
25 | OBJS = ${SRCS:.c=.o}
26 |
27 | ${TARGET}: ${OBJS}
28 | ${CC} -o $@ ${OBJS}
29 |
30 | .c.o:
31 | ${CC} -c ${CFLAGS} $*.c -o $@
32 |
33 | depend:
34 | rm -f .depend
35 | ${CC} -MM ${CFLAGS} *.c >> .depend
36 |
37 | clean:
38 | rm -rf core ${TARGET} $(OBJS)
39 |
40 | include: .depend
41 |
--------------------------------------------------------------------------------
/demo/object/av.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_ANALOG_VALUE
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = av.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bactext.c \
18 | $(SRC_DIR)/indtext.c \
19 | $(TEST_DIR)/ctest.c
20 |
21 | TARGET = analog_value
22 |
23 | all: ${TARGET}
24 |
25 | OBJS = ${SRCS:.c=.o}
26 |
27 | ${TARGET}: ${OBJS}
28 | ${CC} -o $@ ${OBJS}
29 |
30 | .c.o:
31 | ${CC} -c ${CFLAGS} $*.c -o $@
32 |
33 | depend:
34 | rm -f .depend
35 | ${CC} -MM ${CFLAGS} *.c >> .depend
36 |
37 | clean:
38 | rm -rf core ${TARGET} $(OBJS)
39 |
40 | include: .depend
41 |
--------------------------------------------------------------------------------
/demo/object/bi.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DTEST_BINARY_INPUT
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = bi.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/bacapp.c \
16 | $(SRC_DIR)/bactext.c \
17 | $(SRC_DIR)/indtext.c \
18 | $(SRC_DIR)/datetime.c \
19 | $(TEST_DIR)/ctest.c
20 |
21 | TARGET = binary_input
22 |
23 | all: ${TARGET}
24 |
25 | OBJS = ${SRCS:.c=.o}
26 |
27 | ${TARGET}: ${OBJS}
28 | ${CC} -o $@ ${OBJS}
29 |
30 | .c.o:
31 | ${CC} -c ${CFLAGS} $*.c -o $@
32 |
33 | depend:
34 | rm -f .depend
35 | ${CC} -MM ${CFLAGS} *.c >> .depend
36 |
37 | clean:
38 | rm -rf core ${TARGET} $(OBJS)
39 |
40 | include: .depend
41 |
--------------------------------------------------------------------------------
/demo/object/bo.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_BINARY_OUTPUT
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = bo.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bactext.c \
18 | $(SRC_DIR)/indtext.c \
19 | $(TEST_DIR)/ctest.c
20 |
21 | TARGET = binary_output
22 |
23 | all: ${TARGET}
24 |
25 | OBJS = ${SRCS:.c=.o}
26 |
27 | ${TARGET}: ${OBJS}
28 | ${CC} -o $@ ${OBJS}
29 |
30 | .c.o:
31 | ${CC} -c ${CFLAGS} $*.c -o $@
32 |
33 | depend:
34 | rm -f .depend
35 | ${CC} -MM ${CFLAGS} *.c >> .depend
36 |
37 | clean:
38 | rm -rf core ${TARGET} $(OBJS)
39 |
40 | include: .depend
41 |
--------------------------------------------------------------------------------
/demo/object/bv.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_BINARY_VALUE
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = bv.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bactext.c \
18 | $(SRC_DIR)/indtext.c \
19 | $(TEST_DIR)/ctest.c
20 |
21 | TARGET = binary_value
22 |
23 | all: ${TARGET}
24 |
25 | OBJS = ${SRCS:.c=.o}
26 |
27 | ${TARGET}: ${OBJS}
28 | ${CC} -o $@ ${OBJS}
29 |
30 | .c.o:
31 | ${CC} -c ${CFLAGS} $*.c -o $@
32 |
33 | depend:
34 | rm -f .depend
35 | ${CC} -MM ${CFLAGS} *.c >> .depend
36 |
37 | clean:
38 | rm -rf core ${TARGET} $(OBJS)
39 |
40 | include: .depend
41 |
--------------------------------------------------------------------------------
/demo/object/command.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | HANDLER_DIR = ../handler
6 | INCLUDES = -I../../include -I$(TEST_DIR) -I. -I$(HANDLER_DIR)
7 | DEFINES = -DBIG_ENDIAN=0 -DBACDL_ALL -DTEST -DTEST_COMMAND
8 |
9 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
10 |
11 | SRCS = command.c \
12 | $(SRC_DIR)/bacdcode.c \
13 | $(SRC_DIR)/bacint.c \
14 | $(SRC_DIR)/bacstr.c \
15 | $(SRC_DIR)/bacreal.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bacdevobjpropref.c \
18 | $(SRC_DIR)/bactext.c \
19 | $(SRC_DIR)/indtext.c \
20 | $(SRC_DIR)/datetime.c \
21 | $(SRC_DIR)/lighting.c \
22 | $(TEST_DIR)/ctest.c
23 |
24 | TARGET = command
25 |
26 | all: ${TARGET}
27 |
28 | OBJS = ${SRCS:.c=.o}
29 |
30 | ${TARGET}: ${OBJS}
31 | ${CC} -o $@ ${OBJS}
32 |
33 | .c.o:
34 | ${CC} -c ${CFLAGS} $*.c -o $@
35 |
36 | depend:
37 | rm -f .depend
38 | ${CC} -MM ${CFLAGS} *.c >> .depend
39 |
40 | clean:
41 | rm -rf core ${TARGET} $(OBJS)
42 |
43 | include: .depend
44 |
--------------------------------------------------------------------------------
/demo/object/credential_data_input.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_CREDENTIAL_DATA_INPUT
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = credential_data_input.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/lighting.c \
17 | $(SRC_DIR)/bacapp.c \
18 | $(SRC_DIR)/bacdevobjpropref.c \
19 | $(SRC_DIR)/bactext.c \
20 | $(SRC_DIR)/indtext.c \
21 | $(SRC_DIR)/authentication_factor.c \
22 | $(SRC_DIR)/authentication_factor_format.c \
23 | $(SRC_DIR)/timestamp.c \
24 | $(TEST_DIR)/ctest.c
25 |
26 | TARGET = credential_data_input
27 |
28 | all: ${TARGET}
29 |
30 | OBJS = ${SRCS:.c=.o}
31 |
32 | ${TARGET}: ${OBJS}
33 | ${CC} -o $@ ${OBJS}
34 |
35 | .c.o:
36 | ${CC} -c ${CFLAGS} $*.c -o $@
37 |
38 | depend:
39 | rm -f .depend
40 | ${CC} -MM ${CFLAGS} *.c >> .depend
41 |
42 | clean:
43 | rm -rf core ${TARGET} $(OBJS)
44 |
45 | include: .depend
46 |
--------------------------------------------------------------------------------
/demo/object/csv.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_CHARACTERSTRING_VALUE
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = csv.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bacdevobjpropref.c \
18 | $(SRC_DIR)/bactext.c \
19 | $(SRC_DIR)/indtext.c \
20 | $(SRC_DIR)/lighting.c \
21 | $(TEST_DIR)/ctest.c
22 |
23 | TARGET = characterstring_value
24 |
25 | all: ${TARGET}
26 |
27 | OBJS = ${SRCS:.c=.o}
28 |
29 | ${TARGET}: ${OBJS}
30 | ${CC} -o $@ ${OBJS}
31 |
32 | .c.o:
33 | ${CC} -c ${CFLAGS} $*.c -o $@
34 |
35 | depend:
36 | rm -f .depend
37 | ${CC} -MM ${CFLAGS} *.c >> .depend
38 |
39 | clean:
40 | rm -rf core ${TARGET} $(OBJS)
41 |
42 | include: .depend
43 |
--------------------------------------------------------------------------------
/demo/object/device.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | PORTS_DIR = ../../ports/linux
6 | INCLUDES = -I../../include -I$(TEST_DIR) -I$(PORTS_DIR) -I.
7 | DEFINES = -DBIG_ENDIAN=0
8 | DEFINES += -DTEST -DBACDL_TEST
9 | DEFINES += -DBACAPP_ALL
10 | DEFINES += -DMAX_TSM_TRANSACTIONS=0
11 | DEFINES += -DTEST_DEVICE
12 | DEFINES += -DBACNET_PROPERTY_LISTS=1
13 |
14 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
15 |
16 | SRCS = device.c \
17 | $(SRC_DIR)/bacdcode.c \
18 | $(SRC_DIR)/bacint.c \
19 | $(SRC_DIR)/bacstr.c \
20 | $(SRC_DIR)/bacreal.c \
21 | $(SRC_DIR)/datetime.c \
22 | $(SRC_DIR)/bacapp.c \
23 | $(SRC_DIR)/bacdevobjpropref.c \
24 | $(SRC_DIR)/bactext.c \
25 | $(SRC_DIR)/indtext.c \
26 | $(SRC_DIR)/proplist.c \
27 | $(SRC_DIR)/lighting.c \
28 | $(SRC_DIR)/apdu.c \
29 | $(SRC_DIR)/address.c \
30 | $(SRC_DIR)/bacaddr.c \
31 | $(SRC_DIR)/dcc.c \
32 | $(SRC_DIR)/version.c \
33 | $(TEST_DIR)/ctest.c
34 |
35 | TARGET = device
36 |
37 | all: ${TARGET}
38 |
39 | OBJS = ${SRCS:.c=.o}
40 |
41 | ${TARGET}: ${OBJS}
42 | ${CC} -o $@ ${OBJS}
43 |
44 | .c.o:
45 | ${CC} -c ${CFLAGS} $*.c -o $@
46 |
47 | depend:
48 | rm -f .depend
49 | ${CC} -MM ${CFLAGS} *.c >> .depend
50 |
51 | clean:
52 | rm -rf core ${TARGET} $(OBJS)
53 |
54 | include: .depend
55 |
--------------------------------------------------------------------------------
/demo/object/lc.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/demo/object/lc.ide
--------------------------------------------------------------------------------
/demo/object/lc.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_LOAD_CONTROL
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = lc.c ao.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bacdevobjpropref.c \
18 | $(SRC_DIR)/bactext.c \
19 | $(SRC_DIR)/indtext.c \
20 | $(SRC_DIR)/lighting.c \
21 | $(TEST_DIR)/ctest.c
22 |
23 | TARGET = load_control
24 |
25 | all: ${TARGET}
26 |
27 | OBJS = ${SRCS:.c=.o}
28 |
29 | ${TARGET}: ${OBJS}
30 | ${CC} -o $@ ${OBJS}
31 |
32 | .c.o:
33 | ${CC} -c ${CFLAGS} $*.c -o $@
34 |
35 | depend:
36 | rm -f .depend
37 | ${CC} -MM ${CFLAGS} *.c >> .depend
38 |
39 | clean:
40 | rm -rf core ${TARGET} $(OBJS)
41 |
42 | include: .depend
43 |
--------------------------------------------------------------------------------
/demo/object/lo.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_LIGHTING_OUTPUT
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = lo.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bacdevobjpropref.c \
18 | $(SRC_DIR)/bactext.c \
19 | $(SRC_DIR)/indtext.c \
20 | $(SRC_DIR)/lighting.c \
21 | $(TEST_DIR)/ctest.c
22 |
23 | TARGET = lighting_output
24 |
25 | all: ${TARGET}
26 |
27 | OBJS = ${SRCS:.c=.o}
28 |
29 | ${TARGET}: ${OBJS}
30 | ${CC} -o $@ ${OBJS}
31 |
32 | .c.o:
33 | ${CC} -c ${CFLAGS} $*.c -o $@
34 |
35 | depend:
36 | rm -f .depend
37 | ${CC} -MM ${CFLAGS} *.c >> .depend
38 |
39 | clean:
40 | rm -rf core ${TARGET} $(OBJS)
41 |
42 | include: .depend
43 |
--------------------------------------------------------------------------------
/demo/object/lsp.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_LIFE_SAFETY_POINT
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = lsp.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bacdevobjpropref.c \
18 | $(SRC_DIR)/bactext.c \
19 | $(SRC_DIR)/indtext.c \
20 | $(SRC_DIR)/lighting.c \
21 | $(TEST_DIR)/ctest.c
22 |
23 | TARGET = life_safety_point
24 |
25 | all: ${TARGET}
26 |
27 | OBJS = ${SRCS:.c=.o}
28 |
29 | ${TARGET}: ${OBJS}
30 | ${CC} -o $@ ${OBJS}
31 |
32 | .c.o:
33 | ${CC} -c ${CFLAGS} $*.c -o $@
34 |
35 | depend:
36 | rm -f .depend
37 | ${CC} -MM ${CFLAGS} *.c >> .depend
38 |
39 | clean:
40 | rm -rf core ${TARGET} $(OBJS)
41 |
42 | include: .depend
43 |
--------------------------------------------------------------------------------
/demo/object/msi.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_MULTISTATE_INPUT
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = msi.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bactext.c \
18 | $(SRC_DIR)/indtext.c \
19 | $(TEST_DIR)/ctest.c
20 |
21 | TARGET = multistate_input
22 |
23 | all: ${TARGET}
24 |
25 | OBJS = ${SRCS:.c=.o}
26 |
27 | ${TARGET}: ${OBJS}
28 | ${CC} -o $@ ${OBJS}
29 |
30 | .c.o:
31 | ${CC} -c ${CFLAGS} $*.c -o $@
32 |
33 | depend:
34 | rm -f .depend
35 | ${CC} -MM ${CFLAGS} *.c >> .depend
36 |
37 | clean:
38 | rm -rf core ${TARGET} $(OBJS)
39 |
40 | include: .depend
41 |
--------------------------------------------------------------------------------
/demo/object/mso.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_MULTISTATE_OUTPUT
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = mso.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bactext.c \
18 | $(SRC_DIR)/indtext.c \
19 | $(TEST_DIR)/ctest.c
20 |
21 | TARGET = multistate_output
22 |
23 | all: ${TARGET}
24 |
25 | OBJS = ${SRCS:.c=.o}
26 |
27 | ${TARGET}: ${OBJS}
28 | ${CC} -o $@ ${OBJS}
29 |
30 | .c.o:
31 | ${CC} -c ${CFLAGS} $*.c -o $@
32 |
33 | depend:
34 | rm -f .depend
35 | ${CC} -MM ${CFLAGS} *.c >> .depend
36 |
37 | clean:
38 | rm -rf core ${TARGET} $(OBJS)
39 |
40 | include: .depend
41 |
--------------------------------------------------------------------------------
/demo/object/msv.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_MULTISTATE_VALUE
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = msv.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/datetime.c \
16 | $(SRC_DIR)/bacapp.c \
17 | $(SRC_DIR)/bactext.c \
18 | $(SRC_DIR)/indtext.c \
19 | $(TEST_DIR)/ctest.c
20 |
21 | TARGET = multistate_value
22 |
23 | all: ${TARGET}
24 |
25 | OBJS = ${SRCS:.c=.o}
26 |
27 | ${TARGET}: ${OBJS}
28 | ${CC} -o $@ ${OBJS}
29 |
30 | .c.o:
31 | ${CC} -c ${CFLAGS} $*.c -o $@
32 |
33 | depend:
34 | rm -f .depend
35 | ${CC} -MM ${CFLAGS} *.c >> .depend
36 |
37 | clean:
38 | rm -rf core ${TARGET} $(OBJS)
39 |
40 | include: .depend
41 |
--------------------------------------------------------------------------------
/demo/object/osv.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DBACNET_PROPERTY_LISTS -DTEST_OCTETSTRING_VALUE
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = osv.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/bacdevobjpropref.c \
16 | $(SRC_DIR)/datetime.c \
17 | $(SRC_DIR)/proplist.c \
18 | $(SRC_DIR)/lighting.c \
19 | $(SRC_DIR)/bacapp.c \
20 | $(SRC_DIR)/bactext.c \
21 | $(SRC_DIR)/indtext.c \
22 | $(TEST_DIR)/ctest.c
23 |
24 | TARGET = octetstring_value
25 |
26 | all: ${TARGET}
27 |
28 | OBJS = ${SRCS:.c=.o}
29 |
30 | ${TARGET}: ${OBJS}
31 | ${CC} -o $@ ${OBJS}
32 |
33 | .c.o:
34 | ${CC} -c ${CFLAGS} $*.c -o $@
35 |
36 | depend:
37 | rm -f .depend
38 | ${CC} -MM ${CFLAGS} *.c >> .depend
39 |
40 | clean:
41 | rm -rf core ${TARGET} $(OBJS)
42 |
43 | include: .depend
44 |
--------------------------------------------------------------------------------
/demo/object/piv.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_POSITIVEINTEGER_VALUE
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = piv.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/bacdevobjpropref.c \
16 | $(SRC_DIR)/datetime.c \
17 | $(SRC_DIR)/lighting.c \
18 | $(SRC_DIR)/bacapp.c \
19 | $(SRC_DIR)/bactext.c \
20 | $(SRC_DIR)/indtext.c \
21 | $(TEST_DIR)/ctest.c
22 |
23 | TARGET = positiveinteger_value
24 |
25 | all: ${TARGET}
26 |
27 | OBJS = ${SRCS:.c=.o}
28 |
29 | ${TARGET}: ${OBJS}
30 | ${CC} -o $@ ${OBJS}
31 |
32 | .c.o:
33 | ${CC} -c ${CFLAGS} $*.c -o $@
34 |
35 | depend:
36 | rm -f .depend
37 | ${CC} -MM ${CFLAGS} *.c >> .depend
38 |
39 | clean:
40 | rm -rf core ${TARGET} $(OBJS)
41 |
42 | include: .depend
43 |
--------------------------------------------------------------------------------
/demo/object/schedule.mak:
--------------------------------------------------------------------------------
1 | #Makefile to build test case
2 | CC = gcc
3 | SRC_DIR = ../../src
4 | TEST_DIR = ../../test
5 | INCLUDES = -I../../include -I$(TEST_DIR) -I.
6 | DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_SCHEDULE
7 |
8 | CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g
9 |
10 | SRCS = schedule.c \
11 | $(SRC_DIR)/bacdcode.c \
12 | $(SRC_DIR)/bacint.c \
13 | $(SRC_DIR)/bacstr.c \
14 | $(SRC_DIR)/bacreal.c \
15 | $(SRC_DIR)/bacdevobjpropref.c \
16 | $(SRC_DIR)/bactimevalue.c \
17 | $(SRC_DIR)/datetime.c \
18 | $(SRC_DIR)/lighting.c \
19 | $(SRC_DIR)/bacapp.c \
20 | $(SRC_DIR)/bactext.c \
21 | $(SRC_DIR)/indtext.c \
22 | $(TEST_DIR)/ctest.c
23 |
24 | TARGET = schedule
25 |
26 | all: ${TARGET}
27 |
28 | OBJS = ${SRCS:.c=.o}
29 |
30 | ${TARGET}: ${OBJS}
31 | ${CC} -o $@ ${OBJS}
32 |
33 | .c.o:
34 | ${CC} -c ${CFLAGS} $*.c -o $@
35 |
36 | depend:
37 | rm -f .depend
38 | ${CC} -MM ${CFLAGS} *.c >> .depend
39 |
40 | clean:
41 | rm -rf core ${TARGET} $(OBJS)
42 |
43 | include: .depend
44 |
--------------------------------------------------------------------------------
/demo/perl/Documentation/syntax.css:
--------------------------------------------------------------------------------
1 | pre{
2 | font-family: "Courier New", Courier, monospace, sans-serif;
3 | text-align: left;
4 | line-height: 1.6em;
5 | font-size: 11px;
6 | padding: 0.1em 0.5em 0.3em 0.7em;
7 | border: 2px solid #888;
8 | margin: 1.7em 0 1.7em 0.3em;
9 | overflow: auto;
10 | width: 93%;
11 | background: #EEEEEE;
12 | }
13 | h1 {
14 | font-size: 20pt;
15 | counter-increment: counter-h1;
16 | counter-reset: counter-h2;
17 | }
18 | h2 {
19 | font-size: 17pt;
20 | counter-increment: counter-h2;
21 | counter-reset: counter-h3;
22 | }
23 | h3 {
24 | font-size: 14pt;
25 | counter-increment: counter-h3;
26 | counter-reset: counter-h4;
27 | }
28 | h1:before {
29 | content: counter(counter-h1) ". ";
30 | }
31 | h2:before {
32 | content: counter(counter-h1) "." counter(counter-h2) ". ";
33 | }
34 | h3:before {
35 | content: counter(counter-h1) "." counter(counter-h2) "." counter(counter-h3) ". ";
36 | }
37 | ul {
38 | list-style-type: circle;
39 | }
40 | .quotedString
41 | {
42 | color: #0000FF;
43 | }
44 | .comment
45 | {
46 | color: #999999;
47 | }
48 | .operator
49 | {
50 | color: #00CCCC;
51 | }
52 | .builtinVariable
53 | {
54 | color: #CCCC00;
55 | }
56 | .variableSpecifier
57 | {
58 | color: #FF0000;
59 | }
60 | .keyword
61 | {
62 | color: #AA0033;
63 | }
64 | .builtinFunction
65 | {
66 | color: #AA00AA;
67 | }
68 | .identifier
69 | {
70 | color: #009900;
71 | }
72 | .number
73 | {
74 | color: #9999FF;
75 | }
76 |
--------------------------------------------------------------------------------
/demo/perl/readme.txt:
--------------------------------------------------------------------------------
1 | The BACnet Scriptable (using Perl) Tool.
2 |
3 | * Running this tool assumes that the library has been already built. The
4 | library should be built with a command similar to
5 |
6 | CC=/mingw/bin/gcc BACNET_DEFINES="-DPRINT_ENABLED -DBACAPP_ALL -DBACFILE
7 | -DINTRINSIC_REPORTING" BBMD_DEFINE=-DBBMD_ENABLED\=1 BACNET_PORT=win32 make
8 | clean library
9 |
10 | * Currently, the tool assumes only win32 port, but should be easily modifiable
11 | for any port build.
12 | * This tool has to be run from a path without any spaces. The presence of the
13 | .Inline directory is required.
14 | * Run the tool without any arguments to see usage instructions
15 | * To run the example ReapProperty script (which reads Analog Value 0 Present
16 | Value) for Device at instance 1234 run the following command
17 |
18 | perl bacnet.pl --script example_readprop.pl -- 1234
19 |
20 |
21 |
--------------------------------------------------------------------------------
/demo/piface/configure.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # A script to download and build the libpifacedigital for PiFace
3 | # The library is located at github.com/piface
4 | # Since the PiFace library is GPLv3, we have to keep it separate.
5 |
6 | git clone https://github.com/piface/libmcp23s17.git
7 | git clone https://github.com/piface/libpifacedigital.git
8 |
9 | # Build the library
10 |
11 | make -C libmcp23s17
12 | make -C libpifacedigital
13 |
14 |
--------------------------------------------------------------------------------
/demo/piface/readme.txt:
--------------------------------------------------------------------------------
1 | This demo is designed for a Raspberry Pi connected to a PiFace card.
2 |
3 | The demo uses libpifacedigital from github.com/piface repository.
4 |
5 | To build, start with the configure script:
6 |
7 | $ ./configure.sh
8 | $ make clean all
9 |
10 |
11 |
--------------------------------------------------------------------------------
/demo/ptransfer/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application using GCC compiler
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 | # AR = ar
7 | # MAKE = make
8 | # SIZE = size
9 | #
10 | # Assumes rm and cp are available
11 |
12 | # Executable file name
13 | TARGET = ptransfer
14 |
15 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
16 |
17 | SRCS = main.c \
18 | ../object/device-client.c
19 |
20 | OBJS = ${SRCS:.c=.o}
21 |
22 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
23 |
24 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
25 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
26 | size $@
27 | cp $@ ../../bin
28 |
29 | lib: ${BACNET_LIB_TARGET}
30 |
31 | ${BACNET_LIB_TARGET}:
32 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
33 |
34 | .c.o:
35 | ${CC} -c ${CFLAGS} $*.c -o $@
36 |
37 | depend:
38 | rm -f .depend
39 | ${CC} -MM ${CFLAGS} *.c >> .depend
40 |
41 | clean:
42 | rm -rf core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET}
43 |
44 | include: .depend
45 |
--------------------------------------------------------------------------------
/demo/ptransfer/ptransfer.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 10.00
3 | # Visual C++ Express 2008
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rdproperty", "rdproperty.vcproj", "{7AC60281-278A-4060-B900-A1343E438701}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {7AC60281-278A-4060-B900-A1343E438701}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {7AC60281-278A-4060-B900-A1343E438701}.Debug|Win32.Build.0 = Debug|Win32
14 | {7AC60281-278A-4060-B900-A1343E438701}.Release|Win32.ActiveCfg = Release|Win32
15 | {7AC60281-278A-4060-B900-A1343E438701}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/demo/readbdt/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the GCC Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = bacrbdt
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
--------------------------------------------------------------------------------
/demo/readfile/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = bacarf
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
--------------------------------------------------------------------------------
/demo/readfile/main.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/demo/readfile/main.ide
--------------------------------------------------------------------------------
/demo/readprop/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application using GCC compiler
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 | # AR = ar
7 | # MAKE = make
8 | # SIZE = size
9 | #
10 | # Assumes rm and cp are available
11 |
12 | # Executable file name
13 | TARGET = bacrp
14 |
15 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
16 |
17 | SRCS = main.c \
18 | ../object/device-client.c
19 |
20 | OBJS = ${SRCS:.c=.o}
21 |
22 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
23 |
24 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
25 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
26 | size $@
27 | cp $@ ../../bin
28 |
29 | lib: ${BACNET_LIB_TARGET}
30 |
31 | ${BACNET_LIB_TARGET}:
32 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
33 |
34 | .c.o:
35 | ${CC} -c ${CFLAGS} $*.c -o $@
36 |
37 | depend:
38 | rm -f .depend
39 | ${CC} -MM ${CFLAGS} *.c >> .depend
40 |
41 | clean:
42 | rm -rf core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET}
43 |
44 | include: .depend
45 |
--------------------------------------------------------------------------------
/demo/readpropm/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = bacrpm
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | SRCS = main.c \
13 | ../object/device-client.c
14 |
15 | OBJS = ${SRCS:.c=.o}
16 |
17 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
18 |
19 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
20 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
21 | size $@
22 | cp $@ ../../bin
23 |
24 | lib: ${BACNET_LIB_TARGET}
25 |
26 | ${BACNET_LIB_TARGET}:
27 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
28 |
29 | .c.o:
30 | ${CC} -c ${CFLAGS} $*.c -o $@
31 |
32 | depend:
33 | rm -f .depend
34 | ${CC} -MM ${CFLAGS} *.c >> .depend
35 |
36 | clean:
37 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
38 |
39 | include: .depend
40 |
--------------------------------------------------------------------------------
/demo/readrange/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application using GCC compiler
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 | # AR = ar
7 | # MAKE = make
8 | # SIZE = size
9 | #
10 | # Assumes rm and cp are available
11 |
12 | # Executable file name
13 | TARGET = bacrr
14 |
15 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
16 |
17 | SRCS = main.c \
18 | ../object/device-client.c
19 |
20 | OBJS = ${SRCS:.c=.o}
21 |
22 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
23 |
24 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
25 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
26 | size $@
27 | cp $@ ../../bin
28 |
29 | lib: ${BACNET_LIB_TARGET}
30 |
31 | ${BACNET_LIB_TARGET}:
32 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
33 |
34 | .c.o:
35 | ${CC} -c ${CFLAGS} $*.c -o $@
36 |
37 | depend:
38 | rm -f .depend
39 | ${CC} -MM ${CFLAGS} *.c >> .depend
40 |
41 | clean:
42 | rm -rf core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET}
43 |
44 | include: .depend
45 |
--------------------------------------------------------------------------------
/demo/readrange/readrange/readrange.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 10.00
3 | # Visual C++ Express 2008
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "readrange", "readrange.vcproj", "{6017A2EA-1296-4E67-995F-6344A3CC27C2}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {6017A2EA-1296-4E67-995F-6344A3CC27C2}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {6017A2EA-1296-4E67-995F-6344A3CC27C2}.Debug|Win32.Build.0 = Debug|Win32
14 | {6017A2EA-1296-4E67-995F-6344A3CC27C2}.Release|Win32.ActiveCfg = Release|Win32
15 | {6017A2EA-1296-4E67-995F-6344A3CC27C2}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/demo/reinit/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = bacrd
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | SRCS = main.c \
13 | ../object/device-client.c
14 |
15 | OBJS = ${SRCS:.c=.o}
16 |
17 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
18 |
19 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
20 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
21 | size $@
22 | cp $@ ../../bin
23 |
24 | lib: ${BACNET_LIB_TARGET}
25 |
26 | ${BACNET_LIB_TARGET}:
27 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
28 |
29 | .c.o:
30 | ${CC} -c ${CFLAGS} $*.c -o $@
31 |
32 | depend:
33 | rm -f .depend
34 | ${CC} -MM ${CFLAGS} *.c >> .depend
35 |
36 | clean:
37 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
38 |
39 | include: .depend
40 |
--------------------------------------------------------------------------------
/demo/router-ipv6/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the GCC port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = bacroute
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | CFLAGS += -DPRINT_ENABLED=1
13 |
14 | BACNET_SOURCE_DIR = ../../src
15 | BACNET_HANDLER_DIR = ../handler
16 | BACNET_OBJECT_DIR = ../object
17 |
18 | SRC = main.c \
19 | $(BACNET_OBJECT_DIR)/device-client.c
20 |
21 | PORT_BIP6_SRC = \
22 | $(BACNET_PORT_DIR)/bip6.c \
23 | $(BACNET_SOURCE_DIR)/bvlc6.c \
24 | $(BACNET_HANDLER_DIR)/h_bbmd6.c \
25 | $(BACNET_SOURCE_DIR)/vmac.c
26 |
27 | SRCS = ${SRC} ${PORT_BIP6_SRC}
28 |
29 | OBJS = ${SRCS:.c=.o}
30 |
31 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
32 |
33 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
34 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
35 | size $@
36 | cp $@ ../../bin
37 |
38 | lib: ${BACNET_LIB_TARGET}
39 |
40 | ${BACNET_LIB_TARGET}:
41 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
42 |
43 | .c.o:
44 | ${CC} -c ${CFLAGS} $*.c -o $@
45 |
46 | depend:
47 | rm -f .depend
48 | ${CC} -MM ${CFLAGS} *.c >> .depend
49 |
50 | clean:
51 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
52 |
53 | include: .depend
54 |
--------------------------------------------------------------------------------
/demo/router-ipv6/readme.txt:
--------------------------------------------------------------------------------
1 | BACnet Simple Router Demo
2 | =========================
3 |
4 | The Simple Router demo connects one BACnet/IP and one BACnet/IPv6 network.
5 | It also includes a BBMD so that Foreign Device Registration can be used
6 | to tunnel local command line demos to BACnet/IP and BACnet IPv6 networks.
7 |
8 | Configuration
9 | =============
10 |
11 | It uses environment variables to configure
12 | the BACnet/IP port and BACnet/IPv6 address on Linux:
13 |
14 | export BACNET_IFACE=eth0
15 | export BACNET_BIP6_IFACE=eth0
16 |
17 | Also uses these configurations, but defaults to these values if not set:
18 | export BACNET_IP_PORT=47808
19 | export BACNET_BIP6_PORT=47808
20 | export BACNET_BIP6_BROADCAST=FF05
21 | export BACNET_IP_NET=1
22 | export BACNET_IP6_NET=2
23 |
--------------------------------------------------------------------------------
/demo/router/mstpmodule.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file
3 | * @author Andriy Sukhynyuk, Vasyl Tkhir, Andriy Ivasiv
4 | * @date 2012
5 | * @brief Datalink for MS/TP module
6 | *
7 | * @section LICENSE
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining
10 | * a copy of this software and associated documentation files (the
11 | * "Software"), to deal in the Software without restriction, including
12 | * without limitation the rights to use, copy, modify, merge, publish,
13 | * distribute, sublicense, and/or sell copies of the Software, and to
14 | * permit persons to whom the Software is furnished to do so, subject to
15 | * the following conditions:
16 | *
17 | * The above copyright notice and this permission notice shall be included
18 | * in all copies or substantial portions of the Software.
19 | *
20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24 | * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25 | * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26 | * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 | *
28 | */
29 | #ifndef MSTPMODULE_H
30 | #define MSTPMODULE_H
31 |
32 | #include "portthread.h"
33 |
34 | void *dl_mstp_thread(
35 | void *pArgs);
36 |
37 | #endif /* end of MSTPMODULE_H */
38 |
--------------------------------------------------------------------------------
/demo/scov/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application using GCC compiler
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 | # AR = ar
7 | # MAKE = make
8 | # SIZE = size
9 | #
10 | # Assumes rm and cp are available
11 |
12 | # Executable file name
13 | TARGET = bacscov
14 |
15 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
16 |
17 | SRCS = main.c \
18 | ../object/device-client.c
19 |
20 | OBJS = ${SRCS:.c=.o}
21 |
22 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
23 |
24 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
25 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
26 | size $@
27 | cp $@ ../../bin
28 |
29 | lib: ${BACNET_LIB_TARGET}
30 |
31 | ${BACNET_LIB_TARGET}:
32 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
33 |
34 | .c.o:
35 | ${CC} -c ${CFLAGS} $*.c -o $@
36 |
37 | depend:
38 | rm -f .depend
39 | ${CC} -MM ${CFLAGS} *.c >> .depend
40 |
41 | clean:
42 | rm -rf core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET}
43 |
44 | include: .depend
45 |
--------------------------------------------------------------------------------
/demo/server/.gdbinit:
--------------------------------------------------------------------------------
1 | set print pretty on
2 | set print union on
3 | set print address on
4 | list
5 |
--------------------------------------------------------------------------------
/demo/server/PICS.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/demo/server/PICS.odt
--------------------------------------------------------------------------------
/demo/timesync/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = bacts
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | SRCS = main.c \
13 | ../object/device-client.c
14 |
15 | OBJS = ${SRCS:.c=.o}
16 |
17 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
18 |
19 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
20 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
21 | size $@
22 | cp $@ ../../bin
23 |
24 | lib: ${BACNET_LIB_TARGET}
25 |
26 | ${BACNET_LIB_TARGET}:
27 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
28 |
29 | .c.o:
30 | ${CC} -c ${CFLAGS} $*.c -o $@
31 |
32 | depend:
33 | rm -f .depend
34 | ${CC} -MM ${CFLAGS} *.c >> .depend
35 |
36 | clean:
37 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
38 |
39 | include: .depend
40 |
--------------------------------------------------------------------------------
/demo/ucov/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = bacucov
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | SRCS = main.c \
13 | ../object/device-client.c
14 |
15 | OBJS = ${SRCS:.c=.o}
16 |
17 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
18 |
19 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
20 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
21 | size $@
22 | cp $@ ../../bin
23 |
24 | lib: ${BACNET_LIB_TARGET}
25 |
26 | ${BACNET_LIB_TARGET}:
27 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
28 |
29 | .c.o:
30 | ${CC} -c ${CFLAGS} $*.c -o $@
31 |
32 | depend:
33 | rm -f .depend
34 | ${CC} -MM ${CFLAGS} *.c >> .depend
35 |
36 | clean:
37 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
38 |
39 | include: .depend
40 |
--------------------------------------------------------------------------------
/demo/uevent/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application with GNU Make
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = bacuevent
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | SRCS = main.c \
13 | ../object/device-client.c
14 |
15 | OBJS = ${SRCS:.c=.o}
16 |
17 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
18 |
19 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
20 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
21 | size $@
22 | cp $@ ../../bin
23 |
24 | lib: ${BACNET_LIB_TARGET}
25 |
26 | ${BACNET_LIB_TARGET}:
27 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
28 |
29 | .c.o:
30 | ${CC} -c ${CFLAGS} $*.c -o $@
31 |
32 | depend:
33 | rm -f .depend
34 | ${CC} -MM ${CFLAGS} *.c >> .depend
35 |
36 | clean:
37 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
38 |
39 | include: .depend
40 |
--------------------------------------------------------------------------------
/demo/uptransfer/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application using GCC compiler
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 | # AR = ar
7 | # MAKE = make
8 | # SIZE = size
9 | #
10 | # Assumes rm and cp are available
11 |
12 | # Executable file name
13 | TARGET = bacupt
14 |
15 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
16 |
17 | SRCS = main.c \
18 | ../object/device-client.c
19 |
20 | OBJS = ${SRCS:.c=.o}
21 |
22 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
23 |
24 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
25 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
26 | size $@
27 | cp $@ ../../bin
28 |
29 | lib: ${BACNET_LIB_TARGET}
30 |
31 | ${BACNET_LIB_TARGET}:
32 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
33 |
34 | .c.o:
35 | ${CC} -c ${CFLAGS} $*.c -o $@
36 |
37 | depend:
38 | rm -f .depend
39 | ${CC} -MM ${CFLAGS} *.c >> .depend
40 |
41 | clean:
42 | rm -rf core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET}
43 |
44 | include: .depend
45 |
--------------------------------------------------------------------------------
/demo/whohas/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = bacwh
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | SRCS = main.c \
13 | ../object/device-client.c
14 |
15 | OBJS = ${SRCS:.c=.o}
16 |
17 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
18 |
19 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
20 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
21 | size $@
22 | cp $@ ../../bin
23 |
24 | lib: ${BACNET_LIB_TARGET}
25 |
26 | ${BACNET_LIB_TARGET}:
27 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
28 |
29 | .c.o:
30 | ${CC} -c ${CFLAGS} $*.c -o $@
31 |
32 | depend:
33 | rm -f .depend
34 | ${CC} -MM ${CFLAGS} *.c >> .depend
35 |
36 | clean:
37 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
38 |
39 | include: .depend
40 |
--------------------------------------------------------------------------------
/demo/whois/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = bacwi
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
--------------------------------------------------------------------------------
/demo/whoisrouter/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | TARGET = bacwir
8 |
9 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
10 |
11 | SRCS = main.c \
12 | ../object/device-client.c
13 |
14 | OBJS = ${SRCS:.c=.o}
15 |
16 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
17 |
18 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
19 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
20 | size $@
21 | cp $@ ../../bin
22 |
23 | lib: ${BACNET_LIB_TARGET}
24 |
25 | ${BACNET_LIB_TARGET}:
26 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
27 |
28 | .c.o:
29 | ${CC} -c ${CFLAGS} $*.c -o $@
30 |
31 | depend:
32 | rm -f .depend
33 | ${CC} -MM ${CFLAGS} *.c >> .depend
34 |
35 | clean:
36 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
37 |
38 | include: .depend
39 |
--------------------------------------------------------------------------------
/demo/writefile/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = bacawf
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | SRCS = main.c \
13 | ../object/device-client.c
14 |
15 | OBJS = ${SRCS:.c=.o}
16 |
17 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
18 |
19 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
20 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
21 | size $@
22 | cp $@ ../../bin
23 |
24 | lib: ${BACNET_LIB_TARGET}
25 |
26 | ${BACNET_LIB_TARGET}:
27 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
28 |
29 | .c.o:
30 | ${CC} -c ${CFLAGS} $*.c -o $@
31 |
32 | depend:
33 | rm -f .depend
34 | ${CC} -MM ${CFLAGS} *.c >> .depend
35 |
36 | clean:
37 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
38 |
39 | include: .depend
40 |
--------------------------------------------------------------------------------
/demo/writefile/main.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/demo/writefile/main.ide
--------------------------------------------------------------------------------
/demo/writeprop/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = bacwp
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | SRCS = main.c \
13 | ../object/device-client.c
14 |
15 | OBJS = ${SRCS:.c=.o}
16 |
17 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
18 |
19 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
20 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
21 | size $@
22 | cp $@ ../../bin
23 |
24 | lib: ${BACNET_LIB_TARGET}
25 |
26 | ${BACNET_LIB_TARGET}:
27 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
28 |
29 | .c.o:
30 | ${CC} -c ${CFLAGS} $*.c -o $@
31 |
32 | depend:
33 | rm -f .depend
34 | ${CC} -MM ${CFLAGS} *.c >> .depend
35 |
36 | clean:
37 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
38 |
39 | include: .depend
40 |
--------------------------------------------------------------------------------
/demo/writepropm/Makefile:
--------------------------------------------------------------------------------
1 | #Makefile to build BACnet Application for the Linux Port
2 |
3 | # tools - only if you need them.
4 | # Most platforms have this already defined
5 | # CC = gcc
6 |
7 | # Executable file name
8 | TARGET = bacwpm
9 |
10 | TARGET_BIN = ${TARGET}$(TARGET_EXT)
11 |
12 | SRCS = main.c \
13 | ../object/device-client.c
14 |
15 | OBJS = ${SRCS:.c=.o}
16 |
17 | all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
18 |
19 | ${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
20 | ${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
21 | size $@
22 | cp $@ ../../bin
23 |
24 | lib: ${BACNET_LIB_TARGET}
25 |
26 | ${BACNET_LIB_TARGET}:
27 | ( cd ${BACNET_LIB_DIR} ; $(MAKE) clean ; $(MAKE) )
28 |
29 | .c.o:
30 | ${CC} -c ${CFLAGS} $*.c -o $@
31 |
32 | depend:
33 | rm -f .depend
34 | ${CC} -MM ${CFLAGS} *.c >> .depend
35 |
36 | clean:
37 | rm -f core ${TARGET_BIN} ${OBJS} ${BACNET_LIB_TARGET} $(TARGET).map
38 |
39 | include: .depend
40 |
--------------------------------------------------------------------------------
/doc/BACnet-Protocol-Diagram.odg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/doc/BACnet-Protocol-Diagram.odg
--------------------------------------------------------------------------------
/doc/BACnetCollapsedArchitecture.flw:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/doc/BACnetCollapsedArchitecture.flw
--------------------------------------------------------------------------------
/doc/README.build:
--------------------------------------------------------------------------------
1 | BACnet Stack
2 | Developer Build
3 |
4 | This BACnet Stack is designed as a library for an embedded product.
5 | However, there are a number of example applications in the demo/ directory
6 | that show how it can be used for client and server applications.
7 |
8 | The demos can be built using makefiles in the root directory, or by
9 | using individual makefiles in the demo directories.
10 |
11 | Launch the demo/server/bacserv example. Use the client demos to query
12 | the server. Note that the server should be on a different computer or
13 | virtual machine.
14 |
--------------------------------------------------------------------------------
/doc/README.codeblocks:
--------------------------------------------------------------------------------
1 | BACnet Stack @ SourceForge.net
2 | Build using Code Blocks
3 |
4 | Q1: GNU GCC Compiler, undefined reference to closesocket
5 |
6 | A1: Under Project->Build Options->Linker settings,
7 | add "ws2_32" to Link Libraries.
8 |
9 | Q2: GNU GCC Compiler, creating a DLL
10 |
11 | A2: Under Project->Build Options->Linker settings,
12 | add "user32" to Link Libraries.
13 |
14 | Q3: GNU GCC Compiler, undefined reference to _GetAdaptersInfo
15 |
16 | A3: Under Project->Build Options->Linker settings,
17 | add "iphlpapi" to Link Libraries.
18 |
--------------------------------------------------------------------------------
/doc/README.faq:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/doc/README.faq
--------------------------------------------------------------------------------
/doc/README.msvc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/doc/README.msvc
--------------------------------------------------------------------------------
/doc/README.msvs:
--------------------------------------------------------------------------------
1 | BACnet Stack - SourceForge.net
2 | Build for Visual Studio 2005 Express Edition
3 |
4 | Q1: Cannot open include file: 'winsock2.h'
5 |
6 | A1: Install the Microsoft Platform SDK:
7 | http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx
8 |
--------------------------------------------------------------------------------
/doc/README.release:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/doc/README.release
--------------------------------------------------------------------------------
/doc/README.ubuntu:
--------------------------------------------------------------------------------
1 | Add the ability to compile, edit, and maintain code
2 |
3 | Here are the compilers and their documents
4 | $ sudo apt-get install build-essential subversion-tools gcc-4.2-doc glibc-doc manpages-dev
5 | $ sudo apt-get install mingw32 mingw32-binutils mingw32-runtime
6 | I need access to subversion and XSLT ChangeLog tools
7 | $ sudo apt-get install subversion-tools
8 | $ sudo apt-get install xsltproc
9 | I install a couple of editors, useful for various things. Kate is already installed.
10 | $ sudo apt-get install scite
11 | $ sudo apt-get install vim-full
12 | Useful tools for cleaning up code, converting comments and line endings, and code statistics:
13 | $ sudo apt-get install splint
14 | $ sudo apt-get install sloccount
15 | $ sudo apt-get install indent
16 | $ sudo apt-get install liwc
17 | $ sudo apt-get install tofrodos
--------------------------------------------------------------------------------
/doc/RPM-Handler.flw:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stargieg/bacnet-stack/56034b7b11f53efba749a162447a71d10b6fcc3a/doc/RPM-Handler.flw
--------------------------------------------------------------------------------
/doc/bac_stack_footer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | BACnet-stack API documentation
5 | Generated on $datetime for $projectname by $doxygenversion
6 |