CLASSIC LADDER PROJECT
Copyright (C) 2001-2010 Marc Le Douarain
marc . le - douarain /AT\ laposte \DOT/ net
http://www.sourceforge.net/projects/classicladder
http://www.multimania.com/mavati/classicladder
http://sites.google.com/site/classicladder
---------------------
FUTURE / TODO LIST...
---------------------

- Modifs EMC 2010_08_20 on many things to look at...
  -> Serial Data/Parity/StopBits (Linux & Windows OS).
  -> VarFloatArray

- Modbus master not really ending after loading project without modbus
  (and in ConfigSerialModbusMaster(), close device if no more serial used in project?).

- Should start per default without project and stopped (except if project filename parameter given).
- Project file to start with, can be set in options (buttons "select this project to run per default"/"none")
  stored in a "classicladder.prefs" file. (reuse config.c no more used...!)
- Save/restore windows positions+opened/closed state in same "classicladder.prefs".

- Log event never finished if present and a "reset" is done (a new is created).

- Optimize CPU usage: no periodic refresh if not running (in edit, send "update signal" redraw when
  something done)
  + scan rung in calc.c only the horizontal parts of rungs (nbr of lines) where there are some elements.
- vertical display optimization (nbr blocks no more fixed) depending of the elements present on the rung
  (but during edit, always displaying current edit with nbr of lines maxi).

- Date/Time for modbus frames Tx/Rx in console (why not for all log debug, and use something else than printf...?)
- stats nbr frames average exchanged per second, for modbus master. 

- Log part develop to end (load/save log binary file & cleanup ) + add "VarType" in event config file (even if not used for now...) + mutexes?
- Log of integer variables (with a period time) + graphical display (with a gtk component like gtkdatabox?)

- Svg/Png export, should call draw functions with a new option DRAW_FOR_EXPORT (used when expr not drawed entirely on bottom instead of right margin!)
- Review all variables names to be in conformity with IEC61131.
- Add symbol bubble help on checkboxes in 'Spy bools' window.
- Shift/Rotate functions.
- a new window variables browser, used for help, listing all them, and to select one directly.
- to add a button to display a readme file about the currently loaded ladder file. Then someone could
  write a description of a ladder program in a text editor and name it 'my_program.clp.txt' and the
  button would load it (Chris Morley suggestion).
- Mouse wheel for vertical lift usable, from everywhere.
- For the library, defining 4 functions pointers for I/O access instead of some duplicated
  code?
- Modbus/UDP mode support for the server & distributed I/O.
- To be able to connect the interface to an "embedded" version, to display, modify, upload, etc...
  (absolutely no idea for now, how to do all that with the current architecture)
  Java applets on web server ? Text frame (JSON?) with rung content exchanged or bitmap picture rendered on target?
  SVG rendering with the cairo drawing ?
- Perhaps bug in project split if empty file?
- Search/replace function on a variable, cross-referencing, ... things like that...?
- Contextual popup menu when clicking on an element (Heli idea) for search and also spy directly...
- Float variables support (%F, %IF, %QF) + in the evaluator...
- Adding I/O filter value in ms on each line in config input window.
- Do not allow to set/reset state of (by clicking on) input/outputs/bits "used"...=> perhaps replaced by next line feature? but it's easy in simul!
- Forcing (or setting in english?) of variables possible (physical inputs/outputs or all...)
- A new script/text language available for a section (lua?)
- Your ideas, improvements, bug-fixes (?!?!), etc...




