Editing Instrumentino/Smart Terminal Challenge

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
 
= What =  
 
= 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 )
+
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 )
  
The process is going to revolve around an attempt to adapt SmartTerminal to Controlino and to adapt Instrumentino for my GreenHouse Monitor Program.  That work and its results will be documented here.
+
So what would be the ideal ( which I will not achieve in a finite amount of time )
 
 
One way to navigate all these pages is to look at the category SmartTerminal [[www.opencircuits.com/Category:SmartTerminal  Category SmartTerminal]]
 
 
 
Key pages might include:
 
 
 
*[[Instrumentino Notes]]
 
*[[GreenHouse Monitor Program]]
 
 
 
*[[Python Smart Terminal]]
 
*[[SmartTerminal for Controlino]]
 
 
 
So what would be the ideal ( which I will not achieve in a finite amount of time ).
 
  
 
= External Docs =
 
= External Docs =
This is perhaps an ideal, we do not expect to actually achieve the ideal.
 
  
 
== Program Architecture ==
 
== 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 ==
 
== 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 ==
 
== 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 =
 
= Internal Docs =
Line 63: Line 32:
 
*TBD
 
*TBD
  
== Docstrings ==
+
== Docstrings ==  
 
 
Programs should have docstrings to guide its use.  I have seen little indications that most open source programs actually have this.  Lets see what we can do.  The A  documentations should have a guide to how the respective programs try to implement this.
 
 
 
DocTests seem a bridge too far, but unit tests should be considered.
 
 
 
== Unit Tests ==
 
Unit test are great.  They are a pain to implement, is it worth it to make the program actually run.  When it does not run, it does seem worthwhile.  The unit tests also serve to document the api which is very valuable.  Again the A.. document should state the degree to which they are part of the plan.
 
  
 
= Comparison of the Two Programs =
 
= Comparison of the Two Programs =
This is just the beginning.
 
  
* The SmartTerminal is an terminal program that has evolved into being easily programmable and interfaced into micro controller programs.  It is meant to be tweaked via either a parameter file or Python programming.
 
  
* Instrumentino is a data collection program that is first targeted at talking to Controlino an arduino program that is configurable ( through the Instrumentino Gui ) to talk to a variety of data collection devices.  It can be reprogrammed to talk directly to peripheral devices, it is not yet clear how.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 90: Line 49:
 
|?
 
|?
 
<!-------------------------------->
 
<!-------------------------------->
<!--------------------------------
+
<!-------------------------------->
 
|-valign="top"
 
|-valign="top"
 
|aaa
 
|aaa
Line 97: Line 56:
 
<!-------------------------------->
 
<!-------------------------------->
 
|-valign="top"
 
|-valign="top"
|Program logging
+
|ggg
|Yes using Python Logging
+
|hhh
|?
+
|iii
 +
<!--------------------------------
 +
|-valign="top"
 +
|xxxxx
 +
|
 +
|
 
<!--------------------------------
 
<!--------------------------------
 
|-valign="top"
 
|-valign="top"
|Data Logging CSV file
+
|xxxxx
|No may add.
+
|
|Yes
+
|
<!-------------------------------->
+
<!--------------------------------
 
|-valign="top"
 
|-valign="top"
|Simple parameter/configuration settings.
+
|xxxxx
|Yes via a single python file.
+
|
 
|
 
|
 
<!-------------------------------->
 
<!-------------------------------->
|-valign="top"
+
 
|Data Logging to DataBase
+
<!-------------------------------->
|Yes
+
 
|No
+
<!-------------------------------->
 +
 
 +
<!-------------------------------->
 +
 
 
<!-------------------------------->
 
<!-------------------------------->
|-valign="top"
 
|Data Logging to CSV
 
|Yes
 
|Yes
 
  
 
<!-------------------------------->
 
<!-------------------------------->
|-valign="top"
+
 
|Graphing of Data
 
|Yes, but in a companion program.
 
|Yes
 
 
<!-------------------------------->
 
<!-------------------------------->
|-valign="top"
 
|Configurable via GUI
 
|No, requires parameters or Python
 
|Yes
 
<!--------------------------------
 
  
<!--------------------------------
+
<!-------------------------------->
  
<!--------------------------------
+
<!-------------------------------->
  
<!--------------------------------
 
  
<!--------------------------------
 
  
 
<!-------------------------------->
 
<!-------------------------------->
Line 147: Line 100:
  
 
= Links =
 
= Links =
 
[[Category:SmartTerminal]] [[Category:Arduino/RaspberryPi]][[category:Python]]
 

Please note that all contributions to OpenCircuits may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see OpenCircuits:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)