home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 3
/
CDPDIII.bin
/
fish
/
881-890
/
ff887
/
x10commander
/
x10.doc
< prev
next >
Wrap
Text File
|
1993-07-16
|
12KB
|
272 lines
July 1993
X10 COMMANDER
by Gregory MacKay
What is it?
X10 COMMANDER was created to allow owners of the X10(R) CP290 HOME CONTROL
INTERFACE to program the 128 event capable interface or send direct
commands through it to control lights, appliances, etc...
_____________________________________________________________________________
COPYRIGHT NOTICE:
This Software is protected by copyright law. It may not be copied or
used for or in connection with any commercial purpose. Any other use is
subject to acknowledgement of the author:
Gregory MacKay
10 Cedar Road
Gloucester, Ontario
Canada, K1J 6L4
(613)746-8821
X10 COMMANDER is freely distributable provided the program and
this documentation remain together and are not modified in any way.
_____________________________________________________________________________
The program can be started through the CLI or the WORKBENCH. No parameters
are required. The stack setting should not be a problem, but if you do
have any then try increasing the stack.
The CP290 interface must be connected through the serial port for the
X10 COMMANER to work. If it is not connected then X10 COMMANDER will
display a warning message and exit.
If you don't have a cable, one can be made very easily as follows:
*** SOLDERING REQUIRED TO MAKE CABLE ***
Locate the connector type under SERIAL PORT in the Amiga User's Guide.
Most Amigas use the DB25 male connector (standard RS232 serial connector).
Locate the connector type in the PROGRAMMING GUIDE FOR ADVANCED PROGRAMMERS
that came with the CP290 interface. The connector is a 5 pin DIN socket.
Both these connectors can be purchased at most electronic stores. As for
the cable, as long as it has at least three thin wires it should do.
I used a regular telephone cable which has four wires in it.
Connect the DB25 pin #2(transmit) to the 5 pin DIN socket pin #2(receive).
Connect the DB25 pin #3(receive) to the 5 pin DIN socket pin #4(transmit).
Connect the DB25 pin #7(ground) to the 5 pin DIN socket pin #3(ground).
OR if you haven't purchased the CP290 interface yet, then I believe the one
designated for the Apple Macintosh has a compatible cable(DB25 male).
I haven't confirmed it though, so you had better double check at the store.
OPERATION
The X10 COMMANDER was designed to be as intuitive as possible. All actions
are mouse driven.
When X10 COMMANDER is started, the Base Housecode, current Time and Day will
be uploaded to the program and displayed.
Only one event will be active and the LOCATION text box will be activated
for input. If the number of events exceeds ten, the scroll bar can be used
to access the hidden events in the list.
Command acknowledgements and errors are displayed in the MESSAGE BOX.
The housecodes range from A through P and the unitcodes range from
1 through 16 and are used to select the module to control.
The time can be set with two slider knobs, one for hours and the other
for minutes.
A box to the right of the slider gadgets contains the time values.
Days (SUNDAY through SATURDAY) can be selected by clicking on the buttons.
When using days with WEEKLY and SECURITY, don't forget to pick one or more
days or the event will not function!.
Modes (WEEKLY, SECURITY, TODAY, TOMORROW) can be cycled through by clicking
on the button. (NORMAL, which is used in the programmers guide has been
changed to WEEKLY for clarity).
WEEKLY: will perform it's function on a weekly basis on the days selected.
SECURITY: same as WEEKLY except it executes at a random time, from within one
hour after the time specified.
TODAY: will execute the event on that day only. Selecting days has no effect.
TOMORROW: will execute the following day only. Selecting days has no effect.
Functions (ON, OFF, DIM) can be cycled through by clicking on the button.
ON: turns on a module.
OFF: turns off a module.
DIM: turns on a module at a specific dim level. (only lights can be dimmed)
The DIM slider knob sets the dim intensity. 0(full dim) to 15 (full bright).
NOTE: The dimming slider gadget in X10 COMMANDER works the opposite way than
in the interface. Since it's easier to think of 0 being full dim
and 15 being full bright, it was changed from 0 being full bright and
15 being full dim.
* IMPORTANT *
When issuing commands, the values used are taken from the event currently
selected. Therefore, if you decide to use an event that contains valid data,
then don't forget to return the data to its former values.
The safest way to issue a command is to ADD an event, set the data to the
desired values, execute the command and then DELETE the event. This way
you don't interfere with events that contain valid data.
Commands in X10 COMMANDER use only the data required for their execution.
Most commands do not require any input.
The following is a description of each command and the input required for
proper execution:
GET CLOCK AND HC: no input required
This command will upload the Base Housecode that the interface was last
set to, and will upload the current time and day from the interface.
Both these values will be updated in the program's window.
SET TIME AND DAY:
Input: HOURS,MINUTES and ONE DAY ONLY
To execute this command, use the slider knobs to set the HOURS and MINUTES
and select which day (ONLY ONE) from the seven buttons at the bottom of
the window. The buttons range from SUNDAY through SATURDAY and are toggle
select, meaning the button will switch from selected to unselected with
every click of the mouse.
UPLOAD EVENTS: no input required
This command will upload the events currently stored in the CP290 interface
to the computer and will load a file which contains text descriptions of
each event. This text file is created when the download command is executed
and is neccessary since the CP290 interface has too little memory to store
the descriptions. If it is the first time you use this program with the
CP290 interface and the interface already contains events, then
X10 COMMANDER will load the events and assign a name for each event.
ie. EVENT 1, EVENT 2, EVENT 3... This command may take some time to
complete depending on the number of events required to upload.
DOWNLOAD EVENTS: no input required
Will download all events in the list. When the download is complete,
a file containing the LOCATION and DESCRIPTION text will be written
to disk. The file is named 'X10Download_text' and will be used as input when
the UPLOAD command is used. This command may take some time to complete
depending on the number of events required to download.
ADD EVENT: no input required
Will add an event to the list. When an event is added, it is inserted at
the currently selected event, pushing the selected and all subsequent
events down by one. Using ADD EVENT and DEL EVENT it is possible to group
events to your liking.
DEL EVENT: no input required
Will delete the event currently selected from the list.
LOAD: no input required
Will load events that were saved with the SAVE command. A requester will
appear asking for the file to load.
SAVE: no input required
Will save all events currently listed to a file. A requester will appear
asking for a file name under which the events will be saved.
DIRECT COMMAND:
Input: HOUSECODE, UNITCODE, FUNCTION
This command allows house lights, appliances, etc. to be controlled at the
click of a button (THIS BUTTON). Select the HOUSECODE and UNITCODE of the
module you which to control, choose a FUNCTION (ON, OFF, or DIM)
and click on the DIRECT COMMAND button.
If DIM is selected then also select a DIM value. Values range from
0 (full dim) to 15 (full bright). The DIM function may take some
time (about 5 secs), be patient.
CHANGE HC:
Input: HOUSECODE
Will change the Base Housecode. The Base Housecode is used by the rocker
keys on the interface. It is initially set to A when the interface is
powered up. This command is a destructive one. When this command is
executed the CP290 interface will erase all the events it contained.
However, the list of events in the program will remain available so all
that needs to be done is to re-download the events.
SELF TEST: no input required
This command will initiate the self test diagnostic routine of the
interface which will check it's hardware and software(firmware).
When the self test executes it writes test data destroying all events.
Again, the list of events in the program will remain available so all
that needs to be done is to re-download the events.
Be patient, it may take about 10 seconds to complete the test.
The response will be either 'Interface OK' or 'Interface fault' or will
not respond at all, in which case you may have to reboot.
If you receive the 'Interface fault' message or get no response, then it
may be wise to return it to the store you bought it from as it might need
to be repaired or replaced.
COMPATIBILITY:
X10 COMMANDER was designed to be compatible from OS 1.3 and up. I've tested
it on my A1000 and my A4000 with no problems.
Requesters will function according to which library resides (ASL,ARP,NONE).
ASL library is the best of the bunch, while ARP is not quite as pretty and
no requester library is of course an ugly affair, but manageable.
TIPS:
If you'll notice, there is no 'NEW' option to start a new list. I did this
because the program starts with the list at 1 blank event and also because
space for more buttons was getting tight. So, if you need to clear the
list, either quit and restart the program or delete the events if there
aren't too many.
If for some reason the CP290 interface contains invalid data and you upload
it, then you will need to clear the interface of this bad data. To do this
choose 'CHANGE HC' or 'SELF TEST', if you choose 'CHANGE HC' make sure you
pick the Base Housecode you want before executing this command.
After doing this quit the program and restart it because the erroneous data
will cause the program not to function properly.
All communication from the computer to the CP290 interface and vice versa
is synchronous. When a command is sent to the interface, the interface
responds with an acknowledgement. In some rare cases that acknowledgement
for some reason or other may not complete (It's never happened to me but
I have simulated it). In any case, if this happens you will notice that the
program is locked up. To clear up the problem, press one of the rocker keys
on the interface which will cause it to send another acknowledgement and
complete the program's command. You may get a 'serial error' message but at
least your up and running again.
All mouse button actions are buffered, meaning you can click on as many
buttons as you like and they will execute in sequence, one after another.
ACKNOWLEDGEMENTS:
The code for X10 COMMANDER is all mine except for the file requesters which
I got from the AmigaWorld Tech Journal "Easy File and Font Requesters" by
Willy Langeveld in Volume 2, Number 2, April 1992 and support disk.
I would like to thank Willy for his excellent article and code which I
integrated into my program with no fuss at all.
I would also like to thank AmigaWorld for publishing the article and for an
outstanding Amiga Technical magazine which unfortunately is no longer being
published.
So, I hope this program will be useful to Amiga users who use the
CP290 Home Control Interface. It's my little contribution to the Amiga
Community and the Amiga computer. ENJOY!
I can be reached on GENIE as 'G.MACKAY1'.