From: Steve K. <st...@ka...> - 2005-02-22 18:42:47
|
Hi Rod, > Read and respond to this message at: > https://sourceforge.net/forum/message.php?msg_id=3010049 > By: thenbomr I'm posting this to the developer list so that other developers may see it. > Okay, I now have functional code that reads and writes XML formated data for > initialization of the BACnet database. This code uses the open source package > 'expat' for parsing the XML data file. Great! > Also, I now have functional code that exports the BACnet database as a virtual > filesystem, so any application that can open and read files on a linux filesystem > can access the data in real-time. This functionality relies upon the open source > package 'fuse', to provide the 'file system in userspace'. While this method > of exporting data is fairly nice in terms of simplicity for the 'client' application, > it is a major CPU hog if you want to use it to continuously poll for new data. Great feature! So it might need to reside on a standalone server... > In response to that shortcoming, I also have developed code that exports the > data using IPC message queues. A message is stuffed into the queue on each COV > monitor received. This allows a client application to block pending receipt > of new data, and turns out to be very efficient. A simple client application > demonstrates all of the code required to hook up to the BACnet stack. This seems > to address the wishes of one post in the 'feature-request' facility of > sourceforge. Great! > All of the code I've written is based on the 0.3.6 release, and I've modified > the Makefile in ways that assume the user has the expat and fuse libraries installed. > I really don't know how this assumption squares with the philosophy of the package, > so I haven't uploaded anything to the CVS repository yet. If I was any good > at writing Makefiles, I'd probably try to put in some kind of conditional building > to either use the external library functionality, or not. I'm thinking maybe > this should be a branch point in the evolution of the package, but I don't really > know how that works, either. Regarding the makefile: since this project is getting more and more dependencies, perhaps now it is time to start using autoconf/automake. It has the features that you are looking for. http://sources.redhat.com/autobook/ Regarding merging: we can try it. Regarding a branch or new project: I guess we need to see after we try to merge. Quite a bit of the BACnet code will be common for most of the projects, but some will be quite different. If you want to create a new project for what you are doing, you can do that too, and we can copy the stuff that we want from that code set into the main project. I have been working on trying to make the code into a library of sorts, and creating many little utilities using the library. Let me know what you want to do and I can guide you through it. Regarding philosophy: don't get me started on philosophy! I am looking forward to seeing this new stuff working! Best Regards, Steve -- http://www.kargs.net/ |