Skip to content

Commit

Permalink
Capture enh (#34)
Browse files Browse the repository at this point in the history
- ***Breaking changes***: requires `Firefly Luciferin` firmware (v2.6.5).
- **Capture enhancements.** Bias Light effect is now smoother than before. The change/transition between the brightness steps is now more linear.
- **Added an option to group LEDs.** The more LEDs you group, the smoother the Bias Light effect will be. Grouping LEDs afflicts precision.
- **Bottom row split adjustment is now possible.** You can now configure the gap size. (Closes #69).
- **Grabber area adjustment.** You can now choose the size of the grab area. (Closes #68).
- **LED corner skip.** The corners now have a horizontal and vertical adjustment feature for the gap. (Closes #67).
- **Color temperature correction no longer affect microcontroller's performance.** Microcontroller's performance has been improved by 40% when using color temperature correction.
- **Added more gamma steps** for a better fine tuning of the gamma.
- Fixed an issue that prevented screen capture when on some resolutions with some LEDs configurations. If you encountered this issue, no more black LEDs when capturing the screen.
- Audio functionality broke when changing the UI language, fixed.
- Fixed language typos.
  • Loading branch information
sblantipodi authored Apr 22, 2022
1 parent 3449f45 commit 010fafd
Show file tree
Hide file tree
Showing 51 changed files with 243 additions and 102 deletions.
44 changes: 42 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ jobs:
with:
name: DRAFT_GLOW_WORM_LUCIFERIN_ESP8266_FULL.bin
path: /home/runner/work/glow_worm_luciferin/glow_worm_luciferin/currentbranch/.pio/build/glowwormluciferinfull_esp8266/firmware.bin
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
- name: Save artifact (glowwormluciferinfull_esp8266)
continue-on-error: true
env:
Expand Down Expand Up @@ -234,3 +232,45 @@ jobs:
git add ./docs/static/firmware_build_beta/GlowWormLuciferinLIGHT_ESP32_firmware-factory.bin;
git commit -m "CI BETA release for firmware web installer";
git push;
web_tools_update:
runs-on: ubuntu-latest
needs: [ build_esp8266_full, build_esp8266_light, build_esp32_full, build_esp32_light ]

steps:
- uses: actions/checkout@v2
with:
path: 'beta'
- uses: actions/checkout@v2
with:
ref: master
path: 'currentbranch'
- name: Retrieve version
id: vars
run: |
echo "::set-output name=TAG_NAME::$(cat /home/runner/work/glow_worm_luciferin/glow_worm_luciferin/beta/version)"
- name: Set property version in a ESP Web Tools json file
uses: benday-inc/[email protected]
with:
pathtosettingsfile: '/home/runner/work/glow_worm_luciferin/glow_worm_luciferin/currentbranch/docs/static/firmware_build_beta/manifest_full.json'
keyname1: 'version'
valuetoset: '${{ steps.vars.outputs.TAG_NAME }}'
- name: Set property version in a ESP Web Tools json file
uses: benday-inc/[email protected]
with:
pathtosettingsfile: '/home/runner/work/glow_worm_luciferin/glow_worm_luciferin/currentbranch/docs/static/firmware_build_beta/manifest_light.json'
keyname1: 'version'
valuetoset: "${{ steps.vars.outputs.TAG_NAME }}"
- name: Save artifact (glowwormluciferinfull_esp8266)
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd currentbranch;
git config --global user.email "[email protected]";
git config --global user.name "Davide Perini";
git add ./docs/static/firmware_build_beta/manifest_full.json;
git add ./docs/static/firmware_build_beta/manifest_light.json;
cat /home/runner/work/glow_worm_luciferin/glow_worm_luciferin/currentbranch/docs/static/firmware_build_beta/manifest_light.json;
git commit -m "CI BETA release for firmware web installer";
git push;
48 changes: 45 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,46 @@ jobs:
git commit -m "CI release for firmware web installer";
git push;
create_release:
web_tools_update:
runs-on: ubuntu-latest
needs: [build_esp8266_firmware, build_esp32_firmware]

steps:
- uses: actions/checkout@v2
with:
ref: master
path: 'currentbranch'
- name: Retrieve version
id: vars
run: |
echo "::set-output name=TAG_NAME::$(cat /home/runner/work/glow_worm_luciferin/glow_worm_luciferin/currentbranch/version)"
- name: Set property version in a ESP Web Tools json file
uses: benday-inc/[email protected]
with:
pathtosettingsfile: '/home/runner/work/glow_worm_luciferin/glow_worm_luciferin/currentbranch/docs/static/firmware_build/manifest_full.json'
keyname1: 'version'
valuetoset: '${{ steps.vars.outputs.TAG_NAME }}'
- name: Set property version in a ESP Web Tools json file
uses: benday-inc/[email protected]
with:
pathtosettingsfile: '/home/runner/work/glow_worm_luciferin/glow_worm_luciferin/currentbranch/docs/static/firmware_build/manifest_light.json'
keyname1: 'version'
valuetoset: "${{ steps.vars.outputs.TAG_NAME }}"
- name: Save artifact (glowwormluciferinfull_esp8266)
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd currentbranch;
git config --global user.email "[email protected]";
git config --global user.name "Davide Perini";
git add ./docs/static/firmware_build/manifest_full.json;
git add ./docs/static/firmware_build/manifest_light.json;
git commit -m "CI release for firmware web installer";
git push;
create_release:
needs: [build_esp8266_firmware, build_esp32_firmware, web_tools_update]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
Expand All @@ -189,7 +227,11 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
hub release edit --draft=false -m "Release ${{ env.RELEASE_VERSION }}" "${{ env.RELEASE_VERSION }}"
wait_before_exit:
needs: [build_esp8266_firmware, build_esp32_firmware, web_tools_update, create_release]
runs-on: windows-latest
steps:
- name: Sleep for 1200 seconds (Smoke test after the release)
run: sleep 1200s
shell: bash

shell: bash
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"type": "library", "name": "ArduinoJson", "version": "6.19.3", "spec": {"owner": "bblanchon", "id": 64, "name": "ArduinoJson", "requirements": null, "url": null}}
{"type": "library", "name": "ArduinoJson", "version": "6.19.4", "spec": {"owner": "bblanchon", "id": 64, "name": "ArduinoJson", "requirements": null, "url": null}}
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
ArduinoJson: change log
=======================

v6.19.4 (2022-04-05)
-------

* Add `ElementProxy::memoryUsage()`
* Add `MemberProxy::memoryUsage()` (issue #1730)
* Add implicit conversion from `JsonDocument` to `JsonVariant`
* Fix comparisons operators with `const JsonDocument&`

v6.19.3 (2022-03-08)
-------

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/arduinojson.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson)
[![LGTM Grade](https://img.shields.io/lgtm/grade/cpp/github/bblanchon/ArduinoJson?label=quality&logo=lgtm)](https://lgtm.com/projects/g/bblanchon/ArduinoJson/)
[![Coveralls branch](https://img.shields.io/coveralls/github/bblanchon/ArduinoJson/6.x?logo=coveralls)](https://coveralls.io/github/bblanchon/ArduinoJson?branch=6.x)
[![Arduino Library Manager](https://img.shields.io/static/v1?label=Arduino&message=v6.19.3&logo=arduino&logoColor=white&color=blue)](https://www.ardu-badge.com/ArduinoJson/6.19.3)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/bblanchon/library/ArduinoJson.svg?version=6.19.3)](https://registry.platformio.org/packages/libraries/bblanchon/ArduinoJson?version=6.19.3)
[![Arduino Library Manager](https://img.shields.io/static/v1?label=Arduino&message=v6.19.4&logo=arduino&logoColor=white&color=blue)](https://www.ardu-badge.com/ArduinoJson/6.19.4)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/bblanchon/library/ArduinoJson.svg?version=6.19.4)](https://registry.platformio.org/packages/libraries/bblanchon/ArduinoJson?version=6.19.4)
[![GitHub stars](https://img.shields.io/github/stars/bblanchon/ArduinoJson?style=flat&logo=github)](https://github.com/bblanchon/ArduinoJson/stargazers)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/bblanchon?logo=github)](https://github.com/sponsors/bblanchon)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 6.19.3.{build}
version: 6.19.4.{build}
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"type": "git",
"url": "https://github.com/bblanchon/ArduinoJson.git"
},
"version": "6.19.3",
"version": "6.19.4",
"authors": {
"name": "Benoit Blanchon",
"url": "https://blog.benoitblanchon.fr"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=ArduinoJson
version=6.19.3
version=6.19.4
author=Benoit Blanchon <blog.benoitblanchon.fr>
maintainer=Benoit Blanchon <blog.benoitblanchon.fr>
sentence=A simple and efficient JSON library for embedded C++.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,10 @@ class ElementProxy : public VariantOperators<ElementProxy<TArray> >,
return getUpstreamElement().size();
}

FORCE_INLINE size_t memoryUsage() const {
return getUpstreamElement().memoryUsage();
}

template <typename TNestedKey>
VariantRef getMember(TNestedKey* key) const {
return getUpstreamElement().getMember(key);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@

namespace ARDUINOJSON_NAMESPACE {

class JsonDocument : public Visitable {
class JsonDocument : public Visitable,
public VariantOperators<const JsonDocument&> {
public:
template <typename TVisitor>
typename TVisitor::result_type accept(TVisitor& visitor) const {
Expand Down Expand Up @@ -295,16 +296,12 @@ class JsonDocument : public Visitable {
_data.remove(adaptString(key));
}

FORCE_INLINE operator VariantConstRef() const {
return VariantConstRef(&_data);
FORCE_INLINE operator VariantRef() {
return getVariant();
}

bool operator==(VariantConstRef rhs) const {
return getVariant() == rhs;
}

bool operator!=(VariantConstRef rhs) const {
return getVariant() != rhs;
FORCE_INLINE operator VariantConstRef() const {
return getVariant();
}

protected:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,10 @@ class MemberProxy : public VariantOperators<MemberProxy<TObject, TStringRef> >,
return getUpstreamMember().size();
}

FORCE_INLINE size_t memoryUsage() const {
return getUpstreamMember().memoryUsage();
}

FORCE_INLINE void remove(size_t index) const {
getUpstreamMember().remove(index);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,9 @@ struct RawComparer : ComparerBase {
template <typename T>
struct Comparer<T, typename enable_if<IsVisitable<T>::value>::type>
: ComparerBase {
T rhs;
const T *rhs; // TODO: should be a VariantConstRef

explicit Comparer(T value) : rhs(value) {}
explicit Comparer(const T &value) : rhs(&value) {}

CompareResult visitArray(const CollectionData &lhs) {
ArrayComparer comparer(lhs);
Expand Down Expand Up @@ -183,7 +183,7 @@ struct Comparer<T, typename enable_if<IsVisitable<T>::value>::type>
private:
template <typename TComparer>
CompareResult accept(TComparer &comparer) {
CompareResult reversedResult = rhs.accept(comparer);
CompareResult reversedResult = rhs->accept(comparer);
switch (reversedResult) {
case COMPARE_RESULT_GREATER:
return COMPARE_RESULT_LESS;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

#pragma once

#define ARDUINOJSON_VERSION "6.19.3"
#define ARDUINOJSON_VERSION "6.19.4"
#define ARDUINOJSON_VERSION_MAJOR 6
#define ARDUINOJSON_VERSION_MINOR 19
#define ARDUINOJSON_VERSION_REVISION 3
#define ARDUINOJSON_VERSION_REVISION 4
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"type": "library", "name": "ArduinoJson", "version": "6.19.3", "spec": {"owner": "bblanchon", "id": 64, "name": "ArduinoJson", "requirements": null, "url": null}}
{"type": "library", "name": "ArduinoJson", "version": "6.19.4", "spec": {"owner": "bblanchon", "id": 64, "name": "ArduinoJson", "requirements": null, "url": null}}
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
ArduinoJson: change log
=======================

v6.19.4 (2022-04-05)
-------

* Add `ElementProxy::memoryUsage()`
* Add `MemberProxy::memoryUsage()` (issue #1730)
* Add implicit conversion from `JsonDocument` to `JsonVariant`
* Fix comparisons operators with `const JsonDocument&`

v6.19.3 (2022-03-08)
-------

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/arduinojson.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson)
[![LGTM Grade](https://img.shields.io/lgtm/grade/cpp/github/bblanchon/ArduinoJson?label=quality&logo=lgtm)](https://lgtm.com/projects/g/bblanchon/ArduinoJson/)
[![Coveralls branch](https://img.shields.io/coveralls/github/bblanchon/ArduinoJson/6.x?logo=coveralls)](https://coveralls.io/github/bblanchon/ArduinoJson?branch=6.x)
[![Arduino Library Manager](https://img.shields.io/static/v1?label=Arduino&message=v6.19.3&logo=arduino&logoColor=white&color=blue)](https://www.ardu-badge.com/ArduinoJson/6.19.3)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/bblanchon/library/ArduinoJson.svg?version=6.19.3)](https://registry.platformio.org/packages/libraries/bblanchon/ArduinoJson?version=6.19.3)
[![Arduino Library Manager](https://img.shields.io/static/v1?label=Arduino&message=v6.19.4&logo=arduino&logoColor=white&color=blue)](https://www.ardu-badge.com/ArduinoJson/6.19.4)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/bblanchon/library/ArduinoJson.svg?version=6.19.4)](https://registry.platformio.org/packages/libraries/bblanchon/ArduinoJson?version=6.19.4)
[![GitHub stars](https://img.shields.io/github/stars/bblanchon/ArduinoJson?style=flat&logo=github)](https://github.com/bblanchon/ArduinoJson/stargazers)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/bblanchon?logo=github)](https://github.com/sponsors/bblanchon)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 6.19.3.{build}
version: 6.19.4.{build}
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"type": "git",
"url": "https://github.com/bblanchon/ArduinoJson.git"
},
"version": "6.19.3",
"version": "6.19.4",
"authors": {
"name": "Benoit Blanchon",
"url": "https://blog.benoitblanchon.fr"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=ArduinoJson
version=6.19.3
version=6.19.4
author=Benoit Blanchon <blog.benoitblanchon.fr>
maintainer=Benoit Blanchon <blog.benoitblanchon.fr>
sentence=A simple and efficient JSON library for embedded C++.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,10 @@ class ElementProxy : public VariantOperators<ElementProxy<TArray> >,
return getUpstreamElement().size();
}

FORCE_INLINE size_t memoryUsage() const {
return getUpstreamElement().memoryUsage();
}

template <typename TNestedKey>
VariantRef getMember(TNestedKey* key) const {
return getUpstreamElement().getMember(key);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@

namespace ARDUINOJSON_NAMESPACE {

class JsonDocument : public Visitable {
class JsonDocument : public Visitable,
public VariantOperators<const JsonDocument&> {
public:
template <typename TVisitor>
typename TVisitor::result_type accept(TVisitor& visitor) const {
Expand Down Expand Up @@ -295,16 +296,12 @@ class JsonDocument : public Visitable {
_data.remove(adaptString(key));
}

FORCE_INLINE operator VariantConstRef() const {
return VariantConstRef(&_data);
FORCE_INLINE operator VariantRef() {
return getVariant();
}

bool operator==(VariantConstRef rhs) const {
return getVariant() == rhs;
}

bool operator!=(VariantConstRef rhs) const {
return getVariant() != rhs;
FORCE_INLINE operator VariantConstRef() const {
return getVariant();
}

protected:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,10 @@ class MemberProxy : public VariantOperators<MemberProxy<TObject, TStringRef> >,
return getUpstreamMember().size();
}

FORCE_INLINE size_t memoryUsage() const {
return getUpstreamMember().memoryUsage();
}

FORCE_INLINE void remove(size_t index) const {
getUpstreamMember().remove(index);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,9 @@ struct RawComparer : ComparerBase {
template <typename T>
struct Comparer<T, typename enable_if<IsVisitable<T>::value>::type>
: ComparerBase {
T rhs;
const T *rhs; // TODO: should be a VariantConstRef

explicit Comparer(T value) : rhs(value) {}
explicit Comparer(const T &value) : rhs(&value) {}

CompareResult visitArray(const CollectionData &lhs) {
ArrayComparer comparer(lhs);
Expand Down Expand Up @@ -183,7 +183,7 @@ struct Comparer<T, typename enable_if<IsVisitable<T>::value>::type>
private:
template <typename TComparer>
CompareResult accept(TComparer &comparer) {
CompareResult reversedResult = rhs.accept(comparer);
CompareResult reversedResult = rhs->accept(comparer);
switch (reversedResult) {
case COMPARE_RESULT_GREATER:
return COMPARE_RESULT_LESS;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

#pragma once

#define ARDUINOJSON_VERSION "6.19.3"
#define ARDUINOJSON_VERSION "6.19.4"
#define ARDUINOJSON_VERSION_MAJOR 6
#define ARDUINOJSON_VERSION_MINOR 19
#define ARDUINOJSON_VERSION_REVISION 3
#define ARDUINOJSON_VERSION_REVISION 4
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"type": "library", "name": "ArduinoJson", "version": "6.19.3", "spec": {"owner": "bblanchon", "id": 64, "name": "ArduinoJson", "requirements": null, "url": null}}
{"type": "library", "name": "ArduinoJson", "version": "6.19.4", "spec": {"owner": "bblanchon", "id": 64, "name": "ArduinoJson", "requirements": null, "url": null}}
Loading

0 comments on commit 010fafd

Please sign in to comment.