Skip to content

Commit

Permalink
Fixed GUI-Crash if event is created without signals
Browse files Browse the repository at this point in the history
Fixed NetWoRTOC import errors
Fixed GUI-Darkmode-Bug
Fixed TCP-Connection without password

Added signal-memory-usage display
added TCP-port-selection
disabled reusing TCP-port
RTLogger can handle None-Signals
  • Loading branch information
Sebastian Keller committed Dec 18, 2018
1 parent 75a306e commit 9d3e4bf
Show file tree
Hide file tree
Showing 25 changed files with 883 additions and 306 deletions.
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -78,7 +78,7 @@ devices/ // Directory for user-plugins
plotStyles.json // Custom plotstyles for signals are stored in this file
```

### Manuelle Installation
### Install manually

To use RTOC, the following dependencies must be installed

Expand Down
19 changes: 12 additions & 7 deletions RTOC.egg-info/PKG-INFO
@@ -1,17 +1,22 @@
Metadata-Version: 1.2
Name: RTOC
Version: 1.8.1
Version: 1.8.6
Summary: RealTime OpenControl
Home-page: https://github.com/Haschtl/RealTimeOpenControl
Author: Sebastian Keller
Author-email: sebastiankeller@online.de
License: GNU
Description: RealTime OpenControl is a universal measurement, plot and control-software.
It's purpose is to put measurements from different devices (for example 3d-printers, multimeters, power supplies, microcontroller,...) into one tool.
Its fully expandable for every device with Python-Plugins and a running TCP-server.
You can also control the devices (if your plugin has this functionality) with python-scripts, which you can write and run at runtime! This makes it also possible to plot everything else.
There are some example-plugins and example-scripts included.
It also offers an extended plotting-GUI with multiple plots, measure-tools, style-adjustments.
Description: RealTime OpenControl enables simple real-time data recording, visualization and editing. The recording can be done with a local Python scripts or via TCP locally/from the network. Visualization and editing is available locally, in the network (TCP and HTML) and via Telegram on the smartphone.

In addition to data recording, events can also be recorded. These can, for example, trigger a telegram message.

Possible applications:

- Central measurement data recording of laboratory instruments with PC connection (e.g. power supply unit, multimeter, sensors, microcontroller)
- Central recording of measurement data from Internet devices (e.g. mobile weather stations, drones, smartphones)
- Remote monitoring and control of processes and devices with PC and Smartphone (Telegram) (e.g. 3D printing, heating, Custom-SmartHome)
- Controlling between several devices (e.g.: power regulation of a power supply unit on the temperature sensor of a multimeter)
- Decentralized data recording (e.g. on Raspberry) and access via network connection (smart projects)

Platform: UNKNOWN
Classifier: Programming Language :: Python
Expand Down
64 changes: 31 additions & 33 deletions RTOC.egg-info/SOURCES.txt
Expand Up @@ -15,6 +15,13 @@ RTOC.egg-info/SOURCES.txt
RTOC.egg-info/dependency_links.txt
RTOC.egg-info/requires.txt
RTOC.egg-info/top_level.txt
RTOC/__pycache__/LoggerPlugin.cpython-36.pyc
RTOC/__pycache__/RTLogger.cpython-36.pyc
RTOC/__pycache__/RTOC.cpython-36.pyc
RTOC/__pycache__/__init__.cpython-36.pyc
RTOC/__pycache__/__main__.cpython-36.pyc
RTOC/__pycache__/jsonsocket.cpython-36.pyc
RTOC/__pycache__/telegramBot.cpython-36.pyc
RTOC/data/Actions.py
RTOC/data/RTPlotActions.py
RTOC/data/RTPlotWidget.py
Expand All @@ -33,9 +40,29 @@ RTOC/data/signalEditWidget.py
RTOC/data/signalWidget.py
RTOC/data/styleMultiPlotGUI.py
RTOC/data/stylePlotGUI.py
RTOC/data/__pycache__/Actions.cpython-36.pyc
RTOC/data/__pycache__/RTPlotActions.cpython-36.pyc
RTOC/data/__pycache__/RTPlotWidget.cpython-36.pyc
RTOC/data/__pycache__/ScriptFunctions.cpython-36.pyc
RTOC/data/__pycache__/__init__.cpython-36.pyc
RTOC/data/__pycache__/define.cpython-36.pyc
RTOC/data/__pycache__/eventWidget.cpython-36.pyc
RTOC/data/__pycache__/importCode.cpython-36.pyc
RTOC/data/__pycache__/loggerlib.cpython-36.pyc
RTOC/data/__pycache__/scriptHelpWidget.cpython-36.pyc
RTOC/data/__pycache__/scriptLibrary.cpython-36.pyc
RTOC/data/__pycache__/scriptSubWidget.cpython-36.pyc
RTOC/data/__pycache__/scriptWidget.cpython-36.pyc
RTOC/data/__pycache__/signalEditWidget.cpython-36.pyc
RTOC/data/__pycache__/signalWidget.cpython-36.pyc
RTOC/data/__pycache__/styleMultiPlotGUI.cpython-36.pyc
RTOC/data/__pycache__/stylePlotGUI.cpython-36.pyc
RTOC/data/lib/__init__.py
RTOC/data/lib/general_lib.py
RTOC/data/lib/pyqt_customlib.py
RTOC/data/lib/__pycache__/__init__.cpython-36.pyc
RTOC/data/lib/__pycache__/general_lib.cpython-36.pyc
RTOC/data/lib/__pycache__/pyqt_customlib.cpython-36.pyc
RTOC/data/ui/darkmode.html
RTOC/data/ui/eventWidget.ui
RTOC/data/ui/gridViewWidget.ui
Expand All @@ -44,6 +71,7 @@ RTOC/data/ui/messtoolDialog.ui
RTOC/data/ui/plotToolsWidget.ui
RTOC/data/ui/plotViewWidget.ui
RTOC/data/ui/plotWidget.ui
RTOC/data/ui/qtmodern.qss
RTOC/data/ui/rtoc.ui
RTOC/data/ui/scriptHelpWidget.ui
RTOC/data/ui/scriptSubWidget.ui
Expand Down Expand Up @@ -151,46 +179,16 @@ RTOC/data/ui/icons/dark/up_arrow.png
RTOC/data/ui/icons/dark/up_arrow_disabled.png
RTOC/lang/en_en.qm
RTOC/lang/en_en.ts
RTOC/plugins/DPS5020.py
RTOC/plugins/Generator.py
RTOC/plugins/Generator2.py
RTOC/plugins/HoldPeak VC820.py
RTOC/plugins/NetWoRTOC.py
RTOC/plugins/OctoTouch.py
RTOC/plugins/System.py
RTOC/plugins/Template.py
RTOC/plugins/DPS5020/dps5020.ui
RTOC/plugins/Funktionsgenerator/gen_function.ui
RTOC/plugins/Octotouch/OctoprintApi.py
RTOC/plugins/Octotouch/octotouch.ui
RTOC/plugins/Octotouch/__pycache__/OctoprintApi.cpython-36.pyc
RTOC/plugins/System/system.ui
RTOC/plugins/Template/template.ui
RTOC/plugins/holdPeak_VC820/portSelectWidget.ui
RTOC/plugins/holdPeak_VC820/vc820py/.gitignore
RTOC/plugins/holdPeak_VC820/vc820py/README.md
RTOC/plugins/holdPeak_VC820/vc820py/generate_test.py
RTOC/plugins/holdPeak_VC820/vc820py/raw2json.py
RTOC/plugins/holdPeak_VC820/vc820py/rawtime2csv.py
RTOC/plugins/holdPeak_VC820/vc820py/rawtime2json.py
RTOC/plugins/holdPeak_VC820/vc820py/rawtime2raw.py
RTOC/plugins/holdPeak_VC820/vc820py/read_from_serial.py
RTOC/plugins/holdPeak_VC820/vc820py/read_multiple.py
RTOC/plugins/holdPeak_VC820/vc820py/read_multiple_reader.py
RTOC/plugins/holdPeak_VC820/vc820py/read_reader.py
RTOC/plugins/holdPeak_VC820/vc820py/reader.py
RTOC/plugins/holdPeak_VC820/vc820py/record_serial.py
RTOC/plugins/holdPeak_VC820/vc820py/replay_rawtime.py
RTOC/plugins/holdPeak_VC820/vc820py/ut61b.py
RTOC/plugins/holdPeak_VC820/vc820py/vc820.py
RTOC/plugins/holdPeak_VC820/vc820py/__pycache__/vc820.cpython-36.pyc
RTOC/plugins/__pycache__/Generator.cpython-36.pyc
RTOC/plugins/__pycache__/NetWoRTOC.cpython-36.pyc
RTOC/plugins/netWoRTOC/gui.py
RTOC/plugins/netWoRTOC/networkscan.py
RTOC/plugins/netWoRTOC/networtoc.ui
RTOC/plugins/netWoRTOC/repeat.png
RTOC/plugins/netWoRTOC/repeat1.png
RTOC/plugins/netWoRTOC/search.png
RTOC/plugins/netWoRTOC/__pycache__/gui.cpython-36.pyc
RTOC/plugins/netWoRTOC/__pycache__/networkscan.cpython-36.pyc
RTOC/plugins/vc820py/-h
RTOC/plugins/vc820py/__pycache__/vc820.cpython-36.pyc
RTOC/plugins/netWoRTOC/__pycache__/networkscan.cpython-36.pyc
1 change: 0 additions & 1 deletion RTOC.egg-info/requires.txt
Expand Up @@ -4,7 +4,6 @@ pyqtgraph
markdown2
xlsxwriter
scipy
qtmodern
python-telegram-bot
matplotlib
requests
Expand Down
9 changes: 6 additions & 3 deletions RTOC/LoggerPlugin.py
Expand Up @@ -25,6 +25,8 @@ def __init__(self, stream=None, plot=None, event=None):
self.run = False # False -> stops thread
self.smallGUI = False
self.tcppassword = ''
self.tcpport=5050
self.tcpaddress=''
self.xy = False
self.widget = None

Expand Down Expand Up @@ -100,12 +102,13 @@ def event(self, *args, **kwargs):
else:
print("No event connected")

def createTCPClient(self, address="localhost", password=None):
def createTCPClient(self, address="localhost", password=None, tcpport=5050):
self.tcpaddress = address
self.tcpport = tcpport
self.sock = jsonsocket.Client()
if password != None:
self.tcppassword = password
self.sock.setKeyword(password)
self.sock = jsonsocket.Client()

def sendTCP(self, *args, **kwargs):
dataY = kwargs.get('y', None)
Expand Down Expand Up @@ -173,7 +176,7 @@ def sendTCP(self, *args, **kwargs):
#dicti['password'] = hex_dig
if self.sock:
try:
self.sock.connect(self.tcpaddress, 5050, self.tcppassword)
self.sock.connect(self.tcpaddress, self.tcpport, self.tcppassword)
self.sock.send(dicti)
response = self.sock.recv()
self.sock.close()
Expand Down

0 comments on commit 9d3e4bf

Please sign in to comment.