From bb949ab57eba5799c68791332ea097d17e184d9c Mon Sep 17 00:00:00 2001 From: Zhe Li Date: Tue, 8 May 2018 11:12:42 +0800 Subject: [PATCH 1/2] add disableTestingOpen --- .vscode/arduino.json | 5 +++++ .vscode/c_cpp_properties.json | 16 ++++++++++++++++ README.md | 4 +++- package.json | 4 ++++ src/arduino/vscodeSettings.ts | 6 ++++++ src/serialmonitor/serialportctrl.ts | 6 ++++++ 6 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 .vscode/arduino.json create mode 100644 .vscode/c_cpp_properties.json diff --git a/.vscode/arduino.json b/.vscode/arduino.json new file mode 100644 index 00000000..77e43d4a --- /dev/null +++ b/.vscode/arduino.json @@ -0,0 +1,5 @@ +{ + "board": "AZ3166:stm32f4:MXCHIP_AZ3166", + "configuration": "upload_method=OpenOCDMethod", + "port": "COM30" +} \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 00000000..a38463f6 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,16 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "C:\\Users\\zlhe\\AppData\\Local\\Arduino15\\packages\\AZ3166\\hardware\\stm32f4\\1.3.5\\cores\\arduino" + ], + "browse": { + "limitSymbolsToIncludedHeaders": false, + "path": [ + "C:\\Users\\zlhe\\AppData\\Local\\Arduino15\\packages\\AZ3166\\hardware\\stm32f4\\1.3.5\\cores\\arduino" + ] + } + } + ] +} \ No newline at end of file diff --git a/README.md b/README.md index 269d30b6..4a16c088 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,8 @@ The following Visual Studio Code settings are available for the Arduino extensio "arduino.commandPath": "run-arduino.bat", "arduino.additionalUrls": "", "arduino.logLevel": "info", - "arduino.enableUSBDetection": true + "arduino.enableUSBDetection": true, + "arduino.disableTestingOpen": false } ``` - `arduino.path` - Path to Arduino, you can use a custom version of Arduino by modifying this setting to include the full path. Example: `C:\\Program Files\\Arduino` for Windows, `/Applications` for Mac, `/home/$user/Downloads/arduino-1.8.1` for Linux. (Requires a restart after change). The default value is automatically detected from your Arduino IDE installation path. @@ -66,6 +67,7 @@ The following Visual Studio Code settings are available for the Arduino extensio - `arduino.additionalUrls` - Additional URLs for 3rd party packages. You can have multiple URLs in one string with comma(,) as separator, or have a string array. The default value is empty. - `arduino.logLevel` - CLI output log level. Could be info or verbose. The default value is `"info"`. - `arduino.enableUSBDetection` - Enable/disable USB detection from the VSCode Arduino extension. The default value is `true`. +- `arduino.disableTestingOpen` - Disable/enable auto sending a test message to serial port for checking open status. The default value is `false` (a test message will be sent). The following settings are per sketch settings of the Arduino extension. You can find them in `.vscode/arduino.json` under the workspace. diff --git a/package.json b/package.json index 8037e431..1132c2df 100644 --- a/package.json +++ b/package.json @@ -436,6 +436,10 @@ "arduino.enableUSBDetection": { "type": "boolean", "default": true + }, + "arduino.disableTestingOpen": { + "type": "boolean", + "default": false } } }, diff --git a/src/arduino/vscodeSettings.ts b/src/arduino/vscodeSettings.ts index 408760c9..bc9f43ce 100644 --- a/src/arduino/vscodeSettings.ts +++ b/src/arduino/vscodeSettings.ts @@ -10,6 +10,7 @@ const configKeys = { LOG_LEVEL: "arduino.logLevel", AUTO_UPDATE_INDEX_FILES: "arduino.autoUpdateIndexFiles", ENABLE_USB_DETECTOIN: "arduino.enableUSBDetection", + DISABLE_TESTING_OPEN: "arduino.disableTestingOpen", }; export interface IVscodeSettings { @@ -18,6 +19,7 @@ export interface IVscodeSettings { additionalUrls: string | string[]; logLevel: string; enableUSBDetection: boolean; + disableTestingOpen: boolean; updateAdditionalUrls(urls: string | string[]): void; } @@ -53,6 +55,10 @@ export class VscodeSettings implements IVscodeSettings { return this.getConfigValue(configKeys.ENABLE_USB_DETECTOIN); } + public get disableTestingOpen(): boolean { + return this.getConfigValue(configKeys.DISABLE_TESTING_OPEN); + } + public async updateAdditionalUrls(value) { await this.setConfigValue(configKeys.ADDITIONAL_URLS, value, true); } diff --git a/src/serialmonitor/serialportctrl.ts b/src/serialmonitor/serialportctrl.ts index 5a252093..cc282773 100644 --- a/src/serialmonitor/serialportctrl.ts +++ b/src/serialmonitor/serialportctrl.ts @@ -3,6 +3,7 @@ import * as os from "os"; import { OutputChannel, QuickPickItem, StatusBarAlignment, StatusBarItem, window } from "vscode"; +import { VscodeSettings } from "../arduino/vscodeSettings"; interface ISerialPortDetail { comName: string; @@ -78,6 +79,11 @@ export class SerialPortCtrl { this._currentSerialPort = new SerialPortCtrl.serialport(this._currentPort, { baudRate: this._currentBaudRate }); this._outputChannel.show(); this._currentSerialPort.on("open", () => { + if (VscodeSettings.getInstance().disableTestingOpen) { + this._outputChannel.appendLine("[Warning] Auto checking serial port open is disabled"); + return resolve(); + } + this._currentSerialPort.write("TestingOpen", "Both NL & CR", (err) => { // TODO: Fix this on the serial port lib: https://github.com/EmergingTechnologyAdvisors/node-serialport/issues/795 if (err && !(err.message.indexOf("Writing to COM port (GetOverlappedResult): Unknown error code 121") >= 0)) { From 35882759adef464b90fb22be7b901f8fc957411c Mon Sep 17 00:00:00 2001 From: Zhe Li Date: Tue, 8 May 2018 11:14:33 +0800 Subject: [PATCH 2/2] clean up --- .vscode/arduino.json | 5 ----- .vscode/c_cpp_properties.json | 16 ---------------- 2 files changed, 21 deletions(-) delete mode 100644 .vscode/arduino.json delete mode 100644 .vscode/c_cpp_properties.json diff --git a/.vscode/arduino.json b/.vscode/arduino.json deleted file mode 100644 index 77e43d4a..00000000 --- a/.vscode/arduino.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "board": "AZ3166:stm32f4:MXCHIP_AZ3166", - "configuration": "upload_method=OpenOCDMethod", - "port": "COM30" -} \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index a38463f6..00000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "configurations": [ - { - "name": "Win32", - "includePath": [ - "C:\\Users\\zlhe\\AppData\\Local\\Arduino15\\packages\\AZ3166\\hardware\\stm32f4\\1.3.5\\cores\\arduino" - ], - "browse": { - "limitSymbolsToIncludedHeaders": false, - "path": [ - "C:\\Users\\zlhe\\AppData\\Local\\Arduino15\\packages\\AZ3166\\hardware\\stm32f4\\1.3.5\\cores\\arduino" - ] - } - } - ] -} \ No newline at end of file