Difference between revisions of "Smart Terminal GUI"

From OpenCircuits
Jump to navigation Jump to search
Line 4: Line 4:
 
= 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 a bunch of 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.  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.
  
  

Revision as of 08:18, 1 March 2017

Overview

The GUI or graphical user interface is the key to using the 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.

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.


ScreenShot 1.png


What Does What: The Controls

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.

Working from top to bottom:

At the Top

  • <Window title> Program name and some additional info including version, mode, and 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

First Button

Next row:

  • <auto Button>

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.
  • <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.
    • <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>
    • <Ports> List 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 files.
    • <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: > 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 Helpe> 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:
    • Number of send buttons
    • Text of each button ( default Send )
    • Text of the data to be send may or may not be protected based on parameter settings

The setup shown here is customized for a particular arduino program, the greenhouse monitor.

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 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.
    • <Copy Sel> Copies all selected text.
    • <Copy All> Copies all text selected or not.
    • <A Scroll> When checked text panel automatically scrolls to the most recent data, else not.