From 5c9e5fdfe85b6f635591e4e7711c4e0ad0bc76ca Mon Sep 17 00:00:00 2001 From: Kirill Shumilov Date: Mon, 28 Sep 2020 16:50:10 +0300 Subject: [PATCH 1/4] fix(xod-arduino): fix bug with tweak nodes in dirtyness propagation optimisation --- packages/xod-arduino/platform/program.tpl.cpp | 8 ++++++-- packages/xod-arduino/src/templates.js | 17 +++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/packages/xod-arduino/platform/program.tpl.cpp b/packages/xod-arduino/platform/program.tpl.cpp index 06d50d5e3..f2f93a50b 100644 --- a/packages/xod-arduino/platform/program.tpl.cpp +++ b/packages/xod-arduino/platform/program.tpl.cpp @@ -147,7 +147,11 @@ void handleDebugProtocolMessages() { rewindToEol = true; // to run evaluate and mark all downstream nodes as dirty g_transaction.node_{{ id }}_isNodeDirty = true; - g_transaction.node_{{ id }}_isOutputDirty_OUT = true; + {{#each outputs}} + {{#if (shouldOutputStoreDirtyness this)}} + g_transaction.node_{{ ../id }}_isOutputDirty_{{ pinKey }} = true; + {{/if}} + {{/each}} } break; {{/eachLinkedTweakNode}} @@ -417,7 +421,7 @@ void runTransaction() { // initialize temporary output dirtyness state in the context, // where it can be modified from `raiseError` and `emitValue` {{#eachDirtyablePin outputs}} - ctxObj._isOutputDirty_{{ pinKey }} = {{#if (isLinkedTweakNode ../this) ~}} + ctxObj._isOutputDirty_{{ pinKey }} = {{#if (doesTweakNodeOutputDirtienessUsed ../this this) ~}} g_transaction.node_{{ ../id }}_isOutputDirty_{{ pinKey }} {{~else~}} false diff --git a/packages/xod-arduino/src/templates.js b/packages/xod-arduino/src/templates.js index f7ce68272..8ecf2598b 100644 --- a/packages/xod-arduino/src/templates.js +++ b/packages/xod-arduino/src/templates.js @@ -274,12 +274,15 @@ Handlebars.registerHelper( const isOutputLinked = R.pipe(R.pathOr(0, ['to', 'length'])); +// :: TNodeOutput -> Boolean +const shouldOutputStoreDirtyness = R.both( + isOutputLinked, + R.propSatisfies(R.any(R.prop('doesAffectDirtyness')), 'to') +); + Handlebars.registerHelper( 'shouldOutputStoreDirtyness', - R.both( - isOutputLinked, - R.propSatisfies(R.any(R.prop('doesAffectDirtyness')), 'to') - ) + shouldOutputStoreDirtyness ); const isLinkedTweakNode = R.both( @@ -289,6 +292,12 @@ const isLinkedTweakNode = R.both( Handlebars.registerHelper('isLinkedTweakNode', isLinkedTweakNode); +Handlebars.registerHelper( + 'doesTweakNodeOutputDirtienessUsed', + (tNode, tOutput) => + isLinkedTweakNode(tNode) && shouldOutputStoreDirtyness(tOutput) +); + const isTweakStringNode = R.pipe( R.path(['patch', 'patchPath']), XP.getTweakType, From 709c360a51f101afa1b479565326b856eb4ba92b Mon Sep 17 00:00:00 2001 From: Kirill Shumilov Date: Wed, 30 Sep 2020 13:30:58 +0300 Subject: [PATCH 2/4] chore(infra): release 0.35.3 --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- packages/xod-arduino/package.json | 2 +- packages/xod-cli/package.json | 6 +++--- packages/xod-client-browser/package.json | 6 +++--- packages/xod-client-electron/package.json | 6 +++--- packages/xod-client/package.json | 8 ++++---- packages/xod-cloud-compile/package.json | 4 ++-- packages/xod-tabtest/package.json | 4 ++-- workspace/__lib__/xod-cloud/basics/project.xod | 2 +- workspace/__lib__/xod-cloud/feeds/project.xod | 2 +- workspace/__lib__/xod-dev/dht/project.xod | 2 +- workspace/__lib__/xod-dev/ds-rtc/project.xod | 2 +- workspace/__lib__/xod-dev/esp8266-mcu/project.xod | 2 +- workspace/__lib__/xod-dev/esp8266/project.xod | 2 +- workspace/__lib__/xod-dev/hc-sr04/project.xod | 2 +- workspace/__lib__/xod-dev/pn532-nfc/project.xod | 2 +- workspace/__lib__/xod-dev/servo/project.xod | 2 +- workspace/__lib__/xod-dev/sharp-irm/project.xod | 2 +- workspace/__lib__/xod-dev/ssd1306-display/project.xod | 2 +- workspace/__lib__/xod-dev/st-mems/project.xod | 2 +- workspace/__lib__/xod-dev/st7735-display/project.xod | 2 +- workspace/__lib__/xod-dev/text-lcd/project.xod | 2 +- workspace/__lib__/xod-dev/w5500/project.xod | 2 +- workspace/__lib__/xod-dev/ws2812/project.xod | 2 +- workspace/__lib__/xod/bits/project.xod | 2 +- workspace/__lib__/xod/color/project.xod | 2 +- workspace/__lib__/xod/common-hardware/project.xod | 2 +- workspace/__lib__/xod/core/project.xod | 2 +- workspace/__lib__/xod/datetime/project.xod | 2 +- workspace/__lib__/xod/debug/project.xod | 2 +- workspace/__lib__/xod/gpio/project.xod | 2 +- workspace/__lib__/xod/graphics/project.xod | 2 +- workspace/__lib__/xod/i2c/project.xod | 2 +- workspace/__lib__/xod/json/project.xod | 2 +- workspace/__lib__/xod/math/project.xod | 2 +- workspace/__lib__/xod/mutex/project.xod | 2 +- workspace/__lib__/xod/net/project.xod | 2 +- workspace/__lib__/xod/stream/project.xod | 2 +- workspace/__lib__/xod/uart/project.xod | 2 +- workspace/__lib__/xod/units/project.xod | 2 +- workspace/__lib__/xod/waves/project.xod | 2 +- 42 files changed, 60 insertions(+), 52 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17a3e94b5..068d94c42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + + +## 0.35.3 (2020-09-30) + +### Bug fixes + +* [c++] Fix dirtiness propagation of outputs of tweak nodes (#2048) + ## 0.35.2 (2020-09-18) diff --git a/lerna.json b/lerna.json index 89790b2cd..b782daf51 100644 --- a/lerna.json +++ b/lerna.json @@ -6,5 +6,5 @@ "packages": [ "packages/*" ], - "version": "0.35.2" + "version": "0.35.3" } diff --git a/packages/xod-arduino/package.json b/packages/xod-arduino/package.json index 1942c2cae..8653c0c6c 100644 --- a/packages/xod-arduino/package.json +++ b/packages/xod-arduino/package.json @@ -1,6 +1,6 @@ { "name": "xod-arduino", - "version": "0.35.2", + "version": "0.35.3", "description": "XOD project: Arduino transpiler", "scripts": { "build:nearley": "nearleyc src/implementationGrammar.ne -o src/implementationGrammar.ne.js", diff --git a/packages/xod-cli/package.json b/packages/xod-cli/package.json index 8db7706b0..f145f99f2 100644 --- a/packages/xod-cli/package.json +++ b/packages/xod-cli/package.json @@ -1,6 +1,6 @@ { "name": "xod-cli", - "version": "0.35.2", + "version": "0.35.3", "description": "XOD project: Command Line Interface", "author": "XOD Team ", "bin": { @@ -24,12 +24,12 @@ "node-fetch": "^2.3.0", "ramda": "^0.24.1", "source-map-support": "^0.5.9", - "xod-arduino": "^0.35.2", + "xod-arduino": "^0.35.3", "xod-deploy-bin": "^0.35.2", "xod-fs": "^0.35.2", "xod-func-tools": "^0.34.0", "xod-project": "^0.35.2", - "xod-tabtest": "^0.35.2" + "xod-tabtest": "^0.35.3" }, "devDependencies": { "@oclif/dev-cli": "^1.19.4", diff --git a/packages/xod-client-browser/package.json b/packages/xod-client-browser/package.json index dcfef739a..142d2ed2e 100644 --- a/packages/xod-client-browser/package.json +++ b/packages/xod-client-browser/package.json @@ -1,6 +1,6 @@ { "name": "xod-client-browser", - "version": "0.35.2", + "version": "0.35.3", "description": "XOD project: Client browser application", "scripts": { "build:tutorial-project": "node ./tools/loadTutorialProject.js", @@ -24,8 +24,8 @@ "redux": "^3.0.5", "redux-thunk": "^2.1.0", "url-parse": "^1.2.0", - "xod-arduino": "^0.35.2", - "xod-client": "^0.35.2", + "xod-arduino": "^0.35.3", + "xod-client": "^0.35.3", "xod-func-tools": "^0.34.0", "xod-project": "^0.35.2" }, diff --git a/packages/xod-client-electron/package.json b/packages/xod-client-electron/package.json index 482b983ac..58e10f660 100644 --- a/packages/xod-client-electron/package.json +++ b/packages/xod-client-electron/package.json @@ -5,7 +5,7 @@ "license": "AGPL-3.0", "main": "src-babel/app/main.js", "name": "xod-client-electron", - "version": "0.35.2", + "version": "0.35.3", "scripts": { "build:workspace": "cpx \"../../workspace/**/*\" \"src-babel/workspace\"", "build:gui": "webpack --colors", @@ -44,8 +44,8 @@ "redux": "^3.0.5", "redux-thunk": "^2.1.0", "serialport": "^7.0.2", - "xod-arduino": "^0.35.2", - "xod-client": "^0.35.2", + "xod-arduino": "^0.35.3", + "xod-client": "^0.35.3", "xod-deploy": "^0.35.2", "xod-deploy-bin": "^0.35.2", "xod-fs": "^0.35.2", diff --git a/packages/xod-client/package.json b/packages/xod-client/package.json index f9888f7c4..424eb575e 100644 --- a/packages/xod-client/package.json +++ b/packages/xod-client/package.json @@ -1,6 +1,6 @@ { "name": "xod-client", - "version": "0.35.2", + "version": "0.35.3", "description": "XOD project: Client application", "scripts": { "build": "babel src/ -d dist/ --source-maps", @@ -64,13 +64,13 @@ "url-search-params-polyfill": "^2.0.1", "vec-la-fp": "^1.5.2", "wait-for-element": "^1.0.2", - "xod-arduino": "^0.35.2", - "xod-cloud-compile": "^0.35.2", + "xod-arduino": "^0.35.3", + "xod-cloud-compile": "^0.35.3", "xod-func-tools": "^0.34.0", "xod-patch-search": "^0.35.2", "xod-pm": "^0.35.2", "xod-project": "^0.35.2", - "xod-tabtest": "^0.35.2" + "xod-tabtest": "^0.35.3" }, "devDependencies": { "@storybook/addon-actions": "^3.2.17", diff --git a/packages/xod-cloud-compile/package.json b/packages/xod-cloud-compile/package.json index 9b16e2d41..35045ec29 100644 --- a/packages/xod-cloud-compile/package.json +++ b/packages/xod-cloud-compile/package.json @@ -1,6 +1,6 @@ { "name": "xod-cloud-compile", - "version": "0.35.2", + "version": "0.35.3", "description": "", "main": "dist/index.js", "scripts": { @@ -21,7 +21,7 @@ "ramda": "^0.24.1", "string-to-arraybuffer": "^1.0.2", "xod-func-tools": "^0.34.0", - "xod-tabtest": "^0.35.2" + "xod-tabtest": "^0.35.3" }, "devDependencies": { "babel-plugin-inline-import": "^2.0.4", diff --git a/packages/xod-tabtest/package.json b/packages/xod-tabtest/package.json index 2a5f20418..3988d04a4 100644 --- a/packages/xod-tabtest/package.json +++ b/packages/xod-tabtest/package.json @@ -1,6 +1,6 @@ { "name": "xod-tabtest", - "version": "0.35.2", + "version": "0.35.3", "scripts": { "refmt": "find src/ test/ -name '*.re*' -exec refmt --in-place {} +", "build:lib": "node ./tools/loadTabtestLibPatches.js", @@ -18,7 +18,7 @@ "main": "src/Tabtest_Js.bs.js", "dependencies": { "belt-holes": "^0.34.0", - "xod-arduino": "^0.35.2", + "xod-arduino": "^0.35.3", "xod-func-tools": "^0.34.0", "xod-project": "^0.35.2" }, diff --git a/workspace/__lib__/xod-cloud/basics/project.xod b/workspace/__lib__/xod-cloud/basics/project.xod index ffd9cf199..cdee3f3b8 100644 --- a/workspace/__lib__/xod-cloud/basics/project.xod +++ b/workspace/__lib__/xod-cloud/basics/project.xod @@ -5,5 +5,5 @@ "description": "Nodes to get some basic data from the XOD Cloud API", "license": "AGPL-3.0", "name": "basics", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-cloud/feeds/project.xod b/workspace/__lib__/xod-cloud/feeds/project.xod index e91c12901..e1995ec7f 100644 --- a/workspace/__lib__/xod-cloud/feeds/project.xod +++ b/workspace/__lib__/xod-cloud/feeds/project.xod @@ -5,5 +5,5 @@ "description": "Nodes for communicating with the XOD Cloud Feeds service", "license": "AGPL-3.0", "name": "feeds", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/dht/project.xod b/workspace/__lib__/xod-dev/dht/project.xod index e1f0f4354..7b7a64ae0 100644 --- a/workspace/__lib__/xod-dev/dht/project.xod +++ b/workspace/__lib__/xod-dev/dht/project.xod @@ -2,5 +2,5 @@ "description": "Nodes to work with DHT11 or DHT21 sensors, or compatible sensors: RHT01, DHT22, DHT33, DHT44, AM2301, HM2301, AM2302, AM2303, RHT02, RHT03, RHT04, RHT05.", "license": "AGPL-3.0", "name": "dht", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/ds-rtc/project.xod b/workspace/__lib__/xod-dev/ds-rtc/project.xod index f5c065263..feac1bb36 100644 --- a/workspace/__lib__/xod-dev/ds-rtc/project.xod +++ b/workspace/__lib__/xod-dev/ds-rtc/project.xod @@ -5,5 +5,5 @@ "description": "This library operates DS1302/DS1307/DS3231 based breakout RTC boards", "license": "AGPL-3.0", "name": "ds-rtc", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/esp8266-mcu/project.xod b/workspace/__lib__/xod-dev/esp8266-mcu/project.xod index ea019e077..398e29bda 100644 --- a/workspace/__lib__/xod-dev/esp8266-mcu/project.xod +++ b/workspace/__lib__/xod-dev/esp8266-mcu/project.xod @@ -5,5 +5,5 @@ "description": "Support for ESP8266-based MCUs.", "license": "AGPL-3.0", "name": "esp8266-mcu", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/esp8266/project.xod b/workspace/__lib__/xod-dev/esp8266/project.xod index d5858e6a9..a4d30c977 100644 --- a/workspace/__lib__/xod-dev/esp8266/project.xod +++ b/workspace/__lib__/xod-dev/esp8266/project.xod @@ -5,5 +5,5 @@ "description": "Support for ESP8266 as a slave module", "license": "AGPL-3.0", "name": "esp8266", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/hc-sr04/project.xod b/workspace/__lib__/xod-dev/hc-sr04/project.xod index b736be121..f3bdbe767 100644 --- a/workspace/__lib__/xod-dev/hc-sr04/project.xod +++ b/workspace/__lib__/xod-dev/hc-sr04/project.xod @@ -2,5 +2,5 @@ "description": "Nodes to work with the HC-SR04 ultrasonic range meters.", "license": "AGPL-3.0", "name": "hc-sr04", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/pn532-nfc/project.xod b/workspace/__lib__/xod-dev/pn532-nfc/project.xod index 7f706a693..43c24f5c3 100644 --- a/workspace/__lib__/xod-dev/pn532-nfc/project.xod +++ b/workspace/__lib__/xod-dev/pn532-nfc/project.xod @@ -2,5 +2,5 @@ "description": "Support for RFID/NFC modules based on a PN532 chip.", "license": "MIT", "name": "pn532-nfc", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/servo/project.xod b/workspace/__lib__/xod-dev/servo/project.xod index cec9e48cb..d190187b9 100755 --- a/workspace/__lib__/xod-dev/servo/project.xod +++ b/workspace/__lib__/xod-dev/servo/project.xod @@ -5,5 +5,5 @@ "description": "Nodes to control RC hobby servos", "license": "AGPL-3.0", "name": "servo", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/sharp-irm/project.xod b/workspace/__lib__/xod-dev/sharp-irm/project.xod index e8296a5d1..73417e3c4 100644 --- a/workspace/__lib__/xod-dev/sharp-irm/project.xod +++ b/workspace/__lib__/xod-dev/sharp-irm/project.xod @@ -5,5 +5,5 @@ "description": "Nodes to read analog infrared range meters by Sharp (GP2Y0A) and convert the signal to distance values.", "license": "AGPL-3.0", "name": "sharp-irm", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/ssd1306-display/project.xod b/workspace/__lib__/xod-dev/ssd1306-display/project.xod index 23cd47978..a4050a276 100644 --- a/workspace/__lib__/xod-dev/ssd1306-display/project.xod +++ b/workspace/__lib__/xod-dev/ssd1306-display/project.xod @@ -2,5 +2,5 @@ "description": "Nodes to drive SD1306-based monochrome LCDs with I2C interface.", "license": "AGPL-3.0", "name": "ssd1306-display", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/st-mems/project.xod b/workspace/__lib__/xod-dev/st-mems/project.xod index 9b8417e3e..509e7921a 100644 --- a/workspace/__lib__/xod-dev/st-mems/project.xod +++ b/workspace/__lib__/xod-dev/st-mems/project.xod @@ -2,5 +2,5 @@ "description": "Nodes to work with gyroscopes, accelerometers and barometers based on chips by STMicroelectronics: L3G4200, L3GD20H, LIS331DLH, LIS331HH, LIS3DH, LPS331.", "license": "AGPL-3.0", "name": "st-mems", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/st7735-display/project.xod b/workspace/__lib__/xod-dev/st7735-display/project.xod index 03467d52c..8893bb321 100644 --- a/workspace/__lib__/xod-dev/st7735-display/project.xod +++ b/workspace/__lib__/xod-dev/st7735-display/project.xod @@ -2,5 +2,5 @@ "description": "Nodes to drive ST7735 based TFT LCD displays. This library supports 128x160 resolution displays which are connected through the hardware SPI interface. Physically, some displays based on the 7735 chip may differ from each other and have different sets of instructions for initialization. To solve this, the library contains several device nodes for different types of displays. These nodes are labeled \"B\", \"G\", \"RG\", and \"RR\".", "license": "AGPL-3.0", "name": "st7735-display", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/text-lcd/project.xod b/workspace/__lib__/xod-dev/text-lcd/project.xod index 0e564add7..a679f5460 100644 --- a/workspace/__lib__/xod-dev/text-lcd/project.xod +++ b/workspace/__lib__/xod-dev/text-lcd/project.xod @@ -2,5 +2,5 @@ "description": "Nodes to drive a common text liquid crystal displays with I²C or parallel interfaces.", "license": "AGPL-3.0", "name": "text-lcd", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/w5500/project.xod b/workspace/__lib__/xod-dev/w5500/project.xod index a64635bfb..136b2aef8 100644 --- a/workspace/__lib__/xod-dev/w5500/project.xod +++ b/workspace/__lib__/xod-dev/w5500/project.xod @@ -5,5 +5,5 @@ "description": "Support for ethernet shields that use Wiznet W5500 chipset.", "license": "AGPL-3.0", "name": "w5500", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod-dev/ws2812/project.xod b/workspace/__lib__/xod-dev/ws2812/project.xod index 61bddd2e6..3f863012e 100644 --- a/workspace/__lib__/xod-dev/ws2812/project.xod +++ b/workspace/__lib__/xod-dev/ws2812/project.xod @@ -2,5 +2,5 @@ "description": "Nodes to work with WS2812 (NeoPixel). The main difference from the other libraries that this library does not use a buffer to light up the LEDs. So it gives a possibility to light up a really long LED strip with a small microcontroller without a huge amount of RAM.", "license": "AGPL-3.0", "name": "ws2812", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/bits/project.xod b/workspace/__lib__/xod/bits/project.xod index dc15c8b4f..389f1aa1d 100644 --- a/workspace/__lib__/xod/bits/project.xod +++ b/workspace/__lib__/xod/bits/project.xod @@ -5,5 +5,5 @@ "description": "Low-level bits and bytes operations", "license": "AGPL-3.0", "name": "bits", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/color/project.xod b/workspace/__lib__/xod/color/project.xod index b261a69a0..308bcf1e0 100644 --- a/workspace/__lib__/xod/color/project.xod +++ b/workspace/__lib__/xod/color/project.xod @@ -5,5 +5,5 @@ "description": "Library to work with color", "license": "AGPL-3.0", "name": "color", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/common-hardware/project.xod b/workspace/__lib__/xod/common-hardware/project.xod index 5a2bc886d..841a4c62d 100644 --- a/workspace/__lib__/xod/common-hardware/project.xod +++ b/workspace/__lib__/xod/common-hardware/project.xod @@ -5,5 +5,5 @@ "description": "Hardware drivers for popular and simple peripherals", "license": "AGPL-3.0", "name": "common-hardware", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/core/project.xod b/workspace/__lib__/xod/core/project.xod index 4c87bc573..86c9b38a9 100644 --- a/workspace/__lib__/xod/core/project.xod +++ b/workspace/__lib__/xod/core/project.xod @@ -5,5 +5,5 @@ "description": "The very basic nodes of XOD", "license": "AGPL-3.0", "name": "core", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/datetime/project.xod b/workspace/__lib__/xod/datetime/project.xod index 486c65540..6653127e0 100644 --- a/workspace/__lib__/xod/datetime/project.xod +++ b/workspace/__lib__/xod/datetime/project.xod @@ -5,5 +5,5 @@ "description": "Date and timestamp operations", "license": "AGPL-3.0", "name": "datetime", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/debug/project.xod b/workspace/__lib__/xod/debug/project.xod index 0a3d4e784..b0bf8c199 100644 --- a/workspace/__lib__/xod/debug/project.xod +++ b/workspace/__lib__/xod/debug/project.xod @@ -5,5 +5,5 @@ "description": "Debug nodes for XOD", "license": "AGPL-3.0", "name": "debug", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/gpio/project.xod b/workspace/__lib__/xod/gpio/project.xod index b9ec25782..ca1456e65 100644 --- a/workspace/__lib__/xod/gpio/project.xod +++ b/workspace/__lib__/xod/gpio/project.xod @@ -5,5 +5,5 @@ "description": "Nodes of XOD to deal with GPIO (hardware pins)", "license": "AGPL-3.0", "name": "gpio", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/graphics/project.xod b/workspace/__lib__/xod/graphics/project.xod index eebf5f32e..0590b2d5c 100644 --- a/workspace/__lib__/xod/graphics/project.xod +++ b/workspace/__lib__/xod/graphics/project.xod @@ -5,5 +5,5 @@ "description": "Nodes to work with graphics in XOD", "license": "AGPL-3.0", "name": "graphics", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/i2c/project.xod b/workspace/__lib__/xod/i2c/project.xod index 3a364f7a2..ed4b67823 100644 --- a/workspace/__lib__/xod/i2c/project.xod +++ b/workspace/__lib__/xod/i2c/project.xod @@ -1,5 +1,5 @@ { "description": "My fork of \"xod/i2c\"", "name": "i2c", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/json/project.xod b/workspace/__lib__/xod/json/project.xod index 9a8ec103b..91bc06797 100644 --- a/workspace/__lib__/xod/json/project.xod +++ b/workspace/__lib__/xod/json/project.xod @@ -2,5 +2,5 @@ "description": "Nodes for parsing JSON from a stream of characters", "license": "AGPL-3.0", "name": "json", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/math/project.xod b/workspace/__lib__/xod/math/project.xod index ef858d113..15042f127 100644 --- a/workspace/__lib__/xod/math/project.xod +++ b/workspace/__lib__/xod/math/project.xod @@ -5,5 +5,5 @@ "description": "Nodes of XOD for basic mathematical operations", "license": "AGPL-3.0", "name": "math", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/mutex/project.xod b/workspace/__lib__/xod/mutex/project.xod index 3c69bf70b..4998a80f3 100755 --- a/workspace/__lib__/xod/mutex/project.xod +++ b/workspace/__lib__/xod/mutex/project.xod @@ -5,5 +5,5 @@ "description": "Library to work with mutually exclusive resources. Useful to avoid conflicts between nodes controlling long-running processes.", "license": "AGPL-3.0", "name": "mutex", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/net/project.xod b/workspace/__lib__/xod/net/project.xod index 2547a8044..f5b72bf4c 100644 --- a/workspace/__lib__/xod/net/project.xod +++ b/workspace/__lib__/xod/net/project.xod @@ -5,5 +5,5 @@ "description": "General types and operations to manage network connections", "license": "AGPL-3.0", "name": "net", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/stream/project.xod b/workspace/__lib__/xod/stream/project.xod index 8898d2f4c..cc9ab7494 100644 --- a/workspace/__lib__/xod/stream/project.xod +++ b/workspace/__lib__/xod/stream/project.xod @@ -5,5 +5,5 @@ "description": "Nodes to process sequences of bytes one by one", "license": "AGPL-3.0", "name": "stream", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/uart/project.xod b/workspace/__lib__/xod/uart/project.xod index 8f89b4a27..d5aaeb7f4 100644 --- a/workspace/__lib__/xod/uart/project.xod +++ b/workspace/__lib__/xod/uart/project.xod @@ -5,5 +5,5 @@ "description": "Provides constructors and Nodes to interact with UARTs (Software, Hardware, USB) in XOD.", "license": "AGPL-3.0", "name": "uart", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/units/project.xod b/workspace/__lib__/xod/units/project.xod index 377340c94..f07049704 100644 --- a/workspace/__lib__/xod/units/project.xod +++ b/workspace/__lib__/xod/units/project.xod @@ -5,5 +5,5 @@ "description": "Units of measurement conversions", "license": "AGPL-3.0", "name": "units", - "version": "0.35.2" + "version": "0.35.3" } diff --git a/workspace/__lib__/xod/waves/project.xod b/workspace/__lib__/xod/waves/project.xod index 6e8a43bc4..181defcc6 100644 --- a/workspace/__lib__/xod/waves/project.xod +++ b/workspace/__lib__/xod/waves/project.xod @@ -5,5 +5,5 @@ "description": "A collection of nodes that generate wave signals", "license": "AGPL", "name": "waves", - "version": "0.35.2" + "version": "0.35.3" } From 6c2dd132d3a037ddf5859f33fe84dcc750ef862a Mon Sep 17 00:00:00 2001 From: Evgeny Kochetkov Date: Thu, 1 Oct 2020 16:49:27 +0300 Subject: [PATCH 3/4] fix(stdlib): fix esp8266-mcu/lan-ip implementation --- workspace/__lib__/xod-dev/esp8266-mcu/lan-ip/patch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspace/__lib__/xod-dev/esp8266-mcu/lan-ip/patch.cpp b/workspace/__lib__/xod-dev/esp8266-mcu/lan-ip/patch.cpp index 98b088d2c..040ddb315 100644 --- a/workspace/__lib__/xod-dev/esp8266-mcu/lan-ip/patch.cpp +++ b/workspace/__lib__/xod-dev/esp8266-mcu/lan-ip/patch.cpp @@ -1,6 +1,6 @@ node { void evaluate(Context ctx) { auto inet = getValue(ctx); - emitValue(ctx, (typeof_IP)inet->localIP()); + emitValue(ctx, (typeof_IP)inet.wifi->localIP()); } } From 688064b5581fde1564955faa97ecb03128299d0c Mon Sep 17 00:00:00 2001 From: Max Danilin <35202630+gabbapeople@users.noreply.github.com> Date: Mon, 5 Oct 2020 17:49:39 +0300 Subject: [PATCH 4/4] fix(stdlib): make xod graphics bitmaps compile on non-avr boards (#2053) --- workspace/__ardulib__/Graphics/Bitmap.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workspace/__ardulib__/Graphics/Bitmap.h b/workspace/__ardulib__/Graphics/Bitmap.h index f207f7757..1da7b4273 100644 --- a/workspace/__ardulib__/Graphics/Bitmap.h +++ b/workspace/__ardulib__/Graphics/Bitmap.h @@ -8,7 +8,7 @@ using xod::XColor; * A structure to hold basic bitmap parameters. */ struct Bitmap { - Bitmap(uint8_t* newBuffer = nullptr, uint8_t newColorDepth = 0, uint16_t newWidth = 0, uint16_t newHeight = 0, uint16_t newKeyColor = 0x0000) { + Bitmap(const uint8_t* newBuffer, uint8_t newColorDepth = 0, uint16_t newWidth = 0, uint16_t newHeight = 0, uint16_t newKeyColor = 0x0000) { buffer = newBuffer; colorDepth = newColorDepth; width = newWidth; @@ -16,7 +16,7 @@ struct Bitmap { keyColor = newKeyColor; } - uint8_t* buffer; + const uint8_t* buffer; uint8_t colorDepth; // 0 = Black and white bitmap, 1 = Colored bitmap (565 format), 2 = Colored bitmap (565) with mask color; uint16_t width; uint16_t height;