Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

[9ec350]: TODO Maximize Restore History

Download this file

TODO    67 lines (50 with data), 4.0 kB

See http://wiki.ktechlab.org/ - not entirely ready yet, but I plan on moving (at least some of) the stuff in this TODO file to this wiki. This allows for better categorization, discussion, etc of ideas than a plain-text file in subversion that only a few people have write access to.

0.4 targets:
* Replace QCanvas with own optimized implementation.
* Only use IDs for items, etc, in ItemDocumentData - otherwise they lead to too many bugs.
* More intelligent connector routing.
* Variable time step in Simulation.
* Fix subcircuits so that they are saved in an itemdocument.


Bugs:
* At the moment, KTechlab auto-detects a point in the circuit to use as ground, according to a set of priorities (e.g. the Ground component has the highest priority, then voltage elements, etc etc). However, some circuits do not have any point which should be considered ground, e.g. "(+9V)-------(Battery)". Suggested solution: detect a point to have as a fixed voltage, that can be anything including 0V.
* Microbe should give "noline" where applicable in show-source (such as in delay routines).

Features:
* Bookmarks in the oscilloscope.
* Work area text: allow clickable URIs, rich text editor.

General TODO:
* optimize microbe some more?

Polishing:
* Informational message when user attempts to paste flowcode into a circuit (can't do so; must save and load into pic).
* On program startup, use "text blobs" pointing to sidebars to explain what they do.
* Update register info even when PIC is paused.
* replace "refresh rate" slider in settings dialog with standard one.


[Being worked on or soon to be worked on]

david:

electronerd:
* refactor the oscilloscope for better code reuse and so I can add a view that looks more like an oscilloscope's screen instead of a printed tape


william:
* In progress:

- variable capacitor/trimmer - Done.
- variable resistor - Done.
- Voltage Regulator - On Hold.
- bar graph display - Done.

* Future Ideas: (leave me a note if anyone wants to do any of these so I know and can remove them)

- crystal oscillator
- 16 seg display
- bridge rectifier
- opto isolator 
- Scmidt NAND
- Schmidt Inverter
- Thyristor
- Zener Diode
- Logic analyser (16 bit) and graph output
- Variable Inductor
- Solenoid ( requires animation )
- Bar Graph Display Driver
=======

The following have been brainstormed with reference to other electronics software I have used. I have found these features useful and these are all wishes for the future that may or may not be relevant to the direction the software takes in the future. I will obviously consult before attempting any of them:

- Model poperty framework for components to include things like wattage, frequency, resistance, etc... of components using specs of manufactured components, with the future goal of accurate simulation of component destruction. This will also allow a parts list to be created when a circuit is completed. Just an idea, up for discussion. 
- Allow labeling of components in circuit, eg. R1, R2, C1, C2 etc.. Maybe a caption facility.
- Right click properties for component model, values with separate value and multiplier selection to make it easier. This could be implemented in the Item editor too.
-Circuit drawing on a black background to better visualise animated wires and logic levels through wires. Different view options: voltage levels, current flow, logic levels, normal(no wire animation of any sort). 
- A means for users to create a circuit which is intended for use in a component, and to link the created circuit to a generic component that automatically creates the required in/out pins with reference to the created component circuit. On top of this, a means for users to submit new components they have created this way to allow the library of components to be built. So instead of a long list of IC's one generic one may be used with a library containing the circuits needed to simulate different types which can be chosen for example through the Item Editor.