Browse Source

Updated Readme

curiousmuch 6 years ago
parent
commit
d0d4a29576
5 changed files with 79 additions and 69 deletions
  1. 7 7
      README.md
  2. 18 18
      pyqt/mainwindow.py
  3. 30 30
      qt/mainwindow.ui
  4. 17 9
      wsc_tools.py
  5. 7 5
      wsc_ui.py

+ 7 - 7
README.md

@@ -6,18 +6,18 @@ The purpose of this application is to provide an interface for therapists and ca
     + Paho-MQTT (Network Communication)
     + PySerial  (Configuration of IdeasX device over USB)
 
+The software only currently supports the IdeasX module v0.3.X, but could be easily modified to support other devices. 
+
+# Paho-MQTT Issue 
+
 The Paho-MQTT mqttc module was modified (in a total hack-ish method). The mqttc does not provde the option to set a timeout for opening a socket. Therefore, if the user enters an incorrect IP / Port, the backend code (wsc_client.py) will hang in-definitly. Therefore, the following line was addded to client.py 
 ``` 
 socket.setDefaultTimeout(1)
 ```
+I'll work on fixing this issue and pushing the update to the Paho repository. 
 
 ## List of Brokers 
 The following link lists a number of publically available - free - brokers to support IdeasX. 
 [https://github.com/mqtt/mqtt.github.io/wiki/public_brokers]
-
-## Encoder Details / Notes 
-
-### Switches 
-
-0b110000000000001101100000001 10100
-
+The server I setup using AWS is the following: 
+[https://ideasx-cloud.ducksdns.org]

+ 18 - 18
pyqt/mainwindow.py

@@ -60,7 +60,7 @@ class Ui_MainWindow(object):
         self.scrollEncoder.setWidgetResizable(True)
         self.scrollEncoder.setObjectName("scrollEncoder")
         self.contentEncoder = QtWidgets.QWidget()
-        self.contentEncoder.setGeometry(QtCore.QRect(0, 0, 456, 694))
+        self.contentEncoder.setGeometry(QtCore.QRect(0, 0, 80, 16))
         self.contentEncoder.setObjectName("contentEncoder")
         self.scrollEncoder.setWidget(self.contentEncoder)
         self.gridLayout.addWidget(self.scrollEncoder, 0, 0, 1, 3)
@@ -170,20 +170,6 @@ class Ui_MainWindow(object):
         self.buttonBoxDevice.setCenterButtons(False)
         self.buttonBoxDevice.setObjectName("buttonBoxDevice")
         self.verticalLayout_2.addWidget(self.buttonBoxDevice)
-        self.groupUpdat = QtWidgets.QGroupBox(self.tabSetting)
-        self.groupUpdat.setObjectName("groupUpdat")
-        self.formLayout_3 = QtWidgets.QFormLayout(self.groupUpdat)
-        self.formLayout_3.setObjectName("formLayout_3")
-        self.lineEdit = QtWidgets.QLineEdit(self.groupUpdat)
-        self.lineEdit.setObjectName("lineEdit")
-        self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit)
-        self.pushButton = QtWidgets.QPushButton(self.groupUpdat)
-        self.pushButton.setObjectName("pushButton")
-        self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.pushButton)
-        self.label = QtWidgets.QLabel(self.groupUpdat)
-        self.label.setObjectName("label")
-        self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label)
-        self.verticalLayout_2.addWidget(self.groupUpdat)
         self.groupBox_2 = QtWidgets.QGroupBox(self.tabSetting)
         self.groupBox_2.setObjectName("groupBox_2")
         self.formLayout_4 = QtWidgets.QFormLayout(self.groupBox_2)
@@ -199,6 +185,20 @@ class Ui_MainWindow(object):
         self.pushButton_2.setObjectName("pushButton_2")
         self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.pushButton_2)
         self.verticalLayout_2.addWidget(self.groupBox_2)
