Allow compilation of BACnet/IP demos in Cygwin in Windows
Tentative commit by Ed
I am about to add Microsoft 'MFC forms' and 'w32 console' compiles in the future. This is a first, non-breaking step in that direction.
Fixups for an issue found during testing COVs
Modified conflicting line endings in ../xplained/bacnet.c which were confusing some tools.
Committing minor changes (comments only) as an exercise in contributing..
Updated vs2015 solution to compile server demo (Compiles and runs under free Microsoft Visual Studio 2015 Community Edition) (Added server project, added "BACnet Solutions Settings" property sheet, included piv.c schedule.c osv.c to BACnet Object Definitions project, added bactimevalue.c to BACnet Stack Library project, compiles runs "Debug/x64"). Removed empty directories and removed old MSVC 2005 and MSVC 2008 projects as obsolete.
Removed compiler transient files from older MSVS 2010 project
Fixed a few non-relative folder location issues with (only) the Microsoft Visual Studio 2015 port
A couple of bugfixes and Microsoft cleanups by Ed
Cleanup of MSVC 2015 Community Edition "Properties File" (User Property Manager to explore these).
Restoring test.mak
nc.c: Attempting to write to Object_Name returned UNKNOWN_PROPERTY.
Tentative commit by Ed
Allow compilation of BACnet/IP demos in Cygwin in Windows
I am about to add Microsoft 'MFC forms' and 'w32 console' compiles in the future. This is a first, non-breaking step in that direction.
Fixups for an issue found during testing COVs
Updated vs2015 solution to compile server demo (Compiles and runs under free Microsoft Visual Studio 2015 Community Edition) (Added server project, added "BACnet Solutions Settings" property sheet, included piv.c schedule.c osv.c to BACnet Object Definitions project, added bactimevalue.c to BACnet Stack Library project, compiles runs "Debug/x64"). Removed empty directories and removed old MSVC 2005 and MSVC 2008 projects as obsolete.
Removed compiler transient files from older MSVS 2010 project
Cleanup of MSVC 2015 Community Edition "Properties File" (User Property Manager to explore these).
Fixed a few non-relative folder location issues with (only) the Microsoft Visual Studio 2015 port
Committing minor changes (comments only) as an exercise in contributing..
A couple of bugfixes and Microsoft cleanups by Ed
Modified conflicting line endings in ../xplained/bacnet.c which were confusing some tools.
Restoring test.mak
nc.c: Attempting to write to Object_Name returned UNKNOWN_PROPERTY.
Paramasivan Do you have a capture of the MS/TP bus traffic? (See demo/mstpcap for a tool&docs). Look at that and see what is happening. Also, try setting your MAC addresses low in the range -e.g. 1-5, and max-masters to e.g. 10. That SHOULD NOT be the cause of your problems, but may provide a clue as to what is broken. Since Steve has tested 128 nodes in a network, I am going to bet it is not the stack. ;) Ed
I would recommend compiling, running and familiarizing yourself with the BACnet/IP flavor of the linux demo stack (see this to compile and test: https://www.bac-test.com/how-to-build-a-foss-bacnet-server-based-on-steve-kargs-sourceforge-project/ ). Once you have that running on linux, then you will need to port net.h, bip-init.c to your new platform. Follow the model based on /ports/linux and create the equivalent in /ports/stm32f10x (or create a new port directory). You may need to modify /src/bip.c...
Justice, I find "make files" tedious and confusing myself. I would have to research the issues from first principles, and may very well miss your particular issue anyway. You are in an as-good, or better position to solve your particular problem. So, over to you. ;)
Yeah. Makes sense. If you already have a fast method to handle all your own devices, go for it. You will find BACnet really comes in when you want to glue your devices to other manufacturer's devices. Thats when the "interoperability" of BACnet starts to shine.
A framework for a Schedule Object is in the source (in /demo/object/schedule.c) but it is FAR from complete and will need a LOT of work to implement fully. Also I don't quite follow what you mean by "implement schedule on other BACnet Devices from Raspberry Pi". Are you trying to implement a Schedule Object in a BACnet Server ("B-Device"), or are you trying to control a Schedule Object on the Pi from a BACnet Client ("BACnet A-Device"). There is even less sample code for BACnet Client-side Schedule...
For question #1, I think what you are asking is if you need to have 2 ethernet ports in order to implement the virtual devices behind a virtual bacnet router concept and the answer is 'no, you can do it all via one IP port' For question #2, your architecture, your decision, but really, if you are already successfully connecting your devices between sites over the internet using your methods, leave it that way. My 2c.
The file containing BACNET_PROTOCOL_REVISION can is in include/bacdef.h Next time: ack-grep -r BACNET_PROTOCOL_REVISION
I have just downloaded Steves stack, compiled and run 'bacsrv' and there are 8 Lighting Objects there. I followd this simple procedure to build: https://www.bac-test.com/how-to-build-a-foss-bacnet-server-based-on-steve-kargs-sourceforge-project/
Justice Worked just fine for me with Steve's latest stack. Did you perhaps change the BACNET_PROTOCOL_REVISION to something less that 14? That will disable Lighting Output in the stack. Ed
Using the "gateway" functionality works just fine for most purposes. Be aware though, if you want to get BTL approval, your 'network of Virtual Devices' needs to be behind a 'Virtual Router', which is all just fine as implemented, however, the Virtual Router also needs an 'Application Entity' to be added to the basic model (answers to 'Who-Is', has Device Instance, Device Properties etc). All possible, and we have done projects using this approach which have passed BTL. However, if you want to add...
Ivan I did a cut&paste of https://www.bac-test.com/ and I could access just fine. Where are you trying to connect from? We don't have any geographical filters, so this is a puzzle. Why don't you contact me at edward@bac-test.com and we can zero in on this issue. Ed
I have written a short tutorial how to download / compile / run the BACnet Server demo, built from this stack. https://www.bac-test.com/how-to-build-a-foss-bacnet-server-based-on-steve-kargs-sourceforge-project/ Enjoy. Ed
nc.c: Attempting to write to Object_Name returned UNKNOWN_PROPERTY.
Does anyone have any irons in the fire regarding Microsoft Visual Studio solutions. I propose to remove the 2008, 2010 etc. postfix on folder names, and commit a MSVC 2017 community edition (free) compilable solution that contains a 'project' for the 'stack', and further 'projects' for 'server', 'readprop' etc.
Robert Let me know when you are ready to fire up the BACnet Test Client. I will send you an beta version, which now has more than 250 compliance tests that it runs. By the way, the invitation to try out our beta version applies to anyone else interested. Just let me know, online or +1 (650) 305 1395 / voice or text, or edward@bac-test.com. Ed
I have developed a 'deeply embeddable' memory system incorporating malloc() and free(), but these functions operate on a static array of bytes down to less that 1K in size if necessary. It is optimized for speed (4x Microsoft) and is guaranteed not to fragment due to the fact it is based on the "Buddy Memory Allocation System" that Knuth wrote about years ago. Enjoy. https://github.com/BACnetEd/BuddyMemoryMallocFree Ed.
Restoring test.mak
Steve Are there any plans, or is there already available source for "GetEnrollmentSummary"...
Cleanup of MSVC 2015 Community Edition "Propert...
Fixed a few non-relative folder location issues...
Removed compiler transient files from older MSV...
A couple of bugfixes and Microsoft cleanups by Ed
Just be aware that this stack supports both client and server mode (In BACnet terminology,...
Just be aware that this stack supports both client and server mode (In BACnet terminology,...
Just be aware that this stack supports both client and server mode (In BACnet terminology,...
Just be aware that this stack supports both client and server mode (In BACnet terminology,...
Steve May I suggest removal of all #ifdef __cplusplus extern "C" { #endif from the...
Steve May I suggest removal of all #ifdef __cplusplus extern "C" { #endif from the...
Updated vs2015 solution to compile server demo ...
Committing minor changes (comments only) as an ...
Modified conflicting line endings in ../xplaine...
If anyone cares, I intend to add MSVC 2013 support very soon. There is a solution,...
Fixups for an issue found during testing COVs