Claims
- 1. A software module for visually controlling a model train motor and solenoid apparatus, comprising:
a motor that moves the model train on a track, said track having track turnouts; a solenoid that controls the track turnouts; a motor circuit that connects the train motor to a controller; a solenoid circuit that connects the track turnout solenoid to the controller; a power circuit for delivering power to said motor and said solenoids; said software module being located on a computer and further comprising:
a motor module for controlling said motor circuit; a solenoid module for controlling said solenoid to the controller; and a menued visual interface that controls said motor and solenoid modules and said power circuit.
- 2. The software module of claim 1, wherein said motor circuit is connected to said motor module, and said solenoid circuit is connected to said solenoid module through an I/O port of said computer.
- 3. The software module of claim 2, wherein said I/O port is a parallel port and said motor and solenoid modules operate the status register of said parallel port using a bitmapped addressing scheme.
- 4. The software module of claim 2, wherein said I/O port is either a game, MIDI, joystick, or serial port and said motor and solenoid modules operate the registers of said port using a bitmapped addressing scheme.
- 5. The software module of claim 1, wherein said menued visual user interface allows a user to input motor speed, motor direction, and track configuration for use by said motor and solenoid modules.
- 6. The software module of claim 1, wherein said motor circuit has pulse capability.
- 7. The software module of claim 6, wherein a duration of said pulse capability is user controlled through said menued visual interface, stored in a register, and is passed as a parameter to a subfunction within said software module.
- 8. The software module of claim 6, wherein a duration of said pulse capability is set to a default which can be adjusted by the user.
- 9. The software module of claim 1, wherein said menued software program is user-configurable during installation and operation.
- 10. The software module of claim 1, wherein said software module further comprises a parallel to serial conversion algorithm that drives an 8-bit databyte through a single dataline.
- 11. The model train motor and solenoid control apparatus of claim 3, wherein said menued software program allows the storage and retrieval of pre-set data configuration files.
- 12. The software module of claim 1, whereinsaid menued software program allows the storage and retrieval of pre-set data configuration files.
- 13. The software module of claim 1, wherein said menued visual interface represents said motors speed and direction using slider bars while said track layout and directional turnouts are represented using radio buttons.
- 14. The software module of claim 3, wherein said software module stores data existing at registers of said I/O port at the time said software module is initialized, and can restore register data of said I/O port at the time said software module is exited, thereby enabling said port to immediately be re-used by other processes.
- 15. The software module of claim 1, wherein
said menued visual interface permits the user to enable and disable selected portions of said motor and solenoid layout through a user-designated selection icon.
- 16. The software module of claim 1, wherein said menued visual interface permits the user to zoom-view selected portions of said motor and solenoid layout through a user-designated selection icon.
- 17. The software module of claim 1, wherein said menued visual interface permits the user to edit either an entire motor and track turnout profile, a motor profile only, or a track turnout profile only.
- 18. The software module of claim 1, wherein said menued visual interface is further configurable so that a visual layout arrangement represented therein can include color coding and graphical representation of accessories and other user-specific layout details.
- 19. The software module of claim 1, wherein said solenoid module interfaces with said solenoid circuit through D-type output buffers, which are repeatedly cleared at the end of every solenoid access.
- 20. The software module of claim 1, further comprising:
said motor and solenoid modules being precompiled into classes; said menued visual interface being separately customized and compiled by the user; and said menued visual interface interfacing with said motor and solenoid modules by exercising inheritance.
- 21. The software module of claim 1, further comprising:
said menued visual interface being implemented through a browser.
- 22. The software module of claim 2, further comprising:
said solenoid module using only the data and control registers of said I/O port to drive an individual solenoid.
- 23. The software module of claim 2, further comprising:
said motor module using the data, control, and status registers of said I/O port, where said status register is used specifically for addressing specific devices.
- 24. The software module of claim 23, further comprising:
said motor and solenoid modules being separated from individual motors and solenoids by tri-state buffers which are enabled by a decoder.
- 25. A method of operating a software module for visually controlling a model train motor and solenoid apparatus, comprising:
visually presenting a menued interface to a user; coordinating said user input with said software module through said visual menued interface; controlling a motor circuit through a motor module responsive to said user input; and controlling a solenoid through a solenoid module responsive to said user input.
- 26. The software method of claim 25, wherein said solenoid module further comprises:
selecting a particular solenoid to be activated; storing the address of said solenoid; determining whether the user has selected a solenoid duration; either storing that duration or using a default duration; driving a D0-DQ line either low or high depending on each bit of said solenoid address; raising an SRLCR pin of the solenoid belonging to said address; lowering an AUTOFEED—G line; periodically checking said duration against an internal operating system clock; then raising said AUTOFEED—G line; and lowering said SRLCR pin.
- 27. The software method of claim 25, further comprising:
precompiling said motor and solenoid modules into classes; separately customizing and compiling said menued visual interface; and interfacing said menued visual interface with said motor and solenoid modules by exercising inheritance.
- 28. The software method of claim 25, further comprising:
said motor and solenoid modules communicating with motor and solenoid circuits though a standard PC port of a computer.
- 29. The software method of claim 28, further comprising:
said motor and solenoid modules requesting the use of said PC port from an operating system resident on said computer.
- 30. The software method of claim 28, further comprising:
said motor and solenoid modules directly addressing said PC port.
- 31. The software method of claim 28, further comprising:
said motor and solenoid modules restoring the data, control, and status registers of said PC port to their initial state.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a Continuation of Ser. No. 09/667,633, filed Sep. 22, 2000.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09667633 |
Sep 2000 |
US |
Child |
10076538 |
Feb 2002 |
US |