Project Status

replykushagra edited this page Feb 19, 2014 · 7 revisions
Clone this wiki locally

This page presents the status of the KTechLab project, including the tasks planned and completed for given milestones.

Table of Contents


  • depends on Qt3 and KDE3; both being deprecated
  • needs to clarify the multiple input XOR gate functioning
  • randomly crashes

Open bugs

Changes since release


  • Qt4 and KDE4 port


In the spirit of "Release early, release often"

Milestone 1 Functionality

  • circuit related
    • create new circuit
    • place components on circuit
      • only a subset should be enough
      • resistor, voltage source, capacitor, inductor, ground should be enough
    • ability to connect components with connectors
    • simulate the circuit

Milestone 1 Tasks

  • Allow and define the storage of current / voltage values in the circuit table model
  • make the simulator place the current / voltage values in the table model
  • make the GUI use the value from the circuit table model, for drawing the current + voltage markers
    • attention to object access in multithreading
  • make ktechlab plugins load consistently on all software configurations
  • make unit tests for all the available components
    • document the list of supported components here

Milestone 2 Functionality

  • open circuit
  • save circuit
  • more components
    • preferably nonlinear and IC
  • Fix bugs related to milestone 1 features

Milestone 2 Tasks

  • implement circuit loading
    • mostly done already; it shares a lot of code with the new circuit functionality
  • implement circuit saving
  • test compatibility with ktechlab 0.3 series
    • implement unit tests for circuit opening and saving
  • implement/port more components
    • document the list of supported components here
  • also consider the feature request #12 Forward voltage drop for LEDs

Milestone 4 Functionality

  • Pic simulation

Milestone 4 Tasks

  • Integrate with GPSim
    • Figure out a way to nicely manage the list of PICs supported by GPSIM
      • PicInfo* classes needs to be simplified -- there are too many of them
      • try to make the list of supported PICs dynamically generated, in order to match the capabilities of the installed GPSIM

Milestone 5 Functionality

  • Flowcode

Milestone 5 Tasks

  • implement/port flowcode objects
  • implement/port conversion of flowcode to program code
    • which programming languages does flowcode support in 0.3 ? C, ASM, microbe? implement the relevant ones
    • consider backwars compatibility with 0.3 series, especially for microbe files
  • flowcode
    • porting the user interface
    • conversion between flowcode, C, ASM and binarty needs to be fixed; currently the algorithm is unnecessarily complicated

Milestone 6 Functionality

  • interactive components, like button, switch, ...
  • passive elements on the circuit: text, arrows, shapes

Milestone 7 Functionality

  • port all components of the simulator
  • SVGs for all the components
  • fix #20 3+ input XOR gate bug
    • adding configuration option would be the best

Milestone 8 Functionality

  • Oscilloscope and probes
    • probe window
  • unit tests with input test signals, and compared output

Milestone 9 Functionality

  • Debugging program code on microcontroller with kdevplatform and gpsim

TODO, add more milestones, as needed...


  • fix all bugs
  • documentation
  • testing


  • GUI framework -- based on KDevPlatform
    • file association seems to work randomly -- maybe more tweaks are needed for the future
  • basic plugin structure
    • plugin loading is magic -- maybe some hardcoding can help with it
  • port the simulator core


  • signal plots
  • basic electronics course should be doable with ktechlab