Skip to content

Commit

Permalink
Merge branch 'release/v1.8.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
ivankravets committed Jul 16, 2019
2 parents 08c83e5 + a5a343c commit 7ebc643
Show file tree
Hide file tree
Showing 17 changed files with 136 additions and 63 deletions.
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
custom: https://platformio.org/donate
22 changes: 21 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# Release Notes

## 1.8.0 (2019-07-??)

* Full support for [PlatformIO Core 4.0](http://docs.platformio.org/en/latest/migration.html)
* PlatformIO Core Installer:
- Added support for Python 3 and its "venv" module
- Added [PIO Remote](http://docs.platformio.org/en/latest/plus/pio-remote.html) project tasks
- Added "Fuses" related project tasks
- Added "Erase" project task for Espressif and Nordic dev/platforms
- Implemented ProjectConfig parser following PIO Core 4.0 specification
- Support custom port for PIO Home server
- Override default `~/.platformio/penv` folder with environment variable `PLATFORMIO_PENV_DIR`
* [PIO Unified Debugger](http://docs.platformio.org/page/plus/debugging.html):
- Improved memory reading when large size of data were requested (Memory Viewer, Peripheral Registers)
- Fixed an error "Cannot read property 'getTreeNode' of null" when reading "Generic Registers" (issue [#862](https://github.com/platformio/platformio-vscode-ide/issues/862))
* Added new setting `platformio-ide.pioHomeServerHttpPort` which sets a default HTTP port for PIO Home server (issue [#832](https://github.com/platformio/platformio-vscode-ide/issues/832))
* Added new setting `platformio-ide.disablePIOHomeStartup` which disables showing PIO Home at startup (issue [#888](https://github.com/platformio/platformio-vscode-ide/issues/888))
* Replaced *.png icons with *.svg (issue [#755](https://github.com/platformio/platformio-vscode-ide/issues/755))
* Fixed an issue when PlatformIO Core does not handle disabled "Proxy Strict SSL" (issue [#837](https://github.com/platformio/platformio-vscode-ide/issues/837))
* Fixed an issue with multiple instances of PIO Home when opening new project (issue [#624](https://github.com/platformio/platformio-vscode-ide/issues/624))

## 1.7.1 (2019-04-20)

* PlatformIO Core Installer:
Expand Down Expand Up @@ -83,7 +103,7 @@
* Added "Update All" (platforms, packages, libraries) quick access command to "PlatformIO Activity" (left sidebar) (issue [#335](https://github.com/platformio/platformio-vscode-ide/issues/335))
* Improvements for [PIO Unified Debugger](http://docs.platformio.org/page/plus/debugging.html):
- Fixed issue when using [BlackMagic Probe](http://docs.platformio.org/en/latest/plus/debug-tools/blackmagic.html) in pair with Atmel SAMD20/SAMD21 based boards
- Improved running to [debug_init_break](http://docs.platformio.org/en/latest/projectconf/section_env_debug.html#debug-init-break) on startup
- Improved running to [debug_init_break](http://docs.platformio.org/en/latest/projectconf/section_env_debug.html#debug-init-break) on startup

## 1.2.0 (2018-09-12)

Expand Down
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,16 @@
[PlatformIO](https://platformio.org) is an open source ecosystem for IoT development.
Cross-platform build system and unified debugger. Remote unit testing and firmware updates.

**Platforms**: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Freescale Kinetis, Infineon XMC, Intel ARC32, Intel MCS-51 (8051), Lattice iCE40, Maxim 32, Microchip PIC32, Nordic nRF51, Nordic nRF52, NXP LPC, RISC-V, Samsung ARTIK, Silicon Labs EFM32, ST STM32, ST STM8, Teensy, TI MSP430, TI Tiva, WIZNet W7500
**Platforms**: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Freescale Kinetis, Infineon XMC, Intel ARC32, Intel MCS-51 (8051), Kendryte K210, Lattice iCE40, Maxim 32, Microchip PIC32, Nordic nRF51, Nordic nRF52, NXP LPC, RISC-V, Samsung ARTIK, Silicon Labs EFM32, ST STM32, ST STM8, Teensy, TI MSP430, TI Tiva, WIZNet W7500

**Frameworks**: Arduino, ARTIK SDK, CMSIS, Energia, ESP-IDF, ESP8266 RTOS SDK, Freedom E SDK, libOpenCM3, mbed, PULP OS, Pumbaa, Simba, SPL, STM32Cube, Tizen RT, WiringPi
**Frameworks**: Arduino, ARTIK SDK, CMSIS, Energia, ESP-IDF, ESP8266 RTOS SDK, Freedom E SDK, Kendryte Standalone SDK, Kendryte FreeRTOS SDK, libOpenCM3, mbed, PULP OS, Pumbaa, Simba, SPL, STM32Cube, Tizen RT, WiringPi

## Features

* Cross-platform code builder without external dependencies to a system software:

- 600+ embedded boards
- 650+ embedded boards
- 30+ development platforms
- 15+ frameworks

* [PIO Unified Debugger](http://docs.platformio.org/page/plus/debugging.html)
* [PIO Unit Testing](http://docs.platformio.org/page/plus/unit-testing.html)
* [PIO Remote](http://docs.platformio.org/page/plus/pio-remote.html)
Expand Down
25 changes: 17 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "platformio-ide",
"version": "1.7.1",
"version": "1.8.0",
"publisher": "platformio",
"engines": {
"vscode": "^1.24.0"
},
"license": "Apache-2.0",
"displayName": "PlatformIO IDE",
"description": "Development environment for IoT, Arduino, ARM mbed, Espressif (ESP8266/ESP32), RISC-V, STM32, PIC32, nRF51/nRF52, MSP430, MCS-51 (8051), FPGA, FreeRTOS, ESP-IDF, CMSIS, SPL, AVR, Samsung ARTIK, libOpenCM3",
"description": "Development environment for IoT, Arduino, ARM mbed, Espressif (ESP8266/ESP32), AVR, RISC-V, STM32, PIC32, nRF51/nRF52, MSP430, MCS-51 (8051), FPGA, FreeRTOS, ESP-IDF, CMSIS, SPL",
"categories": [
"Programming Languages",
"Debuggers",
Expand All @@ -18,7 +18,7 @@
"c",
"c++",
"embedded",
"arduino"
"firmware"
],
"main": "./dist/extension",
"icon": "resources/platformio-logo.png",
Expand Down Expand Up @@ -410,7 +410,7 @@
{
"id": "platformio",
"title": "PlatformIO",
"icon": "resources/platformio-activity-icon.png",
"icon": "resources/platformio-activity-icon.svg",
"when": "pioCoreReady"
}
]
Expand Down Expand Up @@ -562,6 +562,15 @@
"type": "boolean",
"default": true,
"description": "Update Terminal configuration with patched PATH environment"
},
"platformio-ide.disablePIOHomeStartup": {
"type": "boolean",
"default": false,
"description": "Disable showing PIO Home at startup"
},
"platformio-ide.pioHomeServerHttpPort": {
"type": "integer",
"description": "PIO Home server HTTP port (default is 0 and instructs finding a free port in range [8010..8100])"
}
}
}
Expand All @@ -580,8 +589,8 @@
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-env": "^1.7.0",
"esformatter": "^0.10.0",
"eslint": "^5.9.0",
"eslint-import-resolver-webpack": "^0.10.1",
"eslint": "^6.0.1",
"eslint-import-resolver-webpack": "^0.11.1",
"eslint-plugin-import": "^2.14.0",
"vsce": "^1.53.2",
"vscode": "^1.1.22",
Expand All @@ -590,8 +599,8 @@
},
"dependencies": {
"fs-plus": "^3.0.2",
"platformio-node-helpers": "^4.1.0",
"platformio-vscode-debug": "^1.2.6"
"platformio-node-helpers": "^5.0.0",
"platformio-vscode-debug": "^1.2.7"
},
"extensionDependencies": [
"ms-vscode.cpptools"
Expand Down
Binary file removed resources/icons/task-inverse.png
Binary file not shown.
9 changes: 9 additions & 0 deletions resources/icons/task-inverse.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed resources/icons/task.png
Binary file not shown.
9 changes: 9 additions & 0 deletions resources/icons/task.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed resources/platformio-activity-icon.png
Binary file not shown.
9 changes: 9 additions & 0 deletions resources/platformio-activity-icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed resources/platformio-mini-logo.png
Binary file not shown.
9 changes: 9 additions & 0 deletions resources/platformio-mini-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
export const IS_WINDOWS = process.platform.startsWith('win');
export const IS_OSX = process.platform == 'darwin';
export const IS_LINUX = !IS_WINDOWS && !IS_OSX;
export const PIO_CORE_MIN_VERSION = '3.6.3';
export const CONFLICTED_EXTENSION_IDS = ['mitaki28.vscode-clang', 'vsciot-vscode.vscode-arduino'];
export const PIO_CORE_MIN_VERSION = '4.0.0';
export const CONFLICTED_EXTENSION_IDS = ['llvm-vs-code-extensions.vscode-clangd', 'vsciot-vscode.vscode-arduino'];
20 changes: 15 additions & 5 deletions src/home.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ export default class PIOHome {
this.subscriptions = [];
this._currentPanel = undefined;
this._lastStartUrl = PIOHome.defaultStartUrl;

// close PIO Home when workspaces folders are changed (VSCode reactivates extensiuon)
this.subscriptions.push(vscode.workspace.onDidChangeWorkspaceFolders(this.disposePanel.bind(this)));
}

async toggle(startUrl=PIOHome.defaultStartUrl) {
Expand Down Expand Up @@ -49,7 +52,7 @@ export default class PIOHome {
}
);
this.subscriptions.push(panel.onDidDispose(this.onPanelDisposed.bind(this)));
panel.iconPath = vscode.Uri.file(path.join(extension.context.extensionPath, 'resources', 'platformio-mini-logo.png'));
panel.iconPath = vscode.Uri.file(path.join(extension.context.extensionPath, 'resources', 'platformio-mini-logo.svg'));
panel.webview.html = this.getLoadingContent();
try {
panel.webview.html = await this.getWebviewContent(startUrl);
Expand Down Expand Up @@ -84,8 +87,10 @@ export default class PIOHome {

async getWebviewContent(startUrl) {
const params = await pioNodeHelpers.home.ensureServerStarted({
port: extension.getSetting('pioHomeServerHttpPort'),
onIDECommand: (command, params) => {
if (command === 'open_project') {
this.disposePanel();
if (vscode.workspace.workspaceFolders) {
vscode.workspace.updateWorkspaceFolders(vscode.workspace.workspaceFolders.length, null, { uri: vscode.Uri.file(params)});
} else {
Expand Down Expand Up @@ -117,11 +122,16 @@ export default class PIOHome {
this._currentPanel = undefined;
}

dispose() {
if (this._currentPanel) {
this._currentPanel.dispose();
this._currentPanel = undefined;
disposePanel() {
if (!this._currentPanel) {
return;
}
this._currentPanel.dispose();
this._currentPanel = undefined;
}

dispose() {
this.disposePanel();
pioNodeHelpers.misc.disposeSubscriptions(this.subscriptions);
pioNodeHelpers.home.shutdownServer();
}
Expand Down
Loading

0 comments on commit 7ebc643

Please sign in to comment.