-
-
Notifications
You must be signed in to change notification settings - Fork 0
Switch to nRF54L15 (2.1) #46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Working on revision 2.0 - Remove old files - Replace nRF53 with nRF54L15 - Update README.md - Update converter for z2m - Update documentation - Fix typos in DTS includes - Fix wrong patch command - Add BME688 - Add dimension to PCB specification Kibot output - Add blocklist to west.yml - Add missing mounting holes - Add custom cluster for VOC, IAQ and CO2 for Zigbee2Mqtt - Add patches for custom cluster for ncs-zigbee - Add west command to build and flash the device configuration - Add 3D files for the housing - Add 3D printer project for the housing - Add KiBot template from Vincent - Add CI/CD for firmware - Add CI/CD pipeline for Zigbee configuration - Add housing version 22 - Add latest patches for APDS-9306 - Change ADC filter capacitor to 1 nF - Update documentation with current consumption - Optimizing power consumption (40 uA with sensors and Zigbee)
- Remove old files - Remove log files from artifacts - Replace nRF53 with nRF54L15 - Update README.md - Update converter for z2m - Update documentation - Fix typos in DTS includes - Fix wrong patch command - Fix wrong battery conversion - Add BME688 - Add dimension to PCB specification Kibot output - Add blocklist to west.yml - Add missing mounting holes - Add custom cluster for VOC, IAQ and CO2 for Zigbee2Mqtt - Add patches for custom cluster for ncs-zigbee - Add west command to build and flash the device configuration - Add 3D files for the housing - Add 3D printer project for the housing - Add KiBot template from Vincent - Add CI/CD for firmware - Add CI/CD pipeline for Zigbee configuration - Add housing version 22 - Add latest patches for APDS-9306 - Change ADC filter capacitor to 1 nF - Update documentation with current consumption - Change log level to CONFIG_BEELIGHT_SENSORS_LOG_LEVEL - Optimizing power consumption (40 uA with sensors and Zigbee) Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke.de>
- Simplify BeeLight headers - Add group-filter to west manifest - Add commit template Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke.de>
Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke>
- Remove GPIO I2C from rev 2 device tree - Fix wrong pinctrl references for I2C2 Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke>
1ae0d9c to
776e35b
Compare
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the 📝 WalkthroughWalkthroughAdds repository metadata and CI; introduces a Zephyr/Zigbee firmware app (board, DT overlays, Kconfig, drivers, sensors, events, ZCL cluster extensions), West commands and scripts, and a complete KiCad hardware project with Kibot automation, templates, resources, and many configuration artifacts. Changes
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Pre-merge checks✅ Passed checks (1 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 50
🧹 Nitpick comments (43)
firmware/app/config/debug.conf (1)
13-13: Consider increasing the RTT output buffer size.The 128-byte RTT output buffer may be insufficient for scenarios with verbose logging or high-frequency log events. This could lead to blocking behavior (given line 11's block mode) or performance degradation.
Consider increasing to at least 256 or 512 bytes if memory permits.
Apply this diff to increase the buffer size:
-CONFIG_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE=128 +CONFIG_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE=256hardware/Templates/KDT_Template.kicad_wks (1)
170-187: Check Revision field positioning consistency.The Revision label and value are positioned at x=17.989, but in the GIT variant (
KDT_Template_GIT.kicad_wks), the same fields are positioned at x=25.989. This positional difference between related templates could cause layout inconsistencies when switching between template variants.hardware/Templates/KDT_Template_GIT.kicad_wks (2)
385-393: Font size inconsistency for PROJECT_NAME.The
${PROJECT_NAME}field uses font size2 2at Line 390, while the non-GIT variant (KDT_Template.kicad_wks) and other templates use2.5 2.5. This inconsistency may result in different visual layouts between template variants.
1-4: Generator version inconsistency across templates.This template uses
generator_version "9.0"while most other templates in the family use"8.0". While this may be intentional to support different KiCad versions, ensure this version difference is documented and that both versions are compatible with the target KiCad installation.hardware/Templates/KDT_Template_PCB_GIT_A3.kicad_wks (2)
1-4: Generator version inconsistency across PCB templates.This template uses
generator_version "9.0"while other PCB templates (A3, A4, A5) use"8.0". Ensure this version difference is intentional and compatible with the target KiCad installation.
385-393: Font size inconsistency for PROJECT_NAME.The
${PROJECT_NAME}field uses font size2 2, while non-GIT PCB templates use2.5 2.5. This may result in visual layout differences between GIT and non-GIT template variants.firmware/app/patches/ncs-zigbee/0001-Add-cluster-for-IAQ-VOC-and-CO2.patch (1)
60-105: Fix duplicated IAQ/VOC include blocks.The same
#if defined(ZB_ZCL_SUPPORT_CLUSTER_IAQ/VOC_MEASUREMENT)blocks are repeated three times. This is dead noise and risks future merge conflicts. Please keep a single guard/include pair per cluster.firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_0_defconfig (1)
1-2: Document the I2C hardware limitation.The comment indicates that hardware I2C pins don't work in this version, necessitating the bitbanging workaround. This impacts performance and should be tracked for resolution.
Consider:
- Creating an issue to track the hardware I2C problem
- Adding this limitation to the board's documentation or README
- Investigating the root cause (hardware revision, pin configuration, or driver issue)
Would you like me to generate a draft issue template for tracking this hardware limitation?
hardware/kibot_resources/scripts/docker_kibot_linux.sh (2)
5-7: Address shellcheck warnings for safer variable assignments.The script has several shellcheck violations:
- Declaring and assigning in one line can mask return values (SC2155)
- Command substitutions should be quoted to prevent word splitting (SC2046)
Apply this diff to address the warnings:
-export USER_ID=$(id -u) -export GROUP_ID=$(id -g) -export USER_NAME=$(whoami) +USER_ID="$(id -u)" +GROUP_ID="$(id -g)" +USER_NAME="$(whoami)" +export USER_ID GROUP_ID USER_NAME
9-9: Consider removing sudo if the user is in the docker group.The script uses
sudo docker run, which may not be necessary if the user is already in the docker group. This could cause unnecessary permission elevation and prompt for passwords.Consider adding a check or documenting that users should add themselves to the docker group:
-sudo docker run --rm -it \ +docker run --rm -it \Alternatively, add a comment explaining when sudo is needed.
README.md (1)
88-92: Consider removing the blank line inside the blockquote.The blank line at line 90 inside the NOTE blockquote violates markdown style guidelines. While this doesn't affect functionality, removing it improves consistency.
Apply this diff:
> **NOTE** -> You have to provide a Mouser API key with a variable called `MOUSER_KEY` to make use of the KiCost feature in the Kibot job. > **NOTE** +> You have to provide a Mouser API key with a variable called `MOUSER_KEY` to make use of the KiCost feature in the Kibot job. +> > The programming connector is optional and can be left out or unsoldered after flashing the device.hardware/kibot_resources/scripts/get_changelog_version.py (1)
29-32: Avoid catching genericException.Catching a generic
Exceptionat line 31 can mask unexpected errors and make debugging difficult. Consider catching specific exceptions likeIOErrororOSErrorfor file operations.Apply this diff:
except FileNotFoundError: return f"File '{file_path}' not found." - except Exception as e: + except (IOError, OSError) as e: return f"An error occurred: {e}"hardware/kibot_resources/scripts/get_sheet_title.py (2)
18-19: Remove unused variabletitle.The variable
titleis extracted but never used in the function logic.Apply this diff:
name = sheet.get("name") - title_block = sheet.find("title_block") - title = title_block.find("title").text if title_block is not None else None if name:
30-35: Avoid catching genericException.Catching a generic
Exceptionat line 34 can mask unexpected errors. Consider catching specific exceptions or at least logging the full traceback for debugging.Apply this diff:
except FileNotFoundError: print("Error: XML File not found") - except Exception as e: + except (IOError, OSError, ValueError) as e: print(f"Error: {e}")firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_0.overlay (1)
33-36: Prefer resolved numeric constant for full-ohms.Arithmetic in DT works via CPP, but 10400 is clearer and avoids preprocessor dependency.
- full-ohms = <(8200 + 2200)>; + full-ohms = <10400>;hardware/kibot_resources/templates/fabrication_notes.txt (3)
8-10: Fix typo: “circumsized” → “circumscribed”.- DIMENSIONS OF CIRCUMSIZED RECTANGLE SHOWN ON THIS + DIMENSIONS OF CIRCUMSCRIBED RECTANGLE SHOWN ON THIS
28-30: Hyphenate and casing for compliance phrasing.-8) VENDOR SHOULD FOLLOW ROHS COMPLIANT PROCESS - AND Pb FREE FOR MANUFACTURING +8) VENDOR SHOULD FOLLOW RoHS-COMPLIANT PROCESS + AND Pb‑FREE MANUFACTURING
35-36: Units formatting (degree symbol).- B. Tg 150 C OR EQUIVALENT. + B. Tg 150°C OR EQUIVALENT.hardware/kibot_launch.sh (4)
12-13: Avoid nested quotes in kibot_config to drop the need for eval.-kibot_config="-c 'kibot_yaml/kibot_main.yaml'" +kibot_config="-c kibot_yaml/kibot_main.yaml"
83-91: Quote PID file path and variables.- if [[ -f $pid_file ]]; then - pid=$(cat $pid_file) + if [[ -f "$pid_file" ]]; then + pid="$(cat "$pid_file")" if kill -0 $pid 2>/dev/null; then echo -e "${YELLOW}A server is already running on PID $pid. Please stop it first with --stop-server.${NC}" exit 1 else echo -e "${YELLOW}Stale PID file detected. Removing it.${NC}" - rm -f $pid_file + rm -f "$pid_file" fi fi
95-111: Quote PID paths when stopping the server.- if [[ -f $pid_file ]]; then - pid=$(cat $pid_file) + if [[ -f "$pid_file" ]]; then + pid="$(cat "$pid_file")" if kill -0 $pid 2>/dev/null; then echo -e "${GREEN}Stopping HTTP server with PID $pid...${NC}" kill $pid - rm -f $pid_file + rm -f "$pid_file" echo -e "${GREEN}Server stopped.${NC}" exit 0 else echo -e "${YELLOW}No running server found. Removing stale PID file.${NC}" - rm -f $pid_file + rm -f "$pid_file" exit 1 fi else
173-179: Avoid eval; execute commands directly.With kibot_config fixed, eval is unnecessary.
-echo -e "${GREEN}Running: $kibot_command1${NC}" -eval $kibot_command1 +echo -e "${GREEN}Running: $kibot_command1${NC}" +$kibot_command1 if [[ "$costs_flag" == false ]]; then echo -e "${GREEN}Running: $kibot_command2${NC}" - eval $kibot_command2 + $kibot_command2 fifirmware/app/patches/zephyr/0001-drivers-sensor-Add-support-for-Broadcom-APDS-9306.patch (1)
318-324: Make the work item per‑device, not global.Global apds9306_worker_item breaks with multiple instances and can race. Store k_work_delayable inside apds9306_data and init in apds9306_init.
Would you like a patch to move the delayable work into struct apds9306_data and initialize it during device init?
firmware/app/src/events/CMakeLists.txt (1)
1-2: AddCONFIGURE_DEPENDSto the glob.Without
CONFIGURE_DEPENDS, adding a new.cfile in this directory won’t trigger CMake to pick it up until you force a reconfigure, which is easy to miss. Updating the glob keeps the build in sync automatically.Apply this diff:
-file(GLOB event_sources *.c) +file(GLOB event_sources CONFIGURE_DEPENDS *.c)firmware/app/src/sensors/light.c (1)
43-45: Remove unnecessarymemsetbefore immediate field assignment.The
memsetis redundant sinceevt.lightis immediately assigned on the next line. Direct initialization would be cleaner.Apply this diff to simplify:
- struct light_event evt; - - memset(&evt, 0, sizeof(struct light_event)); - - evt.light = sensor_val.val1; + struct light_event evt = { + .light = sensor_val.val1 + };firmware/app/scripts/astyle_format_west_command.py (2)
33-33: Prefix unused argument with underscore.The
unknown_argsparameter is required by theWestCommandinterface but is not used in this implementation. Prefix it with an underscore to indicate it's intentionally unused.- def do_run(self, args, unknown_args): + def do_run(self, args, _unknown_args):
36-37: Simplify boolean comparison.Comparing
args.dry_run == Trueis verbose. Useargs.dry_rundirectly for truth checks.- if(args.dry_run == True): + if args.dry_run:firmware/app/src/events/events.c (2)
18-23: Include zbus header explicitly to avoid transitive-dependency breakageMake zbus dependency explicit.
#include <zephyr/init.h> #include <zephyr/kernel.h> #include <zephyr/logging/log.h> + +#include <zephyr/zbus/zbus.h> #include "events/events.h"
69-99: Avoid claiming the channel just to read user_data; prevent work-queue blockingzbus_chan_claim/finish isn’t needed to read user_data and K_FOREVER can block the system work queue. Use container_of on item or directly reschedule the known delayable; keep publish unchanged.
static void handle_24h_timeout(struct k_work *item) { struct periodic_event evt = { }; - struct k_work_delayable *work = NULL; + struct k_work_delayable *work = + CONTAINER_OF(item, struct k_work_delayable, work); LOG_DBG("24 h timeout"); - zbus_chan_claim(&periodic_24h_chan, K_FOREVER); - work = (struct k_work_delayable *)zbus_chan_user_data(&periodic_24h_chan); k_work_reschedule(work, K_MSEC(24 * 60 * 60 * 1000UL)); - zbus_chan_finish(&periodic_24h_chan); zbus_chan_pub(&periodic_24h_chan, &evt, K_NO_WAIT); } static void handle_5min_timeout(struct k_work *item) { struct periodic_event evt = { }; - struct k_work_delayable *work = NULL; + struct k_work_delayable *work = + CONTAINER_OF(item, struct k_work_delayable, work); LOG_DBG("5 min timeout"); - zbus_chan_claim(&periodic_5min_chan, K_FOREVER); - work = (struct k_work_delayable *)zbus_chan_user_data(&periodic_5min_chan); k_work_reschedule(work, K_MSEC(5 * 60 * 1000UL)); - zbus_chan_finish(&periodic_5min_chan); zbus_chan_pub(&periodic_5min_chan, &evt, K_NO_WAIT); }hardware/BeeLight.kicad_pro (2)
541-546: Template path likely stalevrml points to ZSWatch.wrl; update or drop if unused.
- "vrml": "../cad/ZSWatch.wrl" + "vrml": "../cad/BeeLight.wrl"
710-766: In-project metadata consistencyCOMPANY is "null" here but "Kampis‑Elektroecke" in KiBot config; align to avoid mismatched docs.
- "COMPANY": "null", + "COMPANY": "Kampis-Elektroecke",.github/workflows/pcb.yaml (2)
215-223: Use direct exit-code check (SC2181) and remove unused variable (SC2034)Tighten shell; eliminates fragile $? checks and unused vars.
- revision=$(python3 kibot_resources/scripts/get_changelog_version.py -f CHANGELOG.md) - if [[ $? -ne 0 ]]; then + if ! revision=$(python3 kibot_resources/scripts/get_changelog_version.py -f CHANGELOG.md); then echo -e "${YELLOW}Warning: Unable to determine version from CHANGELOG.md. Defaulting to empty revision.${NC}" revision="" fi
61-69: Quote variable expansions and drop unused variables (shellcheck SC2086/SC2034)Add double quotes around vars in shell scripts; remove unused last_tag in both jobs.
- last_tag=$(git describe --tags --abbrev=0 || echo "") + last_tag="$(git describe --tags --abbrev=0 || echo "")" @@ - version_arg="-E REVISION='${last_tag}'" + version_arg="-E REVISION='${last_tag}'" @@ - echo "version_arg=${version_arg}" >> $GITHUB_ENV - echo "additional_args=${additional_args}" >> $GITHUB_ENV + echo "version_arg=${version_arg}" >> "$GITHUB_ENV" + echo "additional_args=${additional_args}" >> "$GITHUB_ENV" @@ - zip -r ${{ env.kicad_board }}.zip ${{ env.kibot_output_dir }}-${{ env.kibot_variant }} + zip -r "${{ env.kicad_board }}.zip" "${{ env.kibot_output_dir }}-${{ env.kibot_variant }}" @@ - rm -rf ${KICAD_LIBRARY} + rm -rf "${KICAD_LIBRARY}"Please run actionlint locally to confirm all SC2086/SC2034/SC2181 warnings are resolved after applying these representative changes.
Also applies to: 161-171, 247-254, 85-88
hardware/kibot_yaml/kibot_main.yaml (1)
49-67: Quote template tokens to satisfy YAML linters (YAMLlint error on '@')KiBot replaces @tokens@, but plain YAML parsers flag list items like @NETLIST_OUTPUT@. Quote these tokens to improve linting without changing behavior.
Example:
- - @NETLIST_OUTPUT@ + - '@NETLIST_OUTPUT@' - - @PDF_SCHEMATIC_OUTPUT@ + - '@PDF_SCHEMATIC_OUTPUT@' - - @MD_README_OUTPUT@ + - '@MD_README_OUTPUT@'Apply similarly to other occurrences. [Based on static analysis hints]
firmware/app/src/main.c (1)
299-347: Rated voltage attribute uses renamed macroIf you adopt SENSOR_RATED_VOLTAGE_MV, update here accordingly.
Apply this diff:
- dev_ctx.power_attr.rated_voltage = SENSOR_RATET_VOLTAGE_MV / 100; + dev_ctx.power_attr.rated_voltage = SENSOR_RATED_VOLTAGE_MV / 100;firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_1.overlay (1)
39-46: Remove redundant compatible override
The&i2c20node and itspinctrl-0/1phandles are defined (and inheritcompatible = "nordic,nrf-twim") innrf54l15_cpuapp_common.dtsi. Inbeelight_nrf54l15_cpuapp_1.overlay, you only need:&i2c20 { status = "okay"; /* other overrides… */ };Delete the
compatible = "nordic,nrf-twim";line.firmware/app/src/beelight/beelight_nobsec2.h (3)
22-35: Minor doc nit: “informations” → “information”.Also consider removing the empty “Client” section or listing intended client clusters for clarity.
104-116: Groups attr present but no Groups cluster declared.device_ctx_t contains zb_zcl_groups_attrs_t, but Groups cluster is not in the cluster list or simple descriptor. Either add the Groups cluster (server/client as intended) or remove the field to avoid confusion.
128-137: Unused macro parameter identify_client_attr_list.The parameter is never used in ZB_DECLARE_ENV_SENSOR_CLUSTER_LIST. Either remove it, or add the Identify client cluster descriptor to align with the signature.
Example (removing the unused parameter):
-#define ZB_DECLARE_ENV_SENSOR_CLUSTER_LIST( \ - cluster_list_name, \ - basic_attr_list, \ - identify_client_attr_list, \ - identify_server_attr_list, \ - power_attr_list, \ - illu_attr_list, \ - temp_attr_list, \ - pres_attr_list, \ - hum_attr_list) \ +#define ZB_DECLARE_ENV_SENSOR_CLUSTER_LIST( \ + cluster_list_name, \ + basic_attr_list, \ + identify_server_attr_list, \ + power_attr_list, \ + illu_attr_list, \ + temp_attr_list, \ + pres_attr_list, \ + hum_attr_list) \Note: Removing it is a breaking change; update all call sites accordingly.
firmware/app/patches/zephyr/0005-drivers-sensor-APDS9306-Add-lux-conversion.patch (2)
116-149: Integer lux conversion looks sane; consider documenting numeric bounds.The formula avoids FP and stays within 32-bit even at max raw (24-bit) counts. Consider a short note on expected ranges/saturation behavior to guide consumers.
214-239: Set sensor_value.val2 to 0 in attr_get.Minor: val2 is no longer initialized; set it to 0 for callers that expect a clean struct.
Apply:
static int apds9306_attr_get(const struct device *dev, enum sensor_channel channel, enum sensor_attribute attribute, struct sensor_value *value) { - struct apds9306_data *data = dev->data; + struct apds9306_data *data = dev->data; + value->val2 = 0;hardware/kibot_yaml/kibot_globals.yaml (1)
1-12: Optional: add explicit YAML document start for clarity.Not required, but adding
---at top improves tooling compatibility.Example:
+--- # KiBot Globals # https://kibot.readthedocs.io/en/latest/configuration/global.htmlhardware/kibot_yaml/kibot_out_csv_pos.yaml (1)
7-13: Consistency nit: quote all placeholder-valued scalars.You already quote COMMENT/DIR. NAME was the outlier; after fixing, all are consistent. Consider keeping this rule across Kibot YAMLs.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (15)
-
docs/images/Block diagram.pngis excluded by!**/*.png -
docs/images/HomeAssistant.pngis excluded by!**/*.png -
docs/images/Photo_1.pngis excluded by!**/*.png -
docs/images/Rendering.pngis excluded by!**/*.png -
docs/images/Zigbee2MQTT.pngis excluded by!**/*.png -
hardware/Logos/Dummy.pngis excluded by!**/*.png -
hardware/kibot_resources/fonts/Arial.ttfis excluded by!**/*.ttf -
hardware/kibot_resources/fonts/Arial_Bold.ttfis excluded by!**/*.ttf -
hardware/kibot_resources/fonts/Arial_Bold_Italic.ttfis excluded by!**/*.ttf -
hardware/kibot_resources/fonts/Arial_Italic.ttfis excluded by!**/*.ttf -
hardware/kibot_resources/fonts/Times New Roman Bold Italic.ttfis excluded by!**/*.ttf -
hardware/kibot_resources/fonts/Times New Roman Bold.ttfis excluded by!**/*.ttf -
hardware/kibot_resources/fonts/Times New Roman Italic.ttfis excluded by!**/*.ttf -
hardware/kibot_resources/fonts/Times New Roman.ttfis excluded by!**/*.ttf -
hardware/meta/icon.pngis excluded by!**/*.png
📒 Files selected for processing (107)
-
.coderabbit.yaml(1 hunks) -
.github/.commit-msg-template(1 hunks) -
.github/FUNDING.yml(1 hunks) -
.github/workflows/firmware.yaml(1 hunks) -
.github/workflows/pcb.yaml(1 hunks) -
.github/workflows/zigbee.yaml(1 hunks) -
README.md(1 hunks) -
RELEASE.md(1 hunks) -
docs/BeeLight.drawio(1 hunks) -
firmware/.gitignore(1 hunks) -
firmware/app/.gitignore(1 hunks) -
firmware/app/.vscode/launch.json(1 hunks) -
firmware/app/.vscode/settings.json(1 hunks) -
firmware/app/CHANGELOG.md(1 hunks) -
firmware/app/CMakeLists.txt(1 hunks) -
firmware/app/Kconfig(1 hunks) -
firmware/app/Kconfig.sysbuild(1 hunks) -
firmware/app/VERSION(1 hunks) -
firmware/app/boards/kampi/beelight/Kconfig(1 hunks) -
firmware/app/boards/kampi/beelight/Kconfig.beelight(1 hunks) -
firmware/app/boards/kampi/beelight/Kconfig.defconfig(1 hunks) -
firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp.dts(1 hunks) -
firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp.yaml(1 hunks) -
firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_0.overlay(1 hunks) -
firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_0_defconfig(1 hunks) -
firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_1.overlay(1 hunks) -
firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_1_defconfig(1 hunks) -
firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_defconfig(1 hunks) -
firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_ns.dts(1 hunks) -
firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_ns.yaml(1 hunks) -
firmware/app/boards/kampi/beelight/beelight_nrf54l15_cpuapp_ns_defconfig(1 hunks) -
firmware/app/boards/kampi/beelight/board.cmake(1 hunks) -
firmware/app/boards/kampi/beelight/board.yml(1 hunks) -
firmware/app/boards/kampi/beelight/nrf54l15_cpuapp_common-pinctrl.dtsi(1 hunks) -
firmware/app/boards/kampi/beelight/nrf54l15_cpuapp_common.dtsi(1 hunks) -
firmware/app/config/debug.conf(1 hunks) -
firmware/app/config/release.conf(1 hunks) -
firmware/app/misc/astyle.cfg(1 hunks) -
firmware/app/patches/ncs-zigbee/0001-Add-cluster-for-IAQ-VOC-and-CO2.patch(1 hunks) -
firmware/app/patches/zephyr/0001-drivers-sensor-Add-support-for-Broadcom-APDS-9306.patch(1 hunks) -
firmware/app/patches/zephyr/0003-drivers-sensor-apds9306-fix-unchecked-return-value-c.patch(1 hunks) -
firmware/app/patches/zephyr/0004-Remove-reset-from-apds9306-driver.patch(1 hunks) -
firmware/app/patches/zephyr/0005-drivers-sensor-APDS9306-Add-lux-conversion.patch(1 hunks) -
firmware/app/prj.conf(1 hunks) -
firmware/app/scripts/.gitignore(1 hunks) -
firmware/app/scripts/astyle_format_west_command.py(1 hunks) -
firmware/app/scripts/upload-config.py(1 hunks) -
firmware/app/scripts/west-commands.yml(1 hunks) -
firmware/app/src/beelight/beelight.h(1 hunks) -
firmware/app/src/beelight/beelight_bsec2.h(1 hunks) -
firmware/app/src/beelight/beelight_nobsec2.h(1 hunks) -
firmware/app/src/events/CMakeLists.txt(1 hunks) -
firmware/app/src/events/Kconfig(1 hunks) -
firmware/app/src/events/events.c(1 hunks) -
firmware/app/src/events/events.h(1 hunks) -
firmware/app/src/main.c(1 hunks) -
firmware/app/src/sensors/CMakeLists.txt(1 hunks) -
firmware/app/src/sensors/Kconfig(1 hunks) -
firmware/app/src/sensors/battery.c(1 hunks) -
firmware/app/src/sensors/environment.c(1 hunks) -
firmware/app/src/sensors/light.c(1 hunks) -
firmware/app/west.yml(1 hunks) -
firmware/app/zigbee_config.yml(1 hunks) -
hardware/.gitignore(1 hunks) -
hardware/BeeLight.kicad_pro(1 hunks) -
hardware/BeeLight.kicad_pro-bak(1 hunks) -
hardware/BeeLight.kicad_sch(1 hunks) -
hardware/BeeLight.xml(1 hunks) -
hardware/CHANGELOG.md(1 hunks) -
hardware/LICENSE(1 hunks) -
hardware/Project Architecture.kicad_sch(1 hunks) -
hardware/README.md(1 hunks) -
hardware/Revision History.kicad_sch(1 hunks) -
hardware/Templates/KDT_Template.kicad_wks(1 hunks) -
hardware/Templates/KDT_Template_GIT.kicad_wks(1 hunks) -
hardware/Templates/KDT_Template_PCB_A3.kicad_wks(1 hunks) -
hardware/Templates/KDT_Template_PCB_A4.kicad_wks(1 hunks) -
hardware/Templates/KDT_Template_PCB_A5.kicad_wks(1 hunks) -
hardware/Templates/KDT_Template_PCB_GIT_A3.kicad_wks(1 hunks) -
hardware/Templates/KDT_Template_PCB_GIT_A4.kicad_wks(1 hunks) -
hardware/Templates/KDT_Template_PCB_GIT_A5.kicad_wks(1 hunks) -
hardware/kibot_launch.sh(1 hunks) -
hardware/kibot_resources/colors/Altium_Theme.json(1 hunks) -
hardware/kibot_resources/scripts/docker_kibot_linux.sh(1 hunks) -
hardware/kibot_resources/scripts/docker_kibot_windows.bat(1 hunks) -
hardware/kibot_resources/scripts/get_changelog.py(1 hunks) -
hardware/kibot_resources/scripts/get_changelog_version.py(1 hunks) -
hardware/kibot_resources/scripts/get_sheet_title.py(1 hunks) -
hardware/kibot_resources/templates/assembly_notes.txt(1 hunks) -
hardware/kibot_resources/templates/fabrication_notes.txt(1 hunks) -
hardware/kibot_resources/templates/impedance_table.txt(1 hunks) -
hardware/kibot_resources/templates/readme.txt(1 hunks) -
hardware/kibot_yaml/kibot_filt_exclude_testpoints.yaml(1 hunks) -
hardware/kibot_yaml/kibot_filt_field_rename.yaml(1 hunks) -
hardware/kibot_yaml/kibot_filt_testpoints.yaml(1 hunks) -
hardware/kibot_yaml/kibot_globals.yaml(1 hunks) -
hardware/kibot_yaml/kibot_main.yaml(1 hunks) -
hardware/kibot_yaml/kibot_out_blender.yaml(1 hunks) -
hardware/kibot_yaml/kibot_out_compress_fab.yaml(1 hunks) -
hardware/kibot_yaml/kibot_out_csv_bom.yaml(1 hunks) -
hardware/kibot_yaml/kibot_out_csv_drill_table.yaml(1 hunks) -
hardware/kibot_yaml/kibot_out_csv_pos.yaml(1 hunks) -
hardware/kibot_yaml/kibot_out_csv_report.yaml(1 hunks) -
hardware/kibot_yaml/kibot_out_csv_testpoints.yaml(1 hunks) -
hardware/kibot_yaml/kibot_out_csv_testpoints_simple.yaml(1 hunks) -
hardware/kibot_yaml/kibot_out_excellon_drill.yaml(1 hunks) -
hardware/kibot_yaml/kibot_out_gerber.yaml(1 hunks)
⛔ Files not processed due to max files limit (29)
- hardware/kibot_yaml/kibot_out_html_bom.yaml
- hardware/kibot_yaml/kibot_out_html_ibom.yaml
- hardware/kibot_yaml/kibot_out_html_kicanvas.yaml
- hardware/kibot_yaml/kibot_out_html_kiri.yaml
- hardware/kibot_yaml/kibot_out_logo_copy.yaml
- hardware/kibot_yaml/kibot_out_md_report.yaml
- hardware/kibot_yaml/kibot_out_mouser_bom.yaml
- hardware/kibot_yaml/kibot_out_navigate_results.yaml
- hardware/kibot_yaml/kibot_out_netlist.yaml
- hardware/kibot_yaml/kibot_out_odb.yaml
- hardware/kibot_yaml/kibot_out_pdf_assembly.yaml
- hardware/kibot_yaml/kibot_out_pdf_fabrication.yaml
- hardware/kibot_yaml/kibot_out_pdf_schematic.yaml
- hardware/kibot_yaml/kibot_out_png_3d_viewer.yaml
- hardware/kibot_yaml/kibot_out_production_doc.yaml
- hardware/kibot_yaml/kibot_out_sch_variant.yaml
- hardware/kibot_yaml/kibot_out_step.yaml
- hardware/kibot_yaml/kibot_out_txt_report.yaml
- hardware/kibot_yaml/kibot_out_xlsx_bom.yaml
- hardware/kibot_yaml/kibot_pre_draw_stackup.yaml
- hardware/kibot_yaml/kibot_pre_drc_report.yaml
- hardware/kibot_yaml/kibot_pre_erc_report.yaml
- hardware/kibot_yaml/kibot_pre_include_table.yaml
- hardware/kibot_yaml/kibot_pre_set_text_variables.yaml
- hardware/kibot_yaml/kicost_config_local.yaml
- hardware/meta/info.html
- prebuilt/zigbee_config.hex
- z2m/data/configuration.yaml
- z2m/data/external_converters/beelight.js
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/pcb.yaml
61-61: shellcheck reported issue in this script: SC2034:warning:1:1: last_tag appears unused. Verify use (or export if used externally)
(shellcheck)
61-61: shellcheck reported issue in this script: SC2086:info:4:36: Double quote to prevent globbing and word splitting
(shellcheck)
61-61: shellcheck reported issue in this script: SC2086:info:6:52: Double quote to prevent globbing and word splitting
(shellcheck)
110-110: shellcheck reported issue in this script: SC2086:info:2:45: Double quote to prevent globbing and word splitting
(shellcheck)
126-126: shellcheck reported issue in this script: SC2086:info:2:46: Double quote to prevent globbing and word splitting
(shellcheck)
161-161: shellcheck reported issue in this script: SC2086:info:5:36: Double quote to prevent globbing and word splitting
(shellcheck)
161-161: shellcheck reported issue in this script: SC2086:info:8:52: Double quote to prevent globbing and word splitting
(shellcheck)
161-161: shellcheck reported issue in this script: SC2086:info:28:38: Double quote to prevent globbing and word splitting
(shellcheck)
161-161: shellcheck reported issue in this script: SC2086:info:29:46: Double quote to prevent globbing and word splitting
(shellcheck)
215-215: shellcheck reported issue in this script: SC2181:style:3:7: Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?
(shellcheck)
215-215: shellcheck reported issue in this script: SC2034:warning:5:5: revision appears unused. Verify use (or export if used externally)
(shellcheck)
247-247: shellcheck reported issue in this script: SC2086:info:1:8: Double quote to prevent globbing and word splitting
(shellcheck)
257-257: shellcheck reported issue in this script: SC2086:info:15:21: Double quote to prevent globbing and word splitting
(shellcheck)
.github/workflows/firmware.yaml
53-53: shellcheck reported issue in this script: SC2086:info:6:51: Double quote to prevent globbing and word splitting
(shellcheck)
🪛 Biome (2.1.2)
firmware/app/.vscode/launch.json
[error] 17-17: Expected a property but instead found '}'.
Expected a property here.
(parse)
[error] 18-18: Expected an array, an object, or a literal but instead found ']'.
Expected an array, an object, or a literal here.
(parse)
🪛 LanguageTool
hardware/README.md
[grammar] ~25-~25: There might be a mistake here.
Context: ...## SPECIFICATIONS | Parameter | Value | | --- | --- | | Dimensions | 32.0 × 24.0...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...ONS | Parameter | Value | | --- | --- | | Dimensions | 32.0 × 24.0 mm | *** ##...
(QB_NEW_EN)
RELEASE.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...ute ## Table of Contents - Contribute - Table of Contents ...
(QB_NEW_EN)
[grammar] ~6-~6: There might be a mistake here.
Context: ...ute](#contribute) - Table of Contents - Hardware - [Maintainer](#m...
(QB_NEW_EN)
[grammar] ~7-~7: There might be a mistake here.
Context: ...tents](#table-of-contents) - Hardware - Maintainer ## Hardware 1...
(QB_NEW_EN)
firmware/app/CHANGELOG.md
[grammar] ~13-~13: Ensure spelling is correct
Context: ...OSS R23 Added: - Add BME688 - Add suport for BME688 only and Bosch BSEC - Add bl...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
hardware/kibot_resources/templates/impedance_table.txt
[grammar] ~1-~1: There might be a mistake here.
Context: ...e, Impedance [ohms], Tolerance [%], Layer, Trace Width [mm], Gap [mm], Ref. ...
(QB_NEW_EN)
[grammar] ~1-~1: There might be a mistake here.
Context: ...Impedance [ohms], Tolerance [%], Layer, Trace Width [mm], Gap [mm], Ref. Layers ...
(QB_NEW_EN)
[grammar] ~1-~1: There might be a mistake here.
Context: ... Tolerance [%], Layer, Trace Width [mm], Gap [mm], Ref. Layers
(QB_NEW_EN)
[grammar] ~1-~1: There might be a mistake here.
Context: ... [%], Layer, Trace Width [mm], Gap [mm], Ref. Layers
(QB_NEW_EN)
hardware/kibot_resources/templates/readme.txt
[grammar] ~25-~25: There might be a mistake here.
Context: ...## SPECIFICATIONS | Parameter | Value | | --- | --- | | Dimensions | ${bb_w_mm} ...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...ONS | Parameter | Value | | --- | --- | | Dimensions | ${bb_w_mm} × ${bb_h_mm} m...
(QB_NEW_EN)
README.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...& environment sensor for Home Automation](#beelight---zigbee-based-light--environment-sensor-for-home-automation) - Table of Contents ...
(QB_NEW_EN)
[grammar] ~6-~6: There might be a mistake here.
Context: ...-home-automation) - Table of Contents - About - [Technical features...
(QB_NEW_EN)
[grammar] ~7-~7: There might be a mistake here.
Context: ...Contents](#table-of-contents) - About - Technical features...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...s](#technical-features) - Before you start - PCB - Firmware ...
(QB_NEW_EN)
[grammar] ~10-~10: There might be a mistake here.
Context: ...you start](#before-you-start) - PCB - Firmware - [Build the ...
(QB_NEW_EN)
[grammar] ~11-~11: There might be a mistake here.
Context: ...start) - PCB - Firmware - Build the firmware...
(QB_NEW_EN)
[grammar] ~16-~16: There might be a mistake here.
Context: ...sing-west) - Using the command line - Housing - [Zigbee](#zigbe...
(QB_NEW_EN)
[grammar] ~17-~17: There might be a mistake here.
Context: ...(#using-the-command-line) - Housing - Zigbee - [Standard clust...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ... - Housing - Zigbee - Standard cluster ...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...(#custom-cluster) - Zigbee Dongle - [Install the device to Zigbee2MQTT](#inst...
(QB_NEW_EN)
[grammar] ~22-~22: There might be a mistake here.
Context: ... - Install the device to Zigbee2MQTT - [Directory structure](#directory-structur...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...-edge MCU with an nRF54L, running Zephyr - Powered by a single coin cell - Can meas...
(QB_NEW_EN)
[grammar] ~36-~36: There might be a mistake here.
Context: ...g Zephyr - Powered by a single coin cell - Can measure - Temperature - Humidity...
(QB_NEW_EN)
[grammar] ~37-~37: There might be a mistake here.
Context: ...ered by a single coin cell - Can measure - Temperature - Humidity - Pressure ...
(QB_NEW_EN)
[grammar] ~38-~38: There might be a mistake here.
Context: ... coin cell - Can measure - Temperature - Humidity - Pressure - IAQ - CO2 eq...
(QB_NEW_EN)
[grammar] ~39-~39: There might be a mistake here.
Context: ...Can measure - Temperature - Humidity - Pressure - IAQ - CO2 equivalent - ...
(QB_NEW_EN)
[grammar] ~40-~40: There might be a mistake here.
Context: ... - Temperature - Humidity - Pressure - IAQ - CO2 equivalent - VOC equivalen...
(QB_NEW_EN)
[grammar] ~41-~41: There might be a mistake here.
Context: ...rature - Humidity - Pressure - IAQ - CO2 equivalent - VOC equivalent - Li...
(QB_NEW_EN)
[grammar] ~42-~42: There might be a mistake here.
Context: ... - Pressure - IAQ - CO2 equivalent - VOC equivalent - Light intensity - B...
(QB_NEW_EN)
[grammar] ~43-~43: There might be a mistake here.
Context: ...AQ - CO2 equivalent - VOC equivalent - Light intensity - Battery voltage - Sm...
(QB_NEW_EN)
[grammar] ~44-~44: There might be a mistake here.
Context: ...t - VOC equivalent - Light intensity - Battery voltage - Small housing (40x42 m...
(QB_NEW_EN)
[grammar] ~45-~45: There might be a mistake here.
Context: ... - Light intensity - Battery voltage - Small housing (40x42 mm) - Very basic el...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...ttery voltage - Small housing (40x42 mm) - Very basic electronic → Can be assembled...
(QB_NEW_EN)
[style] ~47-~47: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...c electronic → Can be assembled by hand very easily - Zigbee2MQTT compatibility ![Block di...
(EN_WEAK_ADJECTIVE)
[grammar] ~47-~47: There might be a mistake here.
Context: ...c → Can be assembled by hand very easily - Zigbee2MQTT compatibility ![Block diagr...
(QB_NEW_EN)
[grammar] ~88-~88: There might be a mistake here.
Context: ... run it via CI/CD in GitHub. > NOTE > You have to provide a Mouser API key w...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...st feature in the Kibot job. > NOTE > The programming connector is optional ...
(QB_NEW_EN)
[grammar] ~156-~156: There might be a mistake here.
Context: ...re | 0x0403 | | Rel. Humidity | 0x0405 | | Light | 0x0400 | #### Custom cluster ...
(QB_NEW_EN)
[grammar] ~163-~163: There might be a mistake here.
Context: ...alueandtolerance`. | Cluster | ID | | ------- | -- | | IAQ | 0x1A0A | | VOC ...
(QB_NEW_EN)
[grammar] ~164-~164: There might be a mistake here.
Context: ...nce`. | Cluster | ID | | ------- | -- | | IAQ | 0x1A0A | | VOC | 0x1A0B | | CO2 ...
(QB_NEW_EN)
[grammar] ~165-~165: There might be a mistake here.
Context: ...| ID | | ------- | -- | | IAQ | 0x1A0A | | VOC | 0x1A0B | | CO2 | 0x1A0C | | Att...
(QB_NEW_EN)
[grammar] ~166-~166: There might be a mistake here.
Context: ...| -- | | IAQ | 0x1A0A | | VOC | 0x1A0B | | CO2 | 0x1A0C | | Attribute | ID | | -...
(QB_NEW_EN)
[grammar] ~173-~173: There might be a mistake here.
Context: ...Value | 0x0001 | | Max. Value | 0x0002 | | Tolerance | 0x0003 | #### Zigbee Don...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ...ll the device to Zigbee2MQTT > NOTE > Because it´s not possible to use custo...
(QB_NEW_EN)
[grammar] ~183-~183: There might be a mistake here.
Context: ...NOTE > Because it´s not possible to use custom cluster with Zigbee2MQTT easily,...
(QB_NEW_EN)
[grammar] ~225-~225: There might be a mistake here.
Context: ...{ ...converters1, ...converters2 };toconst converters = { ...converters1, ...converters2, ...converters3 };6. Save the file 7. Switch to.../zigbee2m...
(QB_NEW_EN)
[grammar] ~227-~227: There might be a mistake here.
Context: ...ters3 };6. Save the file 7. Switch to.../zigbee2mqtt/node_modules/zigbee-herdsman/dist/zspec/zcl/definition8. Open the filecluster.js` and add the f...
(QB_NEW_EN)
[grammar] ~279-~279: Use a hyphen to join words.
Context: ...ry structure - 3d-print: All 3D print related files - cad: All relevant 3D m...
(QB_NEW_EN_HYPHEN)
[grammar] ~279-~279: There might be a mistake here.
Context: ...- 3d-print: All 3D print related files - cad: All relevant 3D models - docs: All k...
(QB_NEW_EN)
[grammar] ~280-~280: There might be a mistake here.
Context: ...ed files - cad: All relevant 3D models - docs: All kinds of project documentation lik...
(QB_NEW_EN)
[grammar] ~281-~281: There might be a mistake here.
Context: ...documentation like schematics, BOM, etc. - drawings: 2D drawings for subcomponents, etc. ...
(QB_NEW_EN)
[grammar] ~282-~282: There might be a mistake here.
Context: ...gs: 2D drawings for subcomponents, etc. - images: All documentation related images - ha...
(QB_NEW_EN)
[grammar] ~283-~283: Use a hyphen to join words.
Context: ...ts, etc. - images: All documentation related images - hardware: KiCad proje...
(QB_NEW_EN_HYPHEN)
[grammar] ~283-~283: There might be a mistake here.
Context: ...mages: All documentation related images - hardware: KiCad project for the PCB - firmware`...
(QB_NEW_EN)
[grammar] ~284-~284: There might be a mistake here.
Context: ... - hardware: KiCad project for the PCB - firmware: Zephyr project for the device firmware...
(QB_NEW_EN)
[grammar] ~285-~285: There might be a mistake here.
Context: ...: Zephyr project for the device firmware - prebuilt: Prebuilt binaries - production: Prod...
(QB_NEW_EN)
[grammar] ~286-~286: There might be a mistake here.
Context: ...firmware - prebuilt: Prebuilt binaries - production: Production files from the latest CI/CD...
(QB_NEW_EN)
[grammar] ~287-~287: There might be a mistake here.
Context: ...oduction files from the latest CI/CD run - z2m: Zigbee2MQTT related files ## Ressourc...
(QB_NEW_EN)
[grammar] ~288-~288: Use a hyphen to join words.
Context: ...he latest CI/CD run - z2m: Zigbee2MQTT related files ## Ressources - [Adding ...
(QB_NEW_EN_HYPHEN)
[grammar] ~292-~292: There might be a mistake here.
Context: ...urces - Adding new Zigbee2MQTT devices - [Zigbee Cluster Library Specification](ht...
(QB_NEW_EN)
[grammar] ~293-~293: There might be a mistake here.
Context: ... - Zigbee Cluster Library Specification - [Generating HEX files for Zigbee producti...
(QB_NEW_EN)
[grammar] ~294-~294: There might be a mistake here.
Context: ...iles for Zigbee production configuration](https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-nrf5sdk-tools/guides/generating_zigbee_hex.html) - [Zigbee Converters](https://github.com/Ko...
(QB_NEW_EN)
[grammar] ~295-~295: There might be a mistake here.
Context: ...ng_zigbee_hex.html) - Zigbee Converters - [KiBot Template](https://github.com/nguye...
(QB_NEW_EN)
hardware/kibot_resources/templates/fabrication_notes.txt
[grammar] ~5-~5: There might be a mistake here.
Context: ...INE DEFINED IN SEPARATE GERBER FILE WITH "Edge_Cuts.GBR" SUFFIX. DIMENSIONS OF ...
(QB_NEW_EN)
[grammar] ~14-~14: There might be a mistake here.
Context: ...ED HOLE LOCATIONS SHOWN ON THIS DRAWING FOR REFERENCE ONLY. 4) SURFACE FINISH: ...
(QB_NEW_EN)
[grammar] ~28-~28: Use a hyphen to join words.
Context: ...IN GERBER. 8) VENDOR SHOULD FOLLOW ROHS COMPLIANT PROCESS AND Pb FREE FOR MANU...
(QB_NEW_EN_HYPHEN)
[grammar] ~33-~33: There might be a mistake here.
Context: ...RING 9) PCB MATERIAL REQUIREMENTS: A. FLAMMABILITY RATING MUST MEET OR EXCEED ...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...T OR EXCEED UL94V-0 REQUIREMENTS. B. Tg 150 C OR EQUIVALENT. C. EQUIVALENT M...
(QB_NEW_EN)
[grammar] ~36-~36: There might be a mistake here.
Context: ...REMENTS. B. Tg 150 C OR EQUIVALENT. C. EQUIVALENT MATERIAL SHALL BE RoHS COMPLI...
(QB_NEW_EN)
[grammar] ~50-~50: There might be a mistake here.
Context: ...{c2e_mm} mm HOLE TO HOLE ${h2h_mm} mm #?stackup and impedance_controlled #?st...
(QB_NEW_EN)
🪛 markdownlint-cli2 (0.18.1)
README.md
90-90: Blank line inside blockquote
(MD028, no-blanks-blockquote)
🪛 Ruff (0.14.0)
firmware/app/scripts/upload-config.py
4-4: Shebang is present but file is not executable
(EXE001)
4-4: Shebang should be at the beginning of the file
(EXE005)
62-62: Unused method argument: unknown_args
(ARG002)
75-75: Starting a process with a shell, possible injection detected
(S605)
76-76: Starting a process with a shell, possible injection detected
(S605)
hardware/kibot_resources/scripts/get_sheet_title.py
7-7: Using xml to parse untrusted data is known to be vulnerable to XML attacks; use defusedxml equivalents
(S314)
19-19: Local variable title is assigned to but never used
Remove assignment to unused variable title
(F841)
34-34: Do not catch blind exception: Exception
(BLE001)
hardware/kibot_resources/scripts/get_changelog_version.py
31-31: Do not catch blind exception: Exception
(BLE001)
firmware/app/scripts/astyle_format_west_command.py
4-4: Shebang is present but file is not executable
(EXE001)
4-4: Shebang should be at the beginning of the file
(EXE005)
33-33: Unused method argument: unknown_args
(ARG002)
36-36: Avoid equality comparisons to True; use args.dry_run: for truth checks
Replace with args.dry_run
(E712)
46-46: subprocess call: check for execution of untrusted input
(S603)
🪛 Shellcheck (0.11.0)
hardware/kibot_resources/scripts/docker_kibot_linux.sh
[warning] 5-5: Declare and assign separately to avoid masking return values.
(SC2155)
[warning] 5-5: Quote this to prevent word splitting.
(SC2046)
[warning] 6-6: Declare and assign separately to avoid masking return values.
(SC2155)
[warning] 6-6: Quote this to prevent word splitting.
(SC2046)
[warning] 7-7: Declare and assign separately to avoid masking return values.
(SC2155)
[warning] 7-7: Quote this to prevent word splitting.
(SC2046)
🪛 YAMLlint (1.37.1)
hardware/kibot_yaml/kibot_filt_field_rename.yaml
[error] 17-17: syntax error: expected '', but found ''
(syntax)
hardware/kibot_yaml/kibot_out_csv_bom.yaml
[error] 8-8: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_main.yaml
[error] 51-51: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_out_csv_drill_table.yaml
[error] 8-8: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_out_csv_report.yaml
[error] 8-8: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_out_gerber.yaml
[error] 8-8: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_out_compress_fab.yaml
[error] 8-8: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_out_csv_pos.yaml
[error] 8-8: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_out_excellon_drill.yaml
[error] 8-8: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_out_csv_testpoints_simple.yaml
[error] 8-8: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_filt_exclude_testpoints.yaml
[error] 15-15: syntax error: expected '', but found ''
(syntax)
hardware/kibot_yaml/kibot_filt_testpoints.yaml
[error] 12-12: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_globals.yaml
[error] 40-40: syntax error: expected '', but found ''
(syntax)
hardware/kibot_yaml/kibot_out_blender.yaml
[error] 8-8: syntax error: found character '@' that cannot start any token
(syntax)
hardware/kibot_yaml/kibot_out_csv_testpoints.yaml
[error] 8-8: syntax error: found character '@' that cannot start any token
(syntax)
b727c47 to
d4dc3f4
Compare
41c1140 to
c9f0d33
Compare
- CI/CD: Add CodeRabbit configuration file - CI/CD: Fix issues reported by CodeRabbit Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke>
- Switch from CR2032 to CR2477 batteries for longer runtime Closes #28 Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke.de>
d41b081 to
8b86dac
Compare
- Update README - Add release or debug info to Zigbee FW version - Fixes from CodeRabbit - Simplify the cluster definitions and rename them Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke.de>
- Wrong date variable in PCB CI/CD Closes #48 Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke>
|



Summary by CodeRabbit
New Features
Hardware
CI/CD
Documentation
Chores