here is a bit more unsolicited advice: - split the code into two classes: HP1000Driver and HP1000Station. the station class should do all the work - that is where the network stuff happens, and that is where the decoding happens. then you can derive a TESTStation from HP1000Station to put all the test code in. then the driver class has an instance of the station, calls methods on it, and wraps any failures into WeeWxIOError, RetriesExceeded and other weewx exceptions.
- definitely wait to do the history stuff. - eventually (after the history stuff?) you should be able to implement the configuration options too. that means that you would be able to configure the hardware using the wee_device utility. and that means you could manage the station without having to use the windows software at all. - once fully tested, this would be an excellent addition to the list of drivers in weewx core. it will be able to work right out of the box with no futzing, and it is becoming a pretty popular station. m
