Bob,
You could copy your multi-page fine printed list* here and let us chose,
say, five items.
Well, since you asked...
Jon is referring to a "to do" list that I keep for JMRI/DecoderPro.
It's in a little database, so not easy to really show well in an
email, but I've dumped it below. In cases where there's some context
needed, e.g. I've assigned guilt to some element, there's a comment
to that effect in (). This is a little terse, as it's made from a
working document where I just jot down things I don't want to forget.
It's got about 200 items on it. Most are quite small, like a fix to a
small bug I don't want to forget, adding a missing test, etc. But
some are really, really large.
Bob
(Windows .bat files) Line-end problems when directly copying, reading from CD
Write README parts of LocoNet server, update web pages
Ant target for making update distributions
(PaneProgFrame) lifting read/write All doesn't stop until pane is
done (never, if pane is in error loop)
Pane Prog memory usage high again. Missing dispose? Scrolling?
Can't set baud rate on too many machines; try another javax.comm e.g. rxtx
(AllTest) TurnoutIcon test fails when running from Ant; resources missing?
Should default logging level be ERROR? MarkG things it should never
really issue messages?
LocoIO config frame and XML files
(LocoIO) Add support for B2 output (send OPC_INPUT_REP)
Build infrastructure for EasyDcc web access
LocoNet health counters for display (suggested by Alex Shepherd
2002-04-14 email)
(Lenz) register mode in programmer
Ant target for making distribution CD
Understand Jon's suggestion about using the User ID CVs for decoder
identification
(Decoder definitions) Provide version-number-controlled options, e.g.
"present for version > N", etc.
(Layout) Connect layout to Turnout manager via messages from TurnoutManager
(LocoNet) Move initial Manager config out of
LnTrafficManager/PortAdapter for simplicity
Merge Alex's autostart rmiregistry into startup scripts
Create a utility strings package to handle parsing, hex output formatting, etc.
(jmri.jar) Is this getting large due to the resources/ files? Are they in CVS?
(rmi) Apps need to be rebuilt with JVM options?
Roster management code
If you save a Loco as a new ID, you should get a _new_ entry (old
still exists)? Or provide another way to copy, and warn user
Need a way to import new roster files. Part of Update? How tell
backup files? Also, clean up backups
Does readonly work for enums?
MacOS X comboboxes aren't recolored when not selected.
resize leaves CV table all messed up
ReadSheet on CvTable pane doesn't do anything
Speed table not updating when CV changes? Editting on CV pane
doesn't generally work
(Speed Table) force left / force right to be monotonic happens even
when reading CVs, so the plot doesn't go white, show what's there
(CvTable, dirty bit, readonly) A write-all still prompts for "some
not written", perhaps because CV7,8 still show yellow?
(Readonly) You can write a read-only CV from the CvTable, and it then
shows OK with the value you set
(Readonly, decoder .xml) Readonly CVs 7,8 show as zero & yellow in
the CV table when it starts up, not a reasonable value
(symbolic programmer) Text suite needs to be reliable
(Cv Read, DecoderPro) only retry a CV read once, rather than getting
stuck in a loop
Ops mode programming
TL1 function control needs to map to function selection pane.
Config/monitor window for the NCE packet monitor board
(PaneProgPane) XML option "don't display if empty" default to display
(SpeedTableVar) put text fields in addition to sliders? Alt rep?
(LocoIO) decimal address column, kept in synch with hex, op code
(PaneProgFrame) Put info in frame title: File, decoder name, versions?
(C/MRI) Doc architecture: Polling, multiple items in one command,
need config to tell input from output
(sf feature request) Reset to linear button on speed table
(sf feature request) Tick marks and/or scale on sliders
(sf feature request) Numeric echo of slider values in speed table
(communications) Add a verification at startup that asks for some
kind of version info and retains it, plus accessor
(TurnoutTable) Neeed for configuring names, showing lots of info in a
small place.
(LocoNet programmer) Apparently Ops mode _can_ read if transponding is in use
(decoderdefn) better handling of large families of decoders
(Installer) Windows installer
(Macintosh) Updater vise updater - make it easy to create, start creating
(Windows) Updater Vise updater - make it easy to create, start creating
(Throttle) LocoNet reference implementation
(Interfaces) Write-up description of two-layer architecture, system
names, Manager approach to access
display background picture
display general config load & store
(config) Document the config package
(jmri) Multi-bit inputs, outputs
(jmri) general-purpose output interface above Turnout
(app) LocoTools app
(javaDocs) Add package.html to packages - start with README contents
(JavaDocs) get overview.html to work
(jmri) Occupancy interface, connect to Sensor implementation
(Xml) XML defines class, element passed to ctor. That then handles
subelements. Do always, even when structure simple, to provide
encapsulation. May need to add grouping-elements to map to classes
whell.
NCE has "programming mode". Should entry/exit be explicitly
supported? What does EB do?
dispose() for local class in DecVar, Long Var, hexVar, Speed var
List.clear() in dispose() methods
pane prog config doc 3 examples of address: All 3 vars;
combined var; two addresses with radio boxes next to them
Directional Headlights variable is like a function mapping. Make sure
it can be mapped. Also, see TL1 mapping as enum
DH083 config file?
Read-only variables start off with what value? Do they update in
read? Need to get right before putting on pane
Need to say that certain variables are readOnly in ops mode?
Read sheet/all should read readOnly vars, set state. State should
also color, esp. initially
Ops mode, EvtBlder can't read. Should be a question you can ask the
programmer object. What does EB2 say on LocoNet?
Can we add a faint grid to the fnMapping widget?
Programming really needs a progress bar with a stop button.
Provide a sample decoder file that's got all the "names" variables,
since its easier to delete than add
Sample programmer file, to show what you can do, keyed to the
ConfigFile.html file
show version, other id of programmer and decoder files in use
Better documentation of how fnMap looks at the decoder file
(Common Sel Pane) After you've done identDecoder, how can you get
back to the full set of decoders in the ComboBox?
Mark wants to see programmer, decoder versions on screen somewhere
All Frames should have removeAll in their dispose() methods
All Frames should have a dispose() method
All Frames need to dispose when they close, so they need registered
close handlers
Gray out 'read' buttons when working with EB
Document to web the "label" attribute of output element, esp for wire labeling.
Mark G things programming mode selection is too obvious
EasyDCC should default to paged ID, while others default to register
jmrix.loconet Programming collisions need to be sorted out, e.g. two
requests for ops programming at same time, hitting a read button
while another window is reading.
jmrit.*.CvTableModel Problem in PaneProg. Display/edit is all messed
up. Should cells _inherit_ from Swing Components?
jmrit.*.PaneProgPane CV pane changes don't update variable display.
Thought to be due to same old text edit blindness, as some changes do
propagate.
No separators on MacOS X, Classic L&F
Is there a problem when you lift the "readScreen" button while
reading the speed table sliders? Doesn't stop
Changing Roster Entry pane fields doesn't set file-dirty
Instructions/support for building a program based on JMRI. First
example: simple signalling?
Ask NCE groups for Open Source ops prog pkt code, as somebody
probably has written it
Some variables control whether others appear grayed out or not.
Enums, also small digital values. How to represent?
Allow variable to "control" a row/column; display as BorderedPane
Get permission for locomon to show PM4 messages; Leonard Kerns requested
Add a preference for "fixed screen size", so they're always full screen
Need a clean shutdown mechanism, closing all windows, so all dirty
checks are made
PaneProgFrame "tooltip" item is in docs, but not yet presenting -
provide a connection to comments?
Split roster pane into individual, specifiable variables would allow
you to have a "walk through for beginners" programmer
rethink panes in decoder files. Instead, have them elsewhere, but
allow references to the files in decoder file?
LocoNetAdapter Has error handling and reporting that's not in NCE,
MS100; move to a common base class.
PaneProgAction move the preload of various things out of this, or at
least figure out a way to make sure they're not duplicated by other
actions
(jmrit.symbolicprog) Update to use New/Found Frame at startup
(jmri.symbolicprog) Symbolic (table) programmer use split pane
layout, perhaps side-by-side?
Confirm button should show value from memory, but set color on difference
Allow info pane to be put anywhere
CV table shows CVs in order from the file; numeric order would be better
loconet.SlotMon will need table updates
Empire Builder can't read - how handle that?
Digitrax TD1 decoder file
Digitrax TL1 decoder file
Digitrax DZ121 doesn't have direct mode
Some of the sound CVs need a capability of graying-out a variable if
another is on/off; tooltip?
XmlFile parse errors are exceptions, which propagate up to a higher
level. Can some of this be centralized?
(PaneProgFrame) needs some progress bars or similar so you know how
its doing during programming, startup
(jmrit.*.VariableTableModel) Display/edit is all messed up. Should
cells _inherit_ from Swing Components?
Remove Vector in favor of ArrayList, array where possible
Create a ABC for platform-specific behaviour, where you fill the
methods & ctor invokes
Mark Gurries suggests an "Add panes" item. In menu? Allow initial
ComboBox to have multiple selections? Maybe prog file is pointer to
pane files?
Sensors/Inputs Need an "override" capability to change the expressed state until the next real change
Get Jbuilder CVS working
LocoNet message parsing mess, redo along NCE model
(jmrit.*.AbstractValue) Lots of *Table tools are in PaneProgFrame,
PaneProgPane - should live in an AbsValueTable?
ABC for both symbolic programmer (renamed table programmer?) and Pane programmer?
Pull JDOM definition of test cases from test classes to single place
NceInterfaceScaffold is in NcePowerManager; move it to file of its own
PaneProg tests directly invoke setUpDecoder from DecoderFileTest
Check how DecoderFile interacts with other classes; hint that
VariableTable, CvTable are right tools for interchange?
Check how DecoderFile creates its full information; is it really
obeying open/closed?
Break monolithic DecoderPro config into parts
Ugly hack in LocoFile.loadCvModel so that LongAddr shows as FromFile
after read from file.
dccAddrPane has ugly hack to register variables in PaneProgPane
create row/column code. Also, reads longaddr when not needed (slow)
Set Mac filetypes to "TEXT" when writing file
symbolic (table) programmer uses same start-up code as pane programmer
(ConfigFile.html) Add more info to ConfigFile docs
(jmrix.loconet.?) Tool for convenient "status editting" of locos
Roster management tools: Delete an item, import a file.
Start a manual!
Check loco ID before writing
(PaneProgFrame) add a preference item (?) specifying a "read loco
address" confirmation before writing
(VarValue) Config entry for colors, for mapping to states
(LocoFile) Investigate .dec files, which seem to be Excel-compatible
output from PR1WIN? See JMRI mailbox
(jmrix.loconet) DT100 throttle sends SW_REQ_ACK, has separate ON &
OFF commands. Should we do this?
ABC for PaneProgrammer Panes
FnPane needs a Test routine
(SymbolicProgFrame) has a writeFile operation that should be deferred
to LocoFIle
(Variables, VarTableModel) This really has to be cleaned up; not
overlaps in setRow and setConstant, and code dup throughout
Roster update button on PaneProgrammer entry frame is disabled
Document .lcf file, how to control logging, categories
(loconet.SlotManager) needs tests, esp. of programming packets
(PaneProgFrame) When you lift readAll/writeAll, the current pane
completes its read/write. Should stop faster
NCE command station configurer like "commando"
Max/min handling in dec, hex variables (part of text edit update?)
(JDOM) Is JDOM not thread safe?
Restrict file choosers to possible files
Visual (video) block ID
Some kind of LocoPalm connection?
Monitor window scrollbars should stay at the bottom as new items
added (SourceForge item)
Can't copy from monitor window on Macintosh (SourceForge item)
jmrix.loconet.? Not handling turnout feedback completely, only has the one form
(lots!) Protect text fields from invalid entries, e.g. non-numeric
(jmrix.loconet.hexfile) Hexfile should create a debug programmer
before you open the file to ease testing
(jmrix.loconet.SlotManager) Slot manager state model not good, LACK
not handled robustly
If you close MS100 et al before selecting something, show a warning dialog.
Update logo on web pages - see home.html, home2.html
Printing support
Roco Crane controller!
Use block detection to switch reversing-section PM4, removing
hesitation? Is there a hesitation?
has TrainProgrammer, which uses a Tree
interface, has nice speed graph
jmrix.loconet.? DS54 programmer (search mail in JMRI folder)
jmrix.loconet.? Chief configurer (See Digitoys-systems.com/Chf_Download_e.htm)
jmrix.loconet.? Digitrax consist manager (see Wielgus email 12/7/01,
loconet_hackers files)
Throttle implementations; a key part of getting the interface right!
"About" handler
Program icons for Classic, OS X (iconeer?), folder icons (Folder Icon X?)
JMRI, jmri creator codes to be used
Better menu control in demo, with only available system-specific tools active
(PowerManager) Subdistrict support, esp for PM4 subdistricts
(PowerManager) TRIPPED state, e.g. off-due-to-protection-circuitry,
not because it was commanded off
(PowerManager) Is there a state for "power is on, no packets being sent"?
(PowerManager) Feedback: Loconet knows real state from network; NCE
just knows if commanded; could actually measure! Like for turnout
(Digitrax) Route programmer - use a trace to figure out what the throttle does
periodically, check memory growth and update dispose() tree as needed
Layout monitor for decoding DCC packets?
Sensor/SensorManager semantics
Sensor/SensorManager tests are still (?) based on Turnout tests,
hence erroneously passing
DS54 pointed out that having non-contiguous enum values would be
nice; DS54 now to be handled differently
Support for 'options' in decoder definitions
Packet generator at
--
--------------
Bob Jacobsen (Bob_Jacobsen@..., 510-486-7355, fax 510-495-2957)