January 22nd, 2008

Our highly intelligent BACnet committee met in New York City. The discussion centered around Interpretation Requests, Public Review Addendum responses, and revised Public Review Addendum. The Lighting Output object, part of SSPC 135-2004 Addendum i, was approved for its second Public Review.



Many working groups also met on Thursday, Friday, and Sunday. The Lighting Applications working group met on Sunday morning, and we worked on the Color Output object. The Wireless Networking working group met and discussed ways to reduce broadcast packets. The Objects and Services working group met and reviewed addendum comments.



After the Sunday working group meetings, I attended mass at St. Patrick’s Cathedral. It was an awesome church and included a magnificent pipe organ and a number of alcoves.



It was my first visit to New York City. I took a ferry to see the Statue of Liberty Enlightening the World, the full name for the Statue of Liberty. I took a lot of photos, and also sent a photo from my cell phone to my family.



I also toured Ellis Island. It was very touching as I toured the building, rooms, and steps where many families walked through to live in America between 1892 and 1924. A set of steps leading down from the Registration Hall was divided into 3, and was dubbed the “Stairs of Separation.” The steps marked the parting of the way for many family and friends with different destinations. The middle steps led to the islands hospital or detention rooms, while the outer steps were destinations of New York or New Jersey by way of ferry.



Posted in BACnet | No Comments »
December 24th, 2007
I listened to the Dave Ramsey Show today while driving across town. Amy Grant was his guest. They talked about a way to give by sharing a story: Spread The Sharing - Giving a Million meals through Second Harvest food bank. Share a story on the Spread the Sharing website and Country Crock will donate a meal to America’s Second Harvest.
Posted in charity | No Comments »
November 27th, 2007
Every once in awhile, I need a macro to work around a difference in a C compiler.
For example, not every compiler for the Win32 platform has implemented C99 integer and boolean types, so I have stdint.h and stdbool.h files. Fortunately, The Open Group maintains an online definition for stdint.h and stdbool.h so I don’t have to guess about what is supposed to go in there. C99 also defines some new keywords: restrict, inline, _Complex, _Imaginary, _Bool. Since _Bool is used by stdbool.h, it may or may not have been defined by the compiler. What I needed was a macro defined by the compiler that tells me which compiler it is so I can avoid compiler warnings.
Digging up the compiler macros on the internet can be challenging. However, there is a nice project at SourceForge to track Pre-defined C/C++ Compiler Macros.
That makes things a whole lot easier!
Posted in software | No Comments »
November 17th, 2007
I recently upgraded the WordPress install on BlueHost at Kargs.net. The install and upgrade were done using the Fanstastico user interface. After the install, I found that some of the characters in the older postings (mostly the quote character) were shown as unusual characters. After a number of searches, I found the solution.
1. Modify the wp-config.php by commenting out
//define('DB_CHARSET', 'utf8');
//define('DB_COLLATE', '');
2. Modify the wp-config-sample.php by commenting out
//define('DB_CHARSET', 'utf8');
//define('DB_COLLATE', '');
The second file, wp-config-sample.php, is used to prevent breakage in future upgrades.
Posted in hosting | No Comments »
October 16th, 2007
I attended the BACnet Interoperability Workshop again this year. The Plugfest was held in Milwaukee. I tested another BACnet Stack at SourceForge enabled device. This time it was an Atmel AVR ATmega168 using the GCC WinAVR compiler. It was utilizing the BACnet MS/TP datalink layer, and had a Device object and 9 Analog Input objects inside. It supported the ReadProperty service, and WhoIs and I-Am services for binding. It had a Maximum APDU size of 128 bytes.
AVR Memory Usage
—————-
Device: atmega168
Program: 16350 bytes (99.8% Full)
(.text + .data + .bootloader)
Data: 630 bytes (61.5% Full)
(.data + .bss + .noinit)
Here is the key that helped me fit the code. I found a GCC compiler and linker directive that allowed all the unused functions and dead code to be removed. I found the directive initially on the GCC M68HC11 FAQ. It saved me from having to split out all the functions into separate files and put them into a single library.
I also met some great folks, some of whom were using the BACnet Stack at SourceForge in their products. I also saw a lot of folks using Wireshark for BACnet protocol analysis. I also got to see a lot of friends that I have made over the years.
Edit: I compiled the project with IAR AVR version 4 compiler and here are the memory usage statistics:
IAR AVR:
10 055 bytes of CODE memory (+ 36 range fill )
553 bytes of DATA memory (+ 24 absolute )
Posted in BACnet | 1 Comment »
September 30th, 2007
I used to analyze BACnet MS/TP RS-485 traffic using an HP54645D 100MHz 2+16 channel mixed signal oscilloscope because it had a deep buffer and MegaZoom which allowed me to see the data and timing of the frames. However, I have a new tool.

