Hey folks,
I had a look over the repository to see what can be cleaned up or should
be moved. Here's what I found in the current repo, along with where I
think it should end up.
trunk/source/
This contains the firmware from trunk, which hasn't seen any
development for a long time. All changes here seem to have been
merged back into rfmsrc/, so this can be deleted.
trunk/playground/
This contains a universal AVR bootloader, which I don't think is
really relevant anymore. Let's delete it.
trunk/doc/
This contains documentation about the hardware and development
process, which still largely relevant.
tools/hr20cmd/
This seems to be a commandline tool that talks to the openhr20
firmware through a serial port connection. It's mostly a
convenience wrapper for serial commands. I'm not sure how
useful this still is (I'd rather have a python script for
something like this anyway). If we keep this, we could perhaps
put it in its own repository, or just keep in in tools/hr20cmd
in the new repo?
branches/before_refactoring_1/
This is an ancient branch that seems to have seen only one
commit. Can be deleted.
rfmsrc/bug_test/
This seems to be some test code that doesn't seem relevant to me
anymore.
rfmsrc/bin/
This contains just a README. The directory can be deleted (and
autocreated by the Makefile if needed) and the info from the
README should be integrated somewhere else.
rfmsrc/common/
This contains some source code common to the "master" and
"OpenHR20" firmwares. This is rather generic code, like RS485,
protocol, RFM hardware code, EEPROM access code, etc.
rfmsrc/doc/
This contains mostly documentation about the RFM protocol used
and the various was to connect the RFM hardware to the HR
hardware. It also contains the hardware design for the master
board and the expansion board.
I guess we should just keep this around as-is. A bit
more consistency and some cleanup wouldn't hurt, but that's
probably more work than it's worth right now.
rfmsrc/frontend/
This is a PHP webapplication that can probably be used to view
info and configure the thermostats. It talks to the thermostats
using a separate daemon, also written in PHP, that talks through
the serial port to the master board (and perhaps also to
thermostats directly?)
This should certainly go into a separate repository.
rfmsrc/master
This is the firmware for the master board. I'm wondering if this
should stick around here, or be put into a separate repository?
The downside of the latter is that the common files can no
longer be shared, of course.
rfmsrc/OpenHR20
This is the actual OpenHR20 firmware for the thermostats. This
should probably become the root of this repository, or if we
keep the master code in here too, remain a subdir.
So, what's there to keep?
- Documentation. This should be put together in the main repo for now.
See below about next steps for documentation.
- The main firmware code. This should just stay in the main repo.
- The master firmware code. I'm inclined to move this into a separate
repo?
- The PHP frontend, this should go into a separate repo.
Thoughts?
Documentation
-------------
I think it would be good to collect all info that's floating around in
a central place. I'm thinking to either use the wiki on github, or
just keep the docs in markdown format in the repository itself. A wiki
might be easier for others to edit, though having documentation changes
go through the usual pullrequest / review process might be good as well.
Any thoughts?
Other resources
---------------
http://www.mikrocontroller.net/articles/Heizungssteuerung_mit_Honeywell_HR20
Contains some documentation about the implementation process, as
well as (seemingly) complet documentation about the serial
protocol implemented by OpenHR20.
http://www.cornelius-consult.de/hr20_doc.txt
Some notes about the HR20 hardware and original firmware.
http://piontecsmumble.wordpress.com/?s=openhr20
Some tutorials about setting up OpenHR20, the master board and
the PHP frontend.
https://www.smarthomatic.org/wiki/doku.php?id=hr25_thermostat
Some info about opening up the HR25 and connecting an ICSP
header (to allow programming through ICSP instead of JTAG).
https://sites.google.com/site/slangey/misc/honeywell-hr25
Some hardware documentation about the HR-25. Also has some info
on the HR-30.
There's also a PNG of the HR20 schematic available. Does anyone happen
to have the eagle files for that lying around? I _think_ I didn't see
them anywhere...
Gr.
Matthijs