Bill Swan

June 6, 2011 – 11:58 am
Today is a day of mourning in the BACnet community, as we lost one of the greats...Bill Swan. RIP, Bill, you will be missed. Thank you for all that you've done for BACnet through the years.

Testing BACnet MS/TP

August 17, 2010 – 1:15 pm
Recently, someone posted a question on BACnet-L about how to test MS/TP using an oscilloscope. It's a good question, but one that requires more explanation than can be posted in an email response. I'm going to split this post into two parts in order to first address only the oscilloscope based tests and to secondly address the serial analyzer based tests. The following documentation is based on the BTL Specified Tests revision 5.0 concerning MS/TP testing, which can be found in section 2.2 of the document, BTL Specified Tests-5.0.final.doc. I am not including the section numbers here because, as of this writing, the TI-WG is working on getting these tests included in an upcoming addendum for inclusion in 135.1. First, a disclaimer. PolarSoft, Inc. is my employer. The opinions expressed here are my own and may not reflect those of my employer. The explicit mention of a product or company in this ...

Standing on the shoulders of giants

June 1, 2010 – 2:39 pm
A colleague of mine once said "We were truly standing on the shoulders of giants. Some of us knew it, some, not so much." That quote is applicable in BACnet committee work as well as anywhere else. When proposals get written and before they're reviewed by the committee, the original authors may not be in a position to continue championing the proposal. This happens from time to time, and when it does, the committee will look for volunteers to take up the mantle. Such was the case for WS-033. The gist of the proposal is to mandate when and where wildcard values may or may not be used within date and time values. For example, the local-time property of the device may never contain a wildcard value because it represents a single moment in time. Some years ago, (Bill says it was about 10) ...

Day 3

January 24, 2010 – 7:51 am
Today is the third day of BACnet meetings in Orlando, FL. Today is the first of two days devoted for the main SSPC 135 meeting. The morning of these meetings is usually a little "slow", and I say that with all due respect. However, getting everyone on the same page with the network setup, then introductions, review of the agenda and minutes from the last meeting, waiting for folks to get coffee, etc. takes up quite a bit of time. Then we dive into various updates from liaisons to other SPCs with ASHRAE as well various "sister" organizations such as IEIEJ. After that, we hear from the various working groups (essentially "focused" subcommittees) about their work. These activities usually take up the 8 AM to 11 AM time slot. Today, there were a few interesting developments in the working group portion of the meeting. The SSPC formed a new WG, the Elevator Working ...

Alarming Discussions are, well, alarming

January 22, 2010 – 10:07 am
Today is day 2 of the BACnet meetings in Orlando. The first meeting today is the OS-WG, which as of this writing is over its allotted time. This particular working group has been tasked with tackling the very large task of the alarm and event services reboot. These discussions have monopolized the OS-WG face time of late, which unfortunately has caused other proposals to languish. I'm not complaining, mind you. I'm just pointing out that this is the cost associated with this type of work – especially in a committee with limited time. As I understand it, there are two camps when it comes to alarm and event generation in BACnet. That more than one camp exists shows that the standard does not provide an adequate overview for the functionality. If the committee experts are split, imagine how end users feel. Camp 1 is of the thought that event generation requires a ...

I’m going to Disneyworld!

January 21, 2010 – 12:21 pm
I'm currently in Orlando, Florida. Not to visit the mouse, but to attend BACnet meetings as part of the 2010 Winter AHR Expo. BACnet is an ASHRAE standard and as such, the SSPC and the various working groups hold their meetings directly prior to the AHR show. The working groups usually meet for 3 days and the main SSPC meets for 2 days. Today was the first day of the meetings. I decided to attend the BTL-WG meeting and David attended the LA-WG (lighting application working group). This made sense because I've been active with the BTL-WG for a lot of years. Also, David has been spearheading a lot of the effort in the LA-WG along with Steve Karg. BTL stands for BACnet Test Labs, which is a part of BACnet International. The test lab is currently managed by Duffy O'Craven, who has been a fellow BACneteer for about 10 years, which is ...

We got a vendor ID

January 21, 2010 – 11:10 am
Over the holidays, I decided to "stake my claim" in the BACnet world by obtaining a BACnet vendor identifier from ASHRAE. For those who are unfamiliar with this process, please check bacnet.org. The process is pretty easy, all things considered. There was more paperwork involved with joining the BACnet committee! The only problem I encountered was that they required my title at JANDAsoft. JANDAsoft (aka JANDA Software Company, LLC) is a sole proprietorship LLC, which is a really just a fancy way of saying it's a company with one employee – me. So, technically, I'm "Founder and President", but those titles are entirely too formal for my liking. But, ASHRAE requires a title, so I listed myself as "President", which is why it's listed as such on the list of vendor identifiers. It could just as easily say "Coleman Brumley, Grand Poobah". Anyway, I'm now officially listed as a BACnet vendor. If you're ...

BACnet over Bluetooth?

December 19, 2009 – 1:36 pm
An interesting development developed recently in the wireless world. Bluetooth 4.0 was announced on December 17,2009. This version of the Bluetooth standard is aimed directly at the sensor market. This got me to thinking. What impact this will have in the BACnet community? Addenda 135-2008q, which introduced Zigbee as a BACnet data link layer, was approved in January, 2009. What will Bluetooth 4.0 mean for BACnet/Zigbee, or more generally wireless BACnet? My brief introduction (from the press releases) about Bluetooth 4.0 leads me to believe they're trying to directly compete with Zigbee. I think a lot of the same concepts (virtual MAC layer, caching, etc.) that apply to BACnet/Zigbee would also apply to BACnet/Bluetooth. This is an interesting time in BACnet. With the work being done in IPv6 and the hope to work with the Smart Grid alliance, the committee has their work cut out for them.

1 Year Later

August 14, 2009 – 10:26 am
One year ago today, I went to UPMC Magee for Roux-en-Y Gastric Bypass. That day, I weighed 331 pounds. That was after a weight loss of 18 pounds from the day I was diagnosed with Type II Diabetes, which means that on that fateful day I weighed 349 pounds. I say fateful, because that's the day I made a decision that will affect me and my family for the rest of my life. At the time, I had considered that normal and didn't think much of it. I was "happy", or at least that's what I kept telling myself. In reality, I was miserable! I was in constant pain. I could hardly walk. My back hurt continuously. And those were the symptoms I knew about. What I didn't know, and I would only find out during testing for the surgery ...

BusyBox 1.13.0 telnetd

November 22, 2008 – 8:46 pm
Recently, I was working with my embedded Linux platform and wanted to implement a telnet server on it. My platform, based on the Atmel AT91SAM9260 CPU, runs an unpatched BusyBox. BusyBox has a telnet daemon (telnetd) built into it, but it required some configuration to get running. I'd like to document those configuration steps here for future reference.   1.  Download the latest BusyBox. These instructions are based on BusyBox v1.13.0. 2.  Run make menuconfig, and select all of the options you want built into BusyBox. Remember to setup your cross compiler! 3.  Run make. In my case, I'm not using devpts, so I manually make the pseudo terminal (pty) entries in /dev. I used the following script to do this: for i in 0 1 2 3 4 5 6 7 do /bin/mknod /dev/ttyp$i c 3 $i /bin/mknod /dev/ptyp$i c 2 $i done Also, I made sure ...