+        self.groupUpdat = QtWidgets.QGroupBox(self.tabSetting)
+        self.groupUpdat.setObjectName("groupUpdat")
+        self.formLayout_3 = QtWidgets.QFormLayout(self.groupUpdat)
+        self.formLayout_3.setObjectName("formLayout_3")
+        self.lineEdit = QtWidgets.QLineEdit(self.groupUpdat)
+        self.lineEdit.setObjectName("lineEdit")
+        self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit)
+        self.pushButton = QtWidgets.QPushButton(self.groupUpdat)
+        self.pushButton.setObjectName("pushButton")
+        self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.pushButton)
+        self.label = QtWidgets.QLabel(self.groupUpdat)
+        self.label.setObjectName("label")
+        self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label)
+        self.verticalLayout_2.addWidget(self.groupUpdat)
         spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
         self.verticalLayout_2.addItem(spacerItem2)
         self.tabWidget.addTab(self.tabSetting, "")
@@ -237,12 +237,12 @@ class Ui_MainWindow(object):
         self.labelPassword.setText(_translate("MainWindow", "Password:"))
         self.labelPort.setText(_translate("MainWindow", "Port:"))
         self.buttonRefreshPorts.setText(_translate("MainWindow", "Refresh Ports"))
+        self.groupBox_2.setTitle(_translate("MainWindow", "Manual Commands"))
+        self.label_2.setText(_translate("MainWindow", "Command: "))
+        self.pushButton_2.setText(_translate("MainWindow", "Send Command"))
         self.groupUpdat.setTitle(_translate("MainWindow", "WSC Update Settings"))
         self.lineEdit.setPlaceholderText(_translate("MainWindow", "URL to GitHub Repository"))
         self.pushButton.setText(_translate("MainWindow", "Check for Update"))
         self.label.setText(_translate("MainWindow", "WSC Software Repository:"))
-        self.groupBox_2.setTitle(_translate("MainWindow", "Global Commands"))
-        self.label_2.setText(_translate("MainWindow", "Global Command: "))
-        self.pushButton_2.setText(_translate("MainWindow", "Send Command"))
         self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabSetting), _translate("MainWindow", "Settings"))
 

+ 30 - 30
qt/mainwindow.ui

@@ -136,8 +136,8 @@
             <rect>
              <x>0</x>
              <y>0</y>
-             <width>456</width>
-             <height>694</height>
+             <width>80</width>
+             <height>16</height>
             </rect>
            </property>
           </widget>
@@ -400,29 +400,29 @@
          </widget>
         </item>
         <item>
-         <widget class="QGroupBox" name="groupUpdat">
+         <widget class="QGroupBox" name="groupBox_2">
           <property name="title">
-           <string>WSC Update Settings</string>
+           <string>Manual Commands</string>
           </property>
-          <layout class="QFormLayout" name="formLayout_3">
-           <item row="0" column="1">
-            <widget class="QLineEdit" name="lineEdit">
-             <property name="placeholderText">
-              <string>URL to GitHub Repository</string>
+          <layout class="QFormLayout" name="formLayout_4">
+           <item row="0" column="0">
+            <widget class="QLabel" name="label_2">
+             <property name="text">
+              <string>Command: </string>
              </property>
             </widget>
            </item>
-           <item row="1" column="0">
-            <widget class="QPushButton" name="pushButton">
-             <property name="text">
-              <string>Check for Update</string>
+           <item row="0" column="1">
+            <widget class="QComboBox" name="comboBox">
+             <property name="currentText">
+              <string/>
              </property>
             </widget>
            </item>
-           <item row="0" column="0">
-            <widget class="QLabel" name="label">
+           <item row="1" column="0">
+            <widget class="QPushButton" name="pushButton_2">
              <property name="text">
-              <string>WSC Software Repository:</string>
+              <string>Send Command</string>
              </property>
             </widget>
            </item>
@@ -430,29 +430,29 @@
          </widget>
         </item>
         <item>
-         <widget class="QGroupBox" name="groupBox_2">
+         <widget class="QGroupBox" name="groupUpdat">
           <property name="title">
-           <string>Global Commands</string>
+           <string>WSC Update Settings</string>
           </property>
-          <layout class="QFormLayout" name="formLayout_4">
-           <item row="0" column="0">
-            <widget class="QLabel" name="label_2">
-             <property name="text">
-              <string>Global Command: </string>
+          <layout class="QFormLayout" name="formLayout_3">
+           <item row="0" column="1">
+            <widget class="QLineEdit" name="lineEdit">
+             <property name="placeholderText">
+              <string>URL to GitHub Repository</string>
              </property>
             </widget>
            </item>
-           <item row="0" column="1">
-            <widget class="QComboBox" name="comboBox">
-             <property name="currentText">
-              <string/>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="pushButton">
+             <property name="text">
+              <string>Check for Update</string>
              </property>
             </widget>
            </item>
