Currently, the Blu-Ice/DCS project is rather open-ended regarding the specifics of adding new hardware support. Basically, adding hardware support involves writing a program that translates the Server To Hardware Messages into commands issued through the hardware controller's API. Alternatively, the Server To Hardware messages could be translated into another control system's command language, enabling a gateway for DCS to talk to another control system.
The simulated DHS project, (i.e. simdhs) is a great place to start when deciding how to implement a new DHS. It handles many of the possible hardware commands in several pages of code. Its main limitation is that it does not have handles for detector data collection related operations.
After studying the protocol, a developer may wish to look at the 'standard' DHS used at SSRL (found in the dhs project) which is used for controlling the Galil DMC 2180, ADSC Quantum 4, ADSC Quantum 315, and the MAR345. On the other hand, this code may be too heavy for a starting point, depending on your application. Specifically, the most difficult aspect of this code is that it uses the mysql database to acquire its configuration parameters. Developers are often lead to believe that a requirement for a program to be a DHS is that it somehow uses a mysql database. This is simple not true, and the 'simdhs' project is a counter example.