From d3d5b8eb8a070bab19a0d053bcd94902b447df34 Mon Sep 17 00:00:00 2001 From: Nick Winans Date: Fri, 21 Oct 2022 22:10:55 -0500 Subject: [PATCH 1/2] fix(displays): Adjust alignment and spacing * Adjust alignment and spacing * Fix char array lengths --- app/src/display/status_screen.c | 2 +- app/src/display/widgets/battery_status.c | 5 +++-- app/src/display/widgets/layer_status.c | 8 ++++---- app/src/display/widgets/output_status.c | 16 ++++++++-------- app/src/display/widgets/wpm_status.c | 3 ++- 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/app/src/display/status_screen.c b/app/src/display/status_screen.c index 6ace1925..0fe7212d 100644 --- a/app/src/display/status_screen.c +++ b/app/src/display/status_screen.c @@ -68,7 +68,7 @@ lv_obj_t *zmk_display_status_screen() { #if IS_ENABLED(CONFIG_ZMK_WIDGET_WPM_STATUS) zmk_widget_wpm_status_init(&wpm_status_widget, screen); - lv_obj_align(zmk_widget_wpm_status_obj(&wpm_status_widget), NULL, LV_ALIGN_IN_BOTTOM_RIGHT, -12, + lv_obj_align(zmk_widget_wpm_status_obj(&wpm_status_widget), NULL, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0); #endif return screen; diff --git a/app/src/display/widgets/battery_status.c b/app/src/display/widgets/battery_status.c index 3dfcdb47..9179b0d0 100644 --- a/app/src/display/widgets/battery_status.c +++ b/app/src/display/widgets/battery_status.c @@ -27,13 +27,13 @@ struct battery_status_state { }; static void set_battery_symbol(lv_obj_t *label, struct battery_status_state state) { - char text[2] = " "; + char text[8] = {}; uint8_t level = state.level; #if IS_ENABLED(CONFIG_USB_DEVICE_STACK) if (state.usb_present) { - strcpy(text, LV_SYMBOL_CHARGE); + strcpy(text, LV_SYMBOL_CHARGE " "); } #endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ @@ -49,6 +49,7 @@ static void set_battery_symbol(lv_obj_t *label, struct battery_status_state stat strcat(text, LV_SYMBOL_BATTERY_EMPTY); } lv_label_set_text(label, text); + lv_obj_align(label, NULL, LV_ALIGN_IN_TOP_RIGHT, 0, 0); } void battery_status_update_cb(struct battery_status_state state) { diff --git a/app/src/display/widgets/layer_status.c b/app/src/display/widgets/layer_status.c index 32bdb828..a4a7be58 100644 --- a/app/src/display/widgets/layer_status.c +++ b/app/src/display/widgets/layer_status.c @@ -24,15 +24,15 @@ struct layer_status_state { static void set_layer_symbol(lv_obj_t *label, struct layer_status_state state) { if (state.label == NULL) { - char text[6] = {}; + char text[7] = {}; - sprintf(text, LV_SYMBOL_KEYBOARD "%i", state.index); + sprintf(text, LV_SYMBOL_KEYBOARD " %i", state.index); lv_label_set_text(label, text); } else { - char text[12] = {}; + char text[13] = {}; - snprintf(text, 12, LV_SYMBOL_KEYBOARD "%s", state.label); + snprintf(text, sizeof(text), LV_SYMBOL_KEYBOARD " %s", state.label); lv_label_set_text(label, text); } diff --git a/app/src/display/widgets/output_status.c b/app/src/display/widgets/output_status.c index fe99ac96..8bbe1a7e 100644 --- a/app/src/display/widgets/output_status.c +++ b/app/src/display/widgets/output_status.c @@ -39,24 +39,24 @@ static struct output_status_state get_state(const zmk_event_t *_eh) { } static void set_status_symbol(lv_obj_t *label, struct output_status_state state) { - char text[9] = {}; + char text[10] = {}; switch (state.selected_endpoint) { case ZMK_ENDPOINT_USB: - strcat(text, LV_SYMBOL_USB " "); + strcat(text, LV_SYMBOL_USB); break; case ZMK_ENDPOINT_BLE: if (state.active_profile_bonded) { if (state.active_profile_connected) { - snprintf(text, sizeof(text), LV_SYMBOL_WIFI "%i " LV_SYMBOL_OK, - state.active_profile_index); + snprintf(text, sizeof(text), LV_SYMBOL_WIFI " %i " LV_SYMBOL_OK, + state.active_profile_index + 1); } else { - snprintf(text, sizeof(text), LV_SYMBOL_WIFI "%i " LV_SYMBOL_CLOSE, - state.active_profile_index); + snprintf(text, sizeof(text), LV_SYMBOL_WIFI " %i " LV_SYMBOL_CLOSE, + state.active_profile_index + 1); } } else { - snprintf(text, sizeof(text), LV_SYMBOL_WIFI "%i " LV_SYMBOL_SETTINGS, - state.active_profile_index); + snprintf(text, sizeof(text), LV_SYMBOL_WIFI " %i " LV_SYMBOL_SETTINGS, + state.active_profile_index + 1); } break; } diff --git a/app/src/display/widgets/wpm_status.c b/app/src/display/widgets/wpm_status.c index 7ed047c3..a2c6a287 100644 --- a/app/src/display/widgets/wpm_status.c +++ b/app/src/display/widgets/wpm_status.c @@ -28,9 +28,10 @@ void set_wpm_symbol(lv_obj_t *label, struct wpm_status_state state) { char text[4] = {}; LOG_DBG("WPM changed to %i", state.wpm); - snprintf(text, sizeof(text), "%i ", state.wpm); + snprintf(text, sizeof(text), "%i", state.wpm); lv_label_set_text(label, text); + lv_obj_align(label, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0); } void wpm_status_update_cb(struct wpm_status_state state) { From b90e3ae03d9f48a33f7327e9c478aa6fe215d0c6 Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sat, 22 Oct 2022 12:50:44 +0800 Subject: [PATCH 2/2] fix(ci): Replace workflow set-output with environment variables * Needed for deprecation: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ --- .github/workflows/build-user-config.yml | 67 +++++++++++-------------- 1 file changed, 30 insertions(+), 37 deletions(-) diff --git a/.github/workflows/build-user-config.yml b/.github/workflows/build-user-config.yml index 215ccb63..759dd72a 100644 --- a/.github/workflows/build-user-config.yml +++ b/.github/workflows/build-user-config.yml @@ -18,8 +18,8 @@ on: default: "bin" required: false type: string - artifact_name: - description: 'Artifact output file name' + archive_name: + description: 'Archive output file name' default: 'firmware' required: false type: string @@ -29,21 +29,18 @@ jobs: runs-on: ubuntu-latest name: Fetch Build Keyboards outputs: - matrix: ${{ steps.set-matrix.outputs.matrix }} + build_matrix: ${{ env.build_matrix }} steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3.1.0 - name: Install yaml2json run: python3 -m pip install remarshal - name: Fetch Build Matrix - id: set-matrix run: | - set -x - matrix=$(yaml2json ${{ inputs.build_matrix_path }} | jq -c .) - yaml2json ${{ inputs.build_matrix_path }} - echo "::set-output name=matrix::${matrix}" + echo "build_matrix=$(yaml2json ${{ inputs.build_matrix_path }} | jq -c .)" >> $GITHUB_ENV + yaml2json ${{ inputs.build_matrix_path }} | jq build: runs-on: ubuntu-latest @@ -53,35 +50,31 @@ jobs: name: Build strategy: fail-fast: false - matrix: ${{fromJson(needs.matrix.outputs.matrix)}} + matrix: ${{ fromJson(needs.matrix.outputs.build_matrix) }} steps: - name: Prepare variables - id: variables + shell: sh -x {0} run: | - set -x if [ -n "${{ matrix.shield }}" ] then - EXTRA_CMAKE_ARGS="-DSHIELD=\"${{ matrix.shield }}\"" - ARTIFACT_NAME="${{ matrix.shield }}-${{ matrix.board }}-zmk" - DISPLAY_NAME="${{ matrix.shield }} - ${{ matrix.board }}" + echo "extra_cmake_args=-DSHIELD=\"${{ matrix.shield }}\"" >> $GITHUB_ENV + echo "artifact_name=${{ matrix.shield }}-${{ matrix.board }}-zmk" >> $GITHUB_ENV + echo "display_name=${{ matrix.shield }} - ${{ matrix.board }}" >> $GITHUB_ENV else - EXTRA_CMAKE_ARGS= - DISPLAY_NAME="${{ matrix.board }}" - ARTIFACT_NAME="${{ matrix.board }}-zmk" + echo "extra_cmake_args=" >> $GITHUB_ENV + echo "artifact_name=${{ matrix.board }}-zmk" >> $GITHUB_ENV + echo "display_name=${{ matrix.board }}" >> $GITHUB_ENV fi - echo ::set-output name=extra-cmake-args::${EXTRA_CMAKE_ARGS} - echo ::set-output name=artifact-name::${ARTIFACT_NAME} - echo ::set-output name=display-name::${DISPLAY_NAME} - echo ::set-output name=zephyr-version::${ZEPHYR_VERSION} + echo "zephyr_version=${ZEPHYR_VERSION}" >> $GITHUB_ENV - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3.1.0 - name: Cache west modules - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.11 continue-on-error: true env: - cache-name: cache-zephyr-${{ steps.variables.outputs.zephyr-version }}-modules + cache_name: cache-zephyr-${{ env.zephyr_version }}-modules with: path: | modules/ @@ -89,9 +82,9 @@ jobs: zephyr/ bootloader/ zmk/ - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/west.yml', '**/build.yaml') }} + key: ${{ runner.os }}-build-${{ env.cache_name }}-${{ hashFiles('**/west.yml', '**/build.yaml') }} restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build-${{ env.cache_name }}- ${{ runner.os }}-build- ${{ runner.os }}- @@ -104,28 +97,28 @@ jobs: - name: West Zephyr export run: west zephyr-export - - name: West Build (${{ steps.variables.outputs.display-name }}) + - name: West Build (${{ env.display_name }}) + shell: sh -x {0} run: | - set -x - west build -s zmk/app -b ${{ matrix.board }} -- -DZMK_CONFIG=${GITHUB_WORKSPACE}/${{ inputs.config_path }} ${{ steps.variables.outputs.extra-cmake-args }} ${{ matrix.cmake-args }} + west build -s zmk/app -b ${{ matrix.board }} -- -DZMK_CONFIG=${GITHUB_WORKSPACE}/${{ inputs.config_path }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }} - - name: ${{ steps.variables.outputs.display-name }} Kconfig file + - name: ${{ env.display_name }} Kconfig file run: grep -v -e "^#" -e "^$" build/zephyr/.config | sort - name: Rename artifacts + shell: sh -x {0} run: | - set -x mkdir build/artifacts if [ -f build/zephyr/zmk.uf2 ] then - cp build/zephyr/zmk.uf2 "build/artifacts/${{ steps.variables.outputs.artifact-name }}.uf2" + cp build/zephyr/zmk.uf2 "build/artifacts/${{ env.artifact_name }}.uf2" elif [ -f build/zephyr/zmk.${{ inputs.fallback_binary }} ] then - cp build/zephyr/zmk.${{ inputs.fallback_binary }} "build/artifacts/${{ steps.variables.outputs.artifact-name }}.${{ inputs.fallback_binary }}" + cp build/zephyr/zmk.${{ inputs.fallback_binary }} "build/artifacts/${{ env.artifact_name }}.${{ inputs.fallback_binary }}" fi - - name: Archive (${{ steps.variables.outputs.display-name }}) - uses: actions/upload-artifact@v2 + - name: Archive (${{ env.display_name }}) + uses: actions/upload-artifact@v3 with: - name: ${{ inputs.artifact_name }} + name: ${{ inputs.archive_name }} path: build/artifacts