Editing Smart Terminal GUI

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:
 
= Overview =
 
= Overview =
The GUI or graphical user interface is the key to using the Smart Terminal ( the main page for the application is at: '''[[Python Smart Terminal]]''' and it has a category page at '''[[https://opencircuits.com/index.php?title=Category:SmartTerminal Category:SmartTerminal]]''' ).  In addition, but not discussed here, you can use the command line and the parameter file ( see:''' [[Smart Terminal Parameter Examples]]''' ).  This page is the documentation for the GUI.
+
The GUI of graphical user interface is the key to using the SmartTerminal, in addition to the command line and the parameter file ( see: [[Smart Terminal Parameter Examples]] ).  This page is the documentation for the GUI.
  
 
= Screen Shot =
 
= Screen Shot =
  
This is what it looks like, details on each part below.  Still working on it, mostly to clean up the details. Note that this screen shot was taken during a debugging session and has some artifacts that will soon disappear, then a new screen shot will be placed here.
+
This is what it looks like, details on each part below.  A bit out of date and a bit big, will fix soon or on request.  
  
 
+
[[File:Screen_shot.png | 1000x2500px]]
[[File:ScreenShot 1.png | 1000x2500px]]
 
  
 
<!-----------
 
<!-----------
Line 20: Line 19:
 
------------->
 
------------->
  
= What Does What: The Controls =
+
= What Does What =
  
 
Control is mostly through buttons, sometimes supplemented by text fields.  Outside of the GUI there is also a parameter file which controls start up and item like communications setting.  The large rectangle at the bottom left, a text area, is where data sent, received, and some information messages are displayed.  It is referred to as the receive area.
 
Control is mostly through buttons, sometimes supplemented by text fields.  Outside of the GUI there is also a parameter file which controls start up and item like communications setting.  The large rectangle at the bottom left, a text area, is where data sent, received, and some information messages are displayed.  It is referred to as the receive area.
 +
 +
== The Controls ==
  
 
Working from top to bottom:
 
Working from top to bottom:
  
== At the Top ==
+
* <Window title> Program name and some additional info including mode ( see parameter settings ) and name of any "extra" parameter file.
* <Window title> Program name and some additional info including version, modeand the name of any "extra" parameter file ( see [[Smart Terminal Parameter Examples]] ).
 
* <ID Color Band >The green band under the title is an optional component, its height and color is set in the parameter file.  It is normally useful only if you are running 2 instances of the terminal and want a quick way to tell them apart.
 
 
 
==Top Row of Labels ==
 
 
 
* <Double Row of Labels, Starting with the Communications>> >  Managed by the parameter file ( see [[Smart Terminal Parameter Examples]] ).
 
**<Port:xxx> Status of comm port, open, closed or failed to open.
 
**<Type:xxx> Type of comm port, so far only RS232
 
**<PortID:xxx> Name of port used by the operating system.  This may be changed if some of the "auto open" features are used.
 
**<Baud:xxx>    Baud Rate of comm port.
 
**<StopBits:xxx> Number of stop bits for the comm port
 
**<Parity:xxx>  Parity of comm port.
 
 
 
* <Additional Labels in First Row, Starting with the Database>> >  Labels show status of the database connection ( not always used ).  Managed by the parameter file.
 
**<Status:xxx>  Open or closed connection to the database
 
**<ConnectName:xxx> Name given to the connection in the parameter file.
 
**<Host:xxx>    Host name used by the database
 
**<DB:xxx>      Database name
 
**<User:xxx>    Database user
 
 
 
== Next Button Row ==
 
 
 
 
* <Open Button> Opens the communications port ( if configuration in parameter file(s) allow ) Parameters show to the right, port status to right of button.
 
* <Open Button> Opens the communications port ( if configuration in parameter file(s) allow ) Parameters show to the right, port status to right of button.
 
* <Close Button> Close the communications port. No error if it is not open. Parameters show to the right, port status to right of button.
 
* <Close Button> Close the communications port. No error if it is not open. Parameters show to the right, port status to right of button.
 
* <Parameters to right of open and close buttons> Parameters from the parameter file(s), not editable on the GUI.
 
* <Parameters to right of open and close buttons> Parameters from the parameter file(s), not editable on the GUI.
* <Edit Log> opens an editor on the system ( needs to be configured in parameter file self.ex_editor = <name of executable or link> ) to view the python logging file for the app.
 
