Apex Destiny-6100
Apex Destiny 6100 is an alarm system.
NOTE: This security panel *should* be supported out of the box using the 6100ICM and applying the VistaICM device to it. This needs to be tested by someone who has this security panel and can confirm that the 6100ICM works out of the box.
Installation
In order to setup the Apex system, you first need to connect it to a power supply, set the sensors and tie them to the inputs on the board from the panel, and also connect the wall panel to the main panel. You can find a very thorough description in the installation manual supplied by HoneyWell (can be downloaded in the support section of the security site).
The configuration can be done either using the wall panel, or a computer and then upload it with the special software HoneyWell supplies. What interests us more, though, is communicating with the panel directly through the serial RS232 protocol.
Destiny 6100 RS232 protocol
In the same support section, you can also download the specification for communicating to the panel through RS232 (filename k1231.pdf at this time). There is also a simple application you can use to verify the command string syntax (explained in k1231.pdf), as well the fact that the panel is set up to receive commands through the serial port.
There is a special board that has to be mounted on the main board in the panel's case, in order to get a RS232 connector. You can plug an RJ45 cable there, witch goes to a serial converter (or any other way you can plug it into your computer, we used the to serial converter as well as a RadioShack USB Serial cable).
After setting this, use the software to make sure the panel is set up correctly. You first have to connect to the correct port, then start sending commands. If everything is ok, you should here the vocal confirmations from the panel. If you don't, check the yellow led on the board, the one that's the closest to the RS232 extension. This one should blink the instant you send a command. If this happens. most probably you don't have the proper jumper setting on the RS232 extension board. It should connect the pins that are closer to the box edge.
In the document you can also find a short C program that builds command strings (there is a checksum that has to be added to the command string) that can be sent directly through the serial port once you got it working.
Figuring the protocol up
The communication protocol is pretty simple, but there is a section not so well documented, more exactly section 5.8. You can find the specifications for most memory locations in the Installation Instructions (page 36). Still, there's no info about fetching zone data in there (they say configuring the zones can only be done through the wall panel control - page 23 of the same document).
Using the memory location access commands, we took a snapshots of the memory (you can only query 32 - 0x20 - bytes at a time, so getting a snapshot over the serial port takes a bit of a time) and reverse-engineered the memory map.