|
Enhanced
5/2-day Central
Heating Programmer with
serial computer interface
|
|
Serial CLI Operation
The serial interface operates at
9600bps using 8 bits, no parity, 1 stop bit. The programmer does not
implement any handshaking or flow control. If automated control of the
interface is used it must monitor the output to ensure a CLI command prompt has
been received before sending the next command otherwise the programmer input will
overrun.
At power up the programmer sends a VT100 [ESC] c command followed by the text 'CH
Programmer' to the serial
interface and then a '#' command prompt.
The programmer uses a '#' as the
command line prompt and '?' when a Command Line Interface (CLI) command was not
recognized or was invalid. After sending a '?' a '#' prompt will always be
sent on a new line.
The CLI does not support the
backspace function or editing keys.
If more than 16 characters are entered
without pressing enter the line is aborted and a '?' prompt is sent to the
serial I/F followed by a new CLI prompt.
When the programmer is being setup
from the front panel the
serial CLI is disabled.
Commands
u[cChH] |
c - Central Heating relay
off
C - central heating relay on
h - Hot Water relay off
H - Hot Water relay on
|
m[cChH] |
c - Central Heating
program mode
C - Central Heating manual mode
h - Hot Water program mode
H - Hot Water manual mode
|
o |
display
status of heating and hot water control relays and manual mode settings for each
output. Human readable format.
|
ds |
returns
status byte in ASCII HEX. Intended for use with automated operation of
programmer via the serial interface
76543210 ;
|| ||_______ CH on=1, 0=off
|| |________ HW on=1, 0=off
||_______ CH manual=1, program=0
|________ HW manual=1, program=0
Hi Nibble
Lo Nibble
0 = CH prog, HW prog 0 = CH off, HW off
4 = CH man, HW prog 4 = CH on, HW off
8 = CH prog, HW man 8 = CH off, HW on
C = CH man, HW man C = CH on, HW on This
command will only return the combinations of Hi and Lo nibbles shown. Any
other value returned should be treated as invalid data. |
dw |
returns
number of Watch Dog Timeout (WDT) resets that have occurred since power-up
as a BCD ASCII byte.
This value is also displayed on the LCD
front panel. |
t |
display day and time |
s d hh:mm |
set time to day d, hour hh, minutes mm.
Seconds are reset to 00
day 1 = Monday thru day 7 = Sunday
|
f[ed] |
Front
Panel lock-out
e - Front panel buttons enabled
d - Front panel buttons disabled
When disabled the LCD display shows 'Locked'
in the centre of line 2. See
also
This setting is non-volatile, cycling the
power to the programmer will not clear a locked front panel. |
p |
display program
entry settings. Displays all ten program entries. Free means the entry is
not in use. Other settings are displayed using the following format.
pn [-hH] [-cC] [Week, w/E, All] hh:mm
n = program number from 0 to 9
- =no change. c or h =output off, C or H
=output on.
hh:mm time-of-day setting will be activated
|
p[n]x |
erase program
number n, where n is 0 thru 9
|
p[n] [hHcCawe] hh:mm
Example of program entry from the
terminal CLI
# p8 ech 23:55
hc w/E 23:55
#
# p2 aC 09:45
-C All 09:45
#
|
set program number n, where
n is 0 thru 9
h for Hot water off. H for Hot water on
c for Central heating off. C for Central heating on
a All days. w Week days only. e Weekend only
These entries can be entered in any order
hh:mm time to activate setting
After accepting an entry the CLI sends the program entry setting back to
the terminal.
example 1: p1 Hw 09:15
Program entry 1, HW on, weekdays only at 09:15
example 2: p2 caH 18:05
Program entry 2, HW on, CH off everyday 18:05
|
v |
send firmware version text to serial terminal
|
V |
send
VT100 '[ESC] c' command - reset to initial state
- to terminal
|
*** Commands for development and diagnostics
***
+++ these commands only available in v2.0.2
firmware +++ |
R |
PIC will do a software restart
by executing a GOTO 0x00 instruction |
w aa dd |
write byte dd to DS1307 RTC address aa
(values in hexadecimal) |
r aa n |
read and display n bytes from DS1307 RTC starting
from address aa |
q |
Set
RTC seconds register to 57 |
Q |
Set
RTC day register to 1 (Monday) and the RTC time to 21:59:57 |
H |
enter
into an infinite loop - causes a WDT restart |
Notes:
All commands are case sensitive.
All times should be entered in 24Hr format.
Example of serial terminal
session with the programmer
|