root 4 年之前
父節點
當前提交
08d729bac9
共有 1 個文件被更改,包括 21 次插入4 次删除
  1. 21 4
      src/renderer/uploader.js

+ 21 - 4
src/renderer/uploader.js

@@ -303,10 +303,26 @@ function detect(comName, locationId = '') {
  */
 export function upload(code, val, socket) {
     return new Promise(async (resolve, reject) => {
-        if (serialPort && serialPort.isOpen) {
-            try {
-                serialPort.close();
-            } catch (e) { }
+        // if (serialPort && serialPort.isOpen) {
+        //     try {
+        //         serialPort.close();
+        //     } catch (e) { }
+        // }
+        if (serialPort) {
+            code = code.replace(new RegExp("\"", "gm"), "\\\"").replace(/^\s+|\s+$/g, '');
+            var complete_command = "^Z \r\n && rm /home/user/upload.py && echo \"" + code + "\" > /home/user/upload.py && python /home/user/upload.py" + "\r\n";
+            serialPort.write(complete_command, function (err, msg) {
+                if (err) {
+                    err = err.message;
+                    reject(err);
+                    let error = errHandler(err);
+                    socket.emit('upload', { ProgrammerStatus: 'Error', Error: error });
+                }
+                else if (msg) {
+                    resolve();
+                    socket.emit('repl', { code: msg.toString() });
+                }
+            })
         }
         serialPort = await new SerialPort(val, {
             baudRate: 115200,
@@ -400,6 +416,7 @@ export function upload(code, val, socket) {
     */
 }
 
+
 //     * 上传插件收到来自前端的 python 文件,将 python 代码通过 ampy 命令上传至模块中
 //     * ampy --port [端口名] put user_code.py /user_code.py
 // * 等待上传插件将代码上传成功以后,运行该文件