Skip to content

Commit d920083

Browse files
committed
add connect program
1 parent 4ab476d commit d920083

File tree

10 files changed

+424
-34
lines changed

10 files changed

+424
-34
lines changed

.cproject

+25-15
Original file line numberDiff line numberDiff line change
@@ -100,25 +100,26 @@
100100
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.750930067" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
101101
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.750930067." name="/" resourcePath="">
102102
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.721168014" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
103-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1498611500" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32F103C8Tx" valueType="string"/>
104-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.570323917" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
105-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.452157696" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
106-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1637118638" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
107-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1130738310" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.5 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32F103C8Tx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../USB_DEVICE/Target | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc | ../USB_DEVICE/App | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc || || || USE_HAL_DRIVER | STM32F103xB || || Drivers | Core/Startup | Middlewares | Core | USB_DEVICE || || || ${workspace_loc:/${ProjName}/STM32F103C8TX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || " valueType="string"/>
103+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1498611500" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32F103C8Tx" valueType="string"/>
104+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.570323917" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
105+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.452157696" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
106+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1637118638" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
107+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1130738310" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.5 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32F103C8Tx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../USB_DEVICE/Target | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc | ../USB_DEVICE/App | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc || || || USE_HAL_DRIVER | STM32F103xB || || Drivers | Core/Startup | Middlewares | Core | USB_DEVICE || || || ${workspace_loc:/${ProjName}/STM32F103C8TX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || " valueType="string"/>
108+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat.1835630684" name="Use float with printf from newlib-nano (-u _printf_float)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat" useByScannerDiscovery="false" value="true" valueType="boolean"/>
108109
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.191410289" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
109-
<builder buildPath="${workspace_loc:/STM32F103_BLDC_Driver}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1981590663" managedBuildOn="true" name="Gnu Make Builder.Release" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
110+
<builder buildPath="${workspace_loc:/STM32F103_BLDC_Driver}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1981590663" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
110111
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.79085423" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
111-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1973875732" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
112+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1973875732" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
112113
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.119213228" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
113114
</tool>
114115
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1970930262" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
115-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1427905556" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
116-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.1845588307" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
117-
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.975032883" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
116+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1427905556" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
117+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.1845588307" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
118+
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.975032883" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
118119
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
119120
<listOptionValue builtIn="false" value="STM32F103xB"/>
120121
</option>
121-
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.455649727" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
122+
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.455649727" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
122123
<listOptionValue builtIn="false" value="../USB_DEVICE/App"/>
123124
<listOptionValue builtIn="false" value="../USB_DEVICE/Target"/>
124125
<listOptionValue builtIn="false" value="../Core/Inc"/>
@@ -129,14 +130,16 @@
129130
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F1xx/Include"/>
130131
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
131132
</option>
133+
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.undefinedsymbols.682380292" name="Undefine symbols (-U)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.undefinedsymbols" useByScannerDiscovery="false" valueType="undefDefinedSymbols"/>
134+
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.otherflags.2117435010" name="Other flags" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.otherflags" useByScannerDiscovery="true" valueType="stringList"/>
132135
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.752081513" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
133136
</tool>
134137
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1973023894" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
135-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1103684534" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
136-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1304593481" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
138+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1103684534" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
139+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1304593481" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
137140
</tool>
138141
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.835503546" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
139-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1868903493" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F103C8TX_FLASH.ld}" valueType="string"/>
142+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1868903493" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" useByScannerDiscovery="false" value="${workspace_loc:/${ProjName}/STM32F103C8TX_FLASH.ld}" valueType="string"/>
140143
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.669356317" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
141144
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
142145
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
@@ -179,5 +182,12 @@
179182
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
180183
</scannerConfigBuildInfo>
181184
</storageModule>
182-
<storageModule moduleId="refreshScope"/>
185+
<storageModule moduleId="refreshScope" versionNumber="2">
186+
<configuration configurationName="Debug">
187+
<resource resourceType="PROJECT" workspacePath="/STM32F103_BLDC_Driver"/>
188+
</configuration>
189+
<configuration configurationName="Release">
190+
<resource resourceType="PROJECT" workspacePath="/STM32F103_BLDC_Driver"/>
191+
</configuration>
192+
</storageModule>
183193
</cproject>

Connect/connect.py

+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
import serial, io, time, threading, eel, keyboard
2+
import serial.tools.list_ports
3+
4+
runFlag = True
5+
6+
@eel.expose
7+
def get_python_variable():
8+
return connect.get_motor_data()
9+
10+
@eel.expose
11+
def set_motor_position(motorPos):
12+
connect.set_new_position(motorPos)
13+
14+
def close_callback(route, websockets):
15+
global runFlag
16+
17+
runFlag = False
18+
if not websockets:
19+
exit()
20+
21+
class Connect:
22+
motorData = ''
23+
24+
def __init__(self, comPort):
25+
print("port init")
26+
ports = serial.tools.list_ports.comports()
27+
for p in ports:
28+
print(p.device)
29+
print(len(ports), 'ports found')
30+
rxData = ''
31+
try:
32+
self.serialConn = serial.Serial(comPort, 115200, timeout=0, parity=serial.PARITY_EVEN, rtscts=1)
33+
except:
34+
print("device not found")
35+
exit()
36+
37+
def read_thread(self):
38+
while runFlag == True:
39+
time.sleep(.1)
40+
self.rxData = self.readData()
41+
self.parse_data(self.rxData)
42+
43+
def get_motor_data(self):
44+
return self.motorData
45+
46+
def set_new_position(self, newPos):
47+
pos = '#deg{}0/'.format(newPos)
48+
self.serialConn.write(str(pos).encode('ascii'))
49+
50+
def parse_data(self, data):
51+
if data != None:
52+
if data.count("#") > 0:
53+
self.motorData = data[data.index("#")+1 : data.index("/")]
54+
55+
def connect(self):
56+
self.serialConn.isOpen()
57+
58+
def readData(self):
59+
rx = ''
60+
while self.serialConn.inWaiting() > 0:
61+
rx += self.serialConn.read(1).decode('utf-8')
62+
if rx != '':
63+
return rx
64+
65+
def __del__(self):
66+
print("connection destruction")
67+
self.serialConn.close()
68+
69+
class Gui:
70+
def __init__(self):
71+
print("GUI init")
72+
self.eel = eel
73+
self.eel.init('web', allowed_extensions=['.js', '.html'])
74+
self.name = 'eel test'
75+
self.create_window()
76+
77+
def create_window(self):
78+
eel.start('index.html', size=(800, 1000), block = False, close_callback=close_callback)
79+
while True:
80+
eel.sleep(.1)
81+
82+
class Main:
83+
def __init__(self) -> None:
84+
print("main init")
85+
86+
def main_thread(self):
87+
global runFlag
88+
89+
while runFlag == True:
90+
time.sleep(1)
91+
92+
if __name__ == "__main__":
93+
connect = Connect("COM3")
94+
main = Main()
95+
96+
readTH = threading.Thread(target=connect.read_thread)
97+
readTH.start()
98+
mainTH = threading.Thread(target=main.main_thread)
99+
mainTH.start()
100+
101+
gui = Gui()

0 commit comments

Comments
 (0)