Howard introduced me to Digiview. The Digiview tool is a USB based logic analyzer. It permits you to view and decode signals. I set one of the signals to Async Decode, and gave the tool the baud rate, stop bits, parity of the signal. The software shows the logic signal and displays the decoded the data above the signal. The software also has time marker tools and allows you to set multiple time markers.
Using the DigiView tool and software, I am able to analyze BACnet MS/TP timing and frames with ease. I can see exactly how fast each node is responding and how long each node allows for the various BACnet MS/TP frames. I can also see exactly the content of each frame without having to decode the waveforms.
There are other mini logic analyzers on the market such as BitScope, USBee, PicoScope, and the Ant8 Logic Analyzer. Jack Ganssle wrote a review of some of them.
Posted in BACnet | No Comments »
September 21st, 2007
Posted in BACnet | No Comments »
September 3rd, 2007
Inspired by Building Bare-Metal ARM Systems with GNU series of articles, I recently ported the BACnet MS/TP datalink layer to an Atmel AT91SAM7S-EK board - an ARM7 processor - using a GCC cross compiler for ARM.
I evaluated GNU Toolchain for ARM, GNU ARM, WinARM, and YAGARTO toolchains on the Windows platform. They all have their merits, but all have some slight differences too. I followed an excellent tutorial by James P. Lynch called Using Open Source Tools for AT91SAM7S Cross Development to get me up and running quickly. Jim used the YAGARTO project as his toolchain.
I used the YAGARTO toolchain and created my own Makefile. Makefiles are an interesting bit of programming that seems to be a lost art. Any of the cross compiler toolchain builds should work with the Makefile with a slight modification to the name of the compiler (one of the differences in each of the various GNU ARM cross compiler projects).
During my travels down the GCC road, I found the GCC-AVR and WinAVR for Atmel AVR series of microcontrollers. I searched for GCC for an 8051. I found the SDCC project - Small Device C Compiler - for Intel 8051, Maxim 80DS390, Zilog Z80 and the Motorola 68HC08. Both projects are also in the Ubuntu Linux repository. I noticed that the Microchip PIC24 compiler C30 is based on GCC and the source code is available on their website.
Posted in BACnet, Linux, software | No Comments »
June 30th, 2007
We had our Summer BACnet committee meeting in Long Beach, California. We mostly discussed new addenda or responses to public review comments on addenda that had been out for public review.

Our traditional Saturday evening BACnet dinner was held at the Rock Bottom Brewary.




We had time to shoot billiards after our dinner was served.


I stayed on board the RMS Queen Mary, a former cruise ship and former troop carrier during World War II.









Posted in BACnet, travel | No Comments »
June 16th, 2007
Having just moved to San Diego, California, I’ve noticed some unique things about it that I wanted to write down before they became commonplace to me.
Traffic lights - only one light above two lanes.
Snails on sidewalks after watering - similar to worms on sidewalks in the East.
California Refund Value (CRV) - you pay extra for cans and plastic bottles, and if you take them to a recycling center after emptying them, you get money back.
Increased speed limits on surface roads - surface roads I would consider 35 or 45 mph limits are posted as 50 or 55 mph. The locals drive very fast.
Bike lanes, and lots of bikes use them.
Interstates and state highways are referred to as “The Five” instead of “I-5″ or “Interstate 5″; “The Seventy-Eight” instead of “CA-78″ or “California 78″ or “State Highway 78″.
Lots of pregnant women. I see more pregnant women here than anywhere I’ve lived. Maybe it is the weather. Maybe it is the water. Maybe it is the culture.
Lots of things are known to be toxic in the State of California. Proposition 65.
The traffic report includes delay time to get across the United States border to Mexico. The report also includes the delay coming into the United States from Mexico. Today it was a 2 hour delay.
Dr. Laura and Bill Handel are local radio hosts.
Sticks of butter in California stores have different dimensions than the ones I have seen in Pennsylvania, Georgia, Florida, Colorado, and Tennessee. Wikipedia says that the sticks are known as Western-Pack shape and are common West of the Rocky Mountains.
Posted in travel | No Comments »