Status of EPICS Enhancements
Currently Version 3.02.27 for Solaris, HP, and Windows. --- March 24, 1997
1. Menus are not loaded each time you select them. Must exit
program and restart it to load modified menus. Don't want to
do this.
Status: In process.
Fixed 2. Schedit redraws window after selecting a parts library from the
Configure menu. This takes a long time on large schematics.
Fixed 3. When you select a part to put in the schematic, the view zooms
out and pans, causing a redraw. This takes a long time on
large schematics.
Fixed 4. Need to be able to resize property list.
Status: Fixed for Motif. Also, for both Motif and Windows, the
default list size has been changed to 14, which it was in
pre-Motif and MS-DOS releases.
Fixed 5. Need to be able to select a property value from a list when a
property rules file is being used. Want to double click on the
property to cause a selection list to pop up.
Fixed 6. The values in a list in a property rules file are sorted
alphabetically by CapFast. You want them to appear in the same
order you entered them in the rules file, so that for example,
the order would be numerical, as in: 1 second, 2 seconds,
5 seconds, 10 seconds, 20 seconds.
7. Only one list of legal values can be defined for a given
property name. This is not desirable. For example:
Say, we have ai record and ao record. Both of them have one
property named "SCAN". The legal value list for ai Record is
"1 second" , "2 second" and for ao Record may be different.
Status: This would be difficult to implement, so is on hold.
Fixed 8. When a property's value is changed, the property list resets to
the top of the list.
Fixed 9. The CALC property does not handle numbers (constants) properly.
It does not accept numeric constants such as 1, 4.5, etc.
10. Speed up redraw, if possible. I know this might not be
possible, but it does seem to spend a lot more time updating
the screen than most CAD packages.
Status: In process.
Fixed 11. The following doesn't work as a rule:
(Mostly) HOPR : ( $* >= $( LOPR ) )
LOPR : ( $* <= $( HOPR ) )
If HOPR is 1.0e+8, then it objects if LOPR is 1. (And a lot of
other values. I have had to comment out a number of valid
rules because they don't work.
Status: This works, as long as at least one of the properties
(LOPR or HOPR in this example) is defined PRIOR TO reading the
rules file.
12. Reading a new property rules file doesn't clear the previous
rules. My rules files aren't very dynamic once they have
stabilised.
Status: In process.
Fixed 13. Incorporating the symbol name somewhere in the property
window. I often do bulk edits of rules and I lose track of
what symbol I am editing the properties of.
14. Optionally don't sort the properties in the properties window.
The argument for this is similar to 6 above, but is much
more important since there are more properties than selections
in a property rule, and you tend to group like properties
together.
Status: This would be too difficult to implement. The code was
written (long ago) relying on the fact that the property list
is sorted. Unsorted properties would break netlisters that
depend on the order of identical property names with different
qualifiers. All these netlisters would have to be re-written.
15. Improve the wire routing/rerouting algorithm.
I realise that this is difficult to define, but I find this
is an area in which Capfast doesn't reach some of its
competitors standards. Two things would be nice:
a. If someone connects two arbitrary ports together then
there would be a mode in which the wire would be
`auto-routed' so it:
i. Only is routed horizontally and vertically.
ii. Isn't routed 'on top of' any other wire (it may
cross wires, of course).
iii. Has corners that are snapped to gridpoints
iv. Doesn't pass over any part.
v. Doesn't pass over or `short to' any port that is not
one of its endpoints.
vi. Is reasonably short - primarily it doesn't have
pointless U-shaped detours
b. If the part is moved then all wires are rerouted to
satisfy the above constraints.
Status: In process. (This is a MAJOR project.)
16. Enter symed from schedit. When I create a hierarchial symbol,
I'd like to be able to pop into xsymed and edit the symbols.
Exiting would either return me to schedit, or more simply,
close the xsymed window.
Status: In process. Our plan is to implement the :system command,
which you could use to start any program.
17. Reload and add ports to a new symbol. Currently if you create
a new symbol you can add ports until you save it. When you
reload the drawing and select the symbol, you cannot add more
ports, but get the error "No Block selected".
Currently if you use Select Symbol to Replace and give
the same symbol name then the symbol isn't reloaded, you just
get the initial definition. It isn't even reloaded if you
change the symbol to some other one and then change it back.
This is presumably because of other symbols of the same type
may exist on the diagram - however the preferred behaviour
would be for all symbols of the same type be updated.
Status: The first part to this request, to be able to add ports to
a symbol in Schedit after the schematic and symbol have been
saved, would be dangerous. We are working on the second part,
to be able to re-load the symbol definition from file
(currently they are cached in memory for speed), so you could
add the ports in Symed and then reload the symbol definition
into Schedit (which would affect ALL symbols by that name).
18. Create split windows. I'd like to be able to show two
drawings simultaneously, in the left and right (or top and
bottom) halves.
Status: In process.
Fixed 19. Fix the floating license.
Fixed 20. The ability to add a text note box to a diagram and edit the
text within it, which I found very useful in version 2, was
withdrawn in version 3. This makes it very difficult to
document diagrams using a paragraph of text. I have had to
resort to importing note boxes created using version 2 and
editing the ".sch" files manually to change the text (very
dodgy). I can't understand why this was done, as it is like
withdrawing the comment feature from a compiler. I would like
to see this feature restored.
Fixed 21. Editing free form text using the "Text" menu requires the
whole text string to be retyped. I would like to be able to
edit the text rather than type the whole thing back in again.
This could be done by bringing up an "Edit text" pop-up rather
than prompting me for a new line of text at the bottom of the
screen.
22. Whenever the "Display" flag for a property is switched on for
the first time in the properties menu and "Move" is selected
the display zooms out, redraws and becomes unreadable. The
reason is that the default location for the display of each
property seems to be way outside the diagram. I would like to
see the default location chosen sensibly - e.g. somewhere near
the centre of the symbol that property refers to or (even
better) one line below the last property you displayed.
Status: In process.
23. Sometimes when I attempt to move a displayed property using
"Move" from the properties menu the diagram redraws and the
display of the other properties disappears. This makes it
impossible to line up these displays. Usually more than one
attempt is needed.
Status: In process.
24. If a symbol for a particular part is not found Capfast gives
(alpha up and refuses to display any of the diagram. I would prefer
stage) to see Capfast use a default symbol for such objects and
attempt to display the diagram.
Status: This has been implemented, but is still in the alpha stage,
since it can't handle rotations or mirroring properly.
25. I would like Phase 3 seriously to consider changing the look
and feel of Capfast. The editors seem clunky and old
fashioned compared to most GUI packages. Particular
improvements could be (for example):
a. Allowing you to select an object by clicking on it
instead of having to go into the "Select" menu.
b. Adding a new object to the list of selected objects by
clicking on it with the middle mouse button.
c. Moving objects by dragging them instead of having to
select the "Edit/Move" menu.
d. Bringing up the "Properties" menu for an object
automatically by double clicking on it (or pressing the
right mouse button).
e. Starting a wire automatically whenever the mouse is
clicked on a port with the CTRL key pressed.
f. Going into "Select/Area" mode automatically whenever the
mouse is dragged with the CTRL and SHIFT keys pressed.
g. Allowing a wire to be selected and repositioned by
clicking on it with CTRL pressed and dragging the mouse.
h. Bringing up the "Edit" menu automatically whenever the
right mouse button is pressed in open space.
i. Including "Zoom+" and "Zoom- "buttons so you don't have
to keep bringing up the "View" menu.
The usual defence against such improvements is that long
standing users of Capfast are used to the present look and
feel and will not like a change. What Phase 3 could do is
include a "Preferences" menu so that users can set up their
own look and feel. For example "Select object with mouse
click" could be a flag on the preferences menu you can turn on
and off.
Status: In process. Chuck has wanted to do this for years. He
thinks it is possible to make the commands invoked by mouse
actions be user configurable.
26. Add a way of scrolling back in the text information window at
the bottom of the main screen. Often, particularly on
startup, messages appear and scroll off before they can be
read.
Status: We are working on this. However, to alleviate this a bit,
there is a command line option to both Schedit and Symed
("-w#" where # is a number) that allows you to control the
number of lines displayed in the command and message area.
Fixed 27. Add a 'Default' button in the properties window that revers a
property back to its default value (and hence deletes the
entry from the .sch file).
Status: This ability already exists: by just deleting the property
(with the Delete button) it reverts to its default value.
Fixed 28. Add an option (probably via a logical variable) that preserves
(mostly) values and display options for properties when symbols are
copied or drawings are merged. I must admit that there may be
a way of doing this but at the moment I am replying from a
site without a manual, so I can't check.
Status: These variables already exist: cpyinst controls whether
instance properties (non-default) are copied with a symbol,
and wcpynames controls whether wire names are copied. They
also affect what is preserved when another schematic is merged
into the current one. The only bug in this is that while
you're positioning the merged in schematic, the wire names
will display even though wcpynames is 0, and property values
will not display, even if cpyinst is 1. The end result is
correct, though (after redraw).