Instrumentino/Smart Terminal Challenge

From OpenCircuits
Jump to navigation Jump to search

What

I am an outsider to Instrumentino but the author of the Python Smart Terminal. I suspect that neither program has been used by much of a community outside the sphere of the authors. Why do I think this? Because neither is documented either internally or externally for an outsider to come along and use it. Both are just big tangles of code with no clear doorway in. I am going to try to fix this hopefully with the author of Instrumentino. I am going to try to do this for both projects ( except for the internals of Instrumentino which will be up to its author )

So what would be the ideal ( which I will not achieve in a finite amount of time )

External Docs

This is perhaps an ideal, we do not expect to actually achieve the ideal.

Program Architecture

A 10K foot ( or meter ) view of the program this supplements the internal documentmentation and helps those unfamiliar with the code dig in. It might include:

  • Design patterns used.
  • Threading decisions and components
  • Major components
  • For current documentation of the SmartTerminal see: tbc
  • For current documentation of Instrumentino see: tbc


Guide to Modifications

This documents how to modify the program to adapt it to a specific peripheral. This may or may not be blended into the Program Architecture documentation or the Example of Modification documentation.

  • For current documentation of the SmartTerminal see: tbc
  • For current documentation of Instrumentino see: tbc


Example of Modification for a Specific Peripheral Microcontroller

An example program is great, also great is a document that takes you through the process of writing such a program. I am going to try this to adapt Instrumentino for my Green House Monitor and to adapt the Smart Terminal to run with Controlino. ( see: Controlino Notes ) SmartTerminal for Controlino , Instrumentino for GreenHouse Monitor

Internal Docs

Coding Standards

So the most important is to have some written standards, the second is that they be good standards.

What are some good things

  • Good names, consistent names
  • Mangling of names to show how private/public the are.
  • Docstrings
  • Reasonable use of white space
  • Comment with respect to: intent, directions for modification if appropriate.


See for each program:

Docstrings

Unit Tests

Comparison of the Two Programs

What Terminal Instrumentino
Terminal show send recieve Yes ?
Program logging Yes using Python Logging ?
Simple parameter/configuration settings. Yes via a single python file.
Data Logging to DataBase Yes No


Links