Continuing with message passing and synchronisation
Took out analog code from hlt level and made it discrete for now.
Generic messages working on HLT, Boil Valve and Crane. Put in a completed flag into the
brew steps[] structure. Also put in a waiting flag. This makes the brew task wait until
all previous steps are complete before moving to the next step. Its very cumbersome
at the moment, but there is progress and it seems to work.
Very scrappy with memory allocation, which will be a big task to analyse and sort out.
After first trial in auto. Some bugs. Just changed the priority of the brew task
(not tested) as the timing seems to be out even though it uses a delayuntil API
function.
Somehow the crane task doesnt send a message when in the stopped state.. Gotta
check this out too.
Didnt use the crane in this brew as its not complete with stir motor.
Currently tested automatic of Boil, bring to boil, crane, waiting. Different
sequences were tested successfully.
For some reason I removed a few delays in the I2C code, which caused errors,
so in future I will leave them as they were. :-S
The size of the receive queue for the brew task has been increased to 5, although
i think that 2 would be ok, they are only pointers, so no biggy on overhead.
A few little things were changed in the way messages were sent in the HLT code i think.
I also tweaked the priorities of the tasks which seems to have helped with timing etc.
Changed the following files. This commit is after the second perfect run of auto

	modified:   Flow1.c
	modified:   boil.c
	modified:   brew.c
	modified:   crane.c
	modified:   drivers/adc.h
	modified:   drivers/ds1820.c
	modified:   drivers/ds1820.h
	modified:   drivers/lcd.c
	modified:   hlt.c
	modified:   hlt.h
	modified:   main.c
	modified:   menu.c
	modified:   parameters.c
Commit after successful brew in Dec 2014.
Added untracked files
Committed after successful brew Dec 2014