Editing Smart Terminal Parameter Examples
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/Why/How the Parameter File = | = What/Why/How the Parameter File = | ||
− | A lot of the behavior of the terminal is controlled by the file '''parameters.py'''. Different projects of mine require different parameters. The first | + | A lot of the behavior of the terminal is controlled by the file '''parameters.py'''. Different projects of mine require different parameters. The first that might spring to mind are the port and baud rate for the terminal. But the parameter file can change so much more some are simple like adding a colored band to the terminal ( useful if you have more than one terminal running at a time ) to adding whole new modules that modify the graphical user interface ( GUI ) and add automatic processing. While this file has the basic structure of a asci text file, you should keep in mind that it is an executable Python file. This means it is programmatic, you can use any Python you want ( pretty much ) but try to limit yourself to setting the value of instance variables in the parameter object. |
More information on this approach to configuration in: [[Configuration Files For Python]]. | More information on this approach to configuration in: [[Configuration Files For Python]]. | ||
Line 7: | Line 7: | ||
== Different Approaches == | == Different Approaches == | ||
− | * To start with you can just run with the parameter file as shipped. This gives a reasonable terminal that runs fine, but probably will not run with the baud rate and comm port that you desire | + | * To start with you can just run with the parameter file as shipped. This gives a reasonable terminal that runs fine, but probably will not run with the baud rate and comm port that you desire so almost for sure you will need to adjust these. There are lines near the top of the parameter file to do this. For more info see the section below. |
* Another method is to use different parameter files for different projects. These might be copied into the smart terminal directory when you want to use them. Works fine but is cumbersome. Start from my file and modify. I do not recommend this approach, but you may want to do it. | * Another method is to use different parameter files for different projects. These might be copied into the smart terminal directory when you want to use them. Works fine but is cumbersome. Start from my file and modify. I do not recommend this approach, but you may want to do it. | ||
Line 13: | Line 13: | ||
* You can also use a secondary parameter file that overrides the settings in the first file. This is great if you want to run 2 copies of the terminal. Which secondary parameter file is used is controlled from the command line. For more info see the section below. ( coming soon ) | * You can also use a secondary parameter file that overrides the settings in the first file. This is great if you want to run 2 copies of the terminal. Which secondary parameter file is used is controlled from the command line. For more info see the section below. ( coming soon ) | ||
− | * The subroutine method. This is what I recommend for most uses. It is easy to manage and easy to switch between parameter sets. This is the method in the supplied parameter file and the one that I will use for may discussion of how the parameter file works in | + | * The subroutine method. This is what I recommend for most uses. It is easy to manage and easy to switch between parameter sets. This is the method in the supplied parameter file and the one that I will use for may discussion of how the parameter file works in genera. The parameter file is heavily commented and these comments should be read if you have questions. You can also search other files for parameters.xxx where xxx is the name of the parameter you are investigating. |
== How to Edit the Parameter File == | == How to Edit the Parameter File == | ||
− | + | Yous can use any editor you want ( for text type file ). One warning, however, is not to use an editor that inserts tab characters, tabs are ok if they are converted to spaces but not otherwise. Use your Python editor, that should be fine. For an external editor I use notepad++ on windows but make sure you use the tab to spaces conversion option ( google it ). The parameter file can be set up ( .ex_editor ) so that a button on the GUI will open the parameter file in the editor. After saving the file you can get a very fast restart of the app with the new parameter using the <Restart> button. | |
− | Yous can use any editor you want ( for text type file ). One warning, however, is not to use an editor that inserts tab characters, tabs are ok if they are converted to spaces but not otherwise. Use your Python editor, that should be fine. For an external editor I use notepad++ on windows but make sure you use the tab to spaces conversion option ( google it ). The parameter file can be set up ( .ex_editor | ||
= Structure of the Default Parameter File = | = Structure of the Default Parameter File = | ||
Line 28: | Line 27: | ||
In a similar way there is a subroutine called '''self.computer_name_tweaks( )''' This subroutine uses the already/automatically set parameter '''computername''' to tweak a few settings depending on the computer's name. This makes it easy for me to change the default parameters setting based on the computer I am using to run the program. Thus I can move the program around without changing the parameter file. These setting, as shipped, are probably not useful to you, but they may be useful as an example. | In a similar way there is a subroutine called '''self.computer_name_tweaks( )''' This subroutine uses the already/automatically set parameter '''computername''' to tweak a few settings depending on the computer's name. This makes it easy for me to change the default parameters setting based on the computer I am using to run the program. Thus I can move the program around without changing the parameter file. These setting, as shipped, are probably not useful to you, but they may be useful as an example. | ||
− | Finally there is a list of | + | Finally there is a list of subroutines, typically each one is for a different type of setup, all but one should be commented out. So I might make a call to a subroutine like: well_monitor_mode(). This is the file for an arduino project that monitors my water well pressure. It is a pretty complicated set up, because of the database access in the well monitor. For this documentation I will do a subroutine called tutorial_example_mode() which make the most basic changes from the default mode. |
= Subroutine Method = | = Subroutine Method = | ||
− | |||
− | |||
== tutorial_example_mode() == | == tutorial_example_mode() == | ||
Line 68: | Line 65: | ||
= Another example mode = | = Another example mode = | ||
− | make it a bit more complicated | + | make it a bit more complicated. |
− | |||
− | |||
− | |||
− | |||
+ | = Reference = | ||
== Overview == | == Overview == | ||
Line 105: | Line 99: | ||
* '''max_send_rows''' = 3 # the send areas are added in columns this many rows long, then a new | * '''max_send_rows''' = 3 # the send areas are added in columns this many rows long, then a new | ||
− | * '''default_scroll''' = 1 # 1 auto scroll the | + | * '''default_scroll''' = 1 # 1 auto scroll the recieve area, else 0 |
== Extended Processing == | == Extended Processing == | ||
Line 112: | Line 106: | ||
*'''ext_processing_module''': module name | *'''ext_processing_module''': module name | ||
− | *'''ext_processing_class''': class name | + | *'''ext_processing_class''': class name |
+ | |||
== Automatically Set == | == Automatically Set == | ||
− | *'''our_os''': "win32" if your are running windows | + | *'''our_os''': "win32" if your are running windows |
− | |||
− | == For the Second | + | |
+ | == For the Second Thread == | ||
* '''queue_length''' = 20 | * '''queue_length''' = 20 | ||
* '''queue_sleep''' = .1 | * '''queue_sleep''' = .1 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
# ---------- self.start_helper_function = gh_processing.GHProcessing.find_and_monitor_arduino | # ---------- self.start_helper_function = gh_processing.GHProcessing.find_and_monitor_arduino | ||
Line 146: | Line 135: | ||
block_port_closed = False # block sending if port is closed # *todo -- or some warning | block_port_closed = False # block sending if port is closed # *todo -- or some warning | ||
+ | == Appearance == | ||
− | |||
− | |||
− | |||
* '''id_color''': color for an "ID pane" just below the title bar of the window | * '''id_color''': color for an "ID pane" just below the title bar of the window | ||
Line 155: | Line 142: | ||
* '''bk_color''' = "blue" # color for the background, you can match the id color or use a neutral color like gray | * '''bk_color''' = "blue" # color for the background, you can match the id color or use a neutral color like gray | ||
* '''icon''': name of icon for the application | * '''icon''': name of icon for the application | ||
− | * | + | |
− | * | + | * tile |
+ | * size | ||
− | |||
− | |||
− | |||
− | |||
Sets the communications parameters. Sometimes a little confusing about port names. The arduino IDE sometimes is better at finding the name, check it. Also use the <Ports> button on the GUI. On the apple we have found from <Ports> ('/dev/tty.usbmodem1411', True) and in the parameter file using self.port = "/dev/tty.usbmodem1411" gave a good connection. Sometimes a reboot will result in a change of the port name. | Sets the communications parameters. Sometimes a little confusing about port names. The arduino IDE sometimes is better at finding the name, check it. Also use the <Ports> button on the GUI. On the apple we have found from <Ports> ('/dev/tty.usbmodem1411', True) and in the parameter file using self.port = "/dev/tty.usbmodem1411" gave a good connection. Sometimes a reboot will result in a change of the port name. | ||
Specifies a program for file editing. | Specifies a program for file editing. | ||
Line 167: | Line 151: | ||
Defaults data to be sent. | Defaults data to be sent. | ||
Change number of send areas. | Change number of send areas. | ||
− | |||
− | + | == More on Particular Parametes == | |
− | == More on Particular | ||
=== Parm 1 === | === Parm 1 === | ||
=== Parm 2 === | === Parm 2 === | ||
− | |||
− | |||
= Using a Second Parameter File = | = Using a Second Parameter File = | ||
Line 183: | Line 163: | ||
The difference in this file is the parameters are not self.xx but parameters.xx. Else it is pretty much the same. See the example file parameters_a.py. | The difference in this file is the parameters are not self.xx but parameters.xx. Else it is pretty much the same. See the example file parameters_a.py. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
= delete soon = | = delete soon = | ||
Line 218: | Line 193: | ||
</pre> | </pre> | ||
− | |||
− | [[Category:SmartTerminal]] [[Category:Arduino/RaspberryPi | + | |
+ | [[Category:SmartTerminal]] [[Category:Arduino/RaspberryPi]] |