-           <item row="1" column="0">
-            <widget class="QPushButton" name="pushButton_2">
+           <item row="0" column="0">
+            <widget class="QLabel" name="label">
              <property name="text">
-              <string>Send Command</string>
+              <string>WSC Software Repository:</string>
              </property>
             </widget>
            </item>

+ 17 - 9
wsc_tools.py

@@ -36,6 +36,17 @@ class EncoderConfig():
         self.__ser.setDTR(value=0)
         time.sleep(0.5)
 
+
+    def swReset(self):
+        self.connect(port)
+        clear_str = "\n\r"
+        clear_str = clear_str.encode('utf-8')
+        time.sleep(0.5)
+        self.__ser.write(clear_str)
+        time.sleep(0.5)
+
+
+
     def getPort(self): 
         return self.__port
 
@@ -54,25 +65,22 @@ class EncoderConfig():
         
     
     def setWifiAPs(self, aps, port): 
+        MAX_APS = 1
         self.connect(port)
         clear_str = "\n\r"
         clear_str = clear_str.encode('utf-8')
         time.sleep(0.5)
         self.__ser.write(clear_str)
         time.sleep(0.5)
-        for creds in aps: 
-            self.setWifiAP(creds[0], creds[1])
-            time.sleep(1)
-
+        self.setWifiAP(aps[0][0],aps[0][1])
+        time.sleep(1)
+        # for creds in aps[MAX_APS-1]: 
+        #     self.setWifiAP(creds[0], creds[1])
+        #     time.sleep(1)
         self.__ser.write(clear_str)
         time.sleep(0.5)
         ## do hard reset 
         self.reset()
-        
-        ##reset_str = "\n\rAT+RST\r\n"
-        ##reset_str = reset_str.encode('utf-8')
-        ##self.__ser.write(reset_str)
-        
         self.__ser.close()
 
     def setWifiAP(self, ssid, password=None):

+ 7 - 5
wsc_ui.py

@@ -86,7 +86,7 @@ class MainWindow(QtWidgets.QMainWindow):
         self.__ui.buttonBoxNetwork.button(QtWidgets.QDialogButtonBox.Cancel).clicked.connect(self.restoreBrokerSettings)
         self.__ui.buttonRefreshPorts.clicked.connect(self.refreshSerialPorts)
         #self.__ui.selectPort.activated.connect(self.selectSerialPort)
-        self.__ui.selectAP.valueChanged.connect(self.selectDisplayedAP)
+        #self.__ui.selectAP.valueChanged.connect(self.selectDisplayedAP)
         self.__ui.wifiSSID.textEdited.connect(self.updateAP)
         self.__ui.wifiPassword.textEdited.connect(self.updateAP)
         self.__ui.buttonBoxDevice.button(QtWidgets.QDialogButtonBox.Save).clicked.connect(self.saveEncoderConfiguration)
@@ -94,14 +94,16 @@ class MainWindow(QtWidgets.QMainWindow):
         #self.__ui.buttonBoxDevice.button(QtWidgets.QDialog.Save).clicked.connect(self.__wsc.encoderConfig.)
 
     def updateAP(self):
-        index = self.__ui.selectAP.value() - 1
+        #index = self.__ui.selectAP.value() - 1
+        index = 0
         self.__AccessPoints[index][0] = self.__ui.wifiSSID.text()
         self.__AccessPoints[index][1] = self.__ui.wifiPassword.text()
 
     def selectDisplayedAP(self): 
-        print(self.__ui.selectAP.value()-1)
+        #print(self.__ui.selectAP.value()-1)
 
-        index = self.__ui.selectAP.value() - 1
+        #index = self.__ui.selectAP.value() - 1
+        index = 0
         ssid = self.__AccessPoints[index][0]
         password = self.__AccessPoints[index][1]
         self.__ui.wifiSSID.setText(ssid)
@@ -143,7 +145,7 @@ class MainWindow(QtWidgets.QMainWindow):
         self.__ui.statusMessageWidget.setText(msg)
 
     def setStatusBarUpdate(self, msg):
-        self.__ui.statusbar.showMessage(msg)
+        self.__ui.statusbar.showMessage(msg, 1000)
 
     def saveSettings(self):
         # MainWindow Settings