* <Edit Parms > opens an editor on the system to edit the parameters.py file. See <Edit Log>.
 
* <Edit Parms X > opens an editor on the system to edit the extended parameter file if used on the command line. Not visible if no extended parameter file used. See <Edit Log>.
 
* <SendParms> takes the contents of the send buttons and displays them in the receive area in the same format as required by the parameter file to reproduce the current configuration.
 
* <Ports> List the available ports in the receive area, working under windows until upgraded from 7 to 10, Linux ??
 
* <Restart> Restarts the application ( usually fast ) using new values ( if any ) in the parameter file(s).
 
* <Test> May not be present, for debugging, not generally useful or predictable, you would need to look through the code to see what it might be doing, press at your own risk.
 
 
== Buttons from Extensions ==
 
If you have extended the terminal with an xxx_processing module, its GUI will appear here.  In this screen shot we see the GUI from the greenhouse extension ( note this is the mode in the window title ).  The actual labels are something still in flux, the functions are more fixed.
 
 
** <Helper: Find and Monitor Arduino > starts auto run mode of terminal if so configured, this is still alpha and in any case will not have much success unless connected to a compatible serial device ( typically an Arduino ).
 
** <Helper: Find Arduino > T
 
** <Interrupt Helper> stops auto run mode of terminal. Also still alpha, but generally harmless.
 
  
== Send Area ==
 
  
*<Send Buttons> and <Text Entry> to right of each button. Each button sends the text to the right of the button, text is not erased after transmission. Lots of parameters in the parameter file determine the details:
+
* <Row of Buttons>  
** Number of send buttons
+
** <Start Auto> starts auto run mode of terminal if so configured, this is still alpha and in any case will not have much success unless connected to a compatible serial device ( typically an Arduino ).
** Text of each button ( default Send )
+
** <Stop Auto> stops auto run mode of terminal. Also still alpha, but generally harmless.
** Text of the data to be send may or may not be protected based on parameter settings
+
** <Edit Log> opens an editor on the system ( needs to be configured in parameter file self.ex_editor = <name of executable or link> ) to view the python logging file for the app.
The setup shown here is customized for a particular arduino program, the greenhouse monitor.
+
** <Edit Parms > opens an editor on the system to edit the parameters.py file. See <Edit Log>.
 +
** <Edit Parms X > opens an editor on the system to edit the extended parameter file if used on the command line. Not visible if no extended parameter file used. See <Edit Log>.
 +
** <Ports > List available ports in the receive area, working under windows until upgraded from 7 to 10, Linux ??
  
== Receive Area ==
 
  
* <Column of Buttons and Text Panel> The Panel shows terminal activity and some other info ( like Ports above ) the buttons act on this data in some wayYou can type in the text panel, to no particular effect, perhaps could use this to make notesText is partly erased from time to time depending on settings in parameter file(s) The data in the recieve area falls into three classes, each with a unique prefix ( which is set in the parameters.py file ):
+
*<Send Buttons> and <Text Entry> to right of each button. Each button sends the text to the right of the button, text is not erased after transmissionLots of parameters in the parameter file determine the detailsNumber of send buttons... also in parameter file(s).
** Sent:        ">>> "
 
** Received:    "<<< "
 
** Information:     "!!! "
 
  
  
* Other controls:
+
* <Column of Buttons and Text Panel>  The Panel shows terminal activity and some other info ( like Ports above ) the buttons act on this data in some way.  You can type in the text panel, to no particular effect, perhaps could use this to make notes.  Text is partly erased from time to time depending on settings in parameter file(s)
 
** <Clear> Clears text panel.
 
** <Clear> Clears text panel.
** <Copy Sel> Copies all selected text.  Use the mouse to select text.
+
** <Copy Sel> Copies all selected text.
 
** <Copy All> Copies all text selected or not.
 
** <Copy All> Copies all text selected or not.
** <A Scroll> When checked text panel automatically scrolls to the most recent data, else not.  This can help you read earlier material when still receiving new data.
+
** <A Scroll> When checked text panel automatically scrolls to the most recent data, else not.
  
[[Category:SmartTerminal]] [[Category:Arduino/RaspberryPi]][[category:Python]] [[category:Python Projects]]
+
[[Category:SmartTerminal]] [[Category:Arduino/RaspberryPi]]

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)