Editing Python Smart Terminal Technical
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 18: | Line 18: | ||
The application has a main thread running in a Tkinter mainloop. There is also a second thread called a "helper" running which makes some processing much easier. To make gui mainloop responsive to both the GUI and its own processing it uses a pseudo event loop or a polling subroutine that is implemented in SmartTerminal.polling(). This is where data is received from there comm port ( or sometimes the responsibility is passed to the helper thread). The frequency which it is called is set in parameters, the relatively low rate of 100 ms between calls ( .1 sec ) seems to give a perfectly responsive application in most cases. I have run it as fast as once every 10 ms. Have not tried to find a limit. The second thread is mostly intended for your custom processing, see the section Processing below. | The application has a main thread running in a Tkinter mainloop. There is also a second thread called a "helper" running which makes some processing much easier. To make gui mainloop responsive to both the GUI and its own processing it uses a pseudo event loop or a polling subroutine that is implemented in SmartTerminal.polling(). This is where data is received from there comm port ( or sometimes the responsibility is passed to the helper thread). The frequency which it is called is set in parameters, the relatively low rate of 100 ms between calls ( .1 sec ) seems to give a perfectly responsive application in most cases. I have run it as fast as once every 10 ms. Have not tried to find a limit. The second thread is mostly intended for your custom processing, see the section Processing below. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= Components and Functions = | = Components and Functions = | ||
Line 118: | Line 100: | ||
== Names == | == Names == | ||
− | Be consistent: this is good but have not been very successful in standards: I keep changing my mind. Names across classes are pretty consistent. I am avoiding short names and try to make them descriptive enough that they are somewhat self documenting | + | Be consistent: this is good but have not been very successful in standards: I keep changing my mind. Names across classes are pretty consistent. I am avoiding short names and try to make them descriptive enough that they are somewhat self documenting. |
== Formatting == | == Formatting == |