Skip to content

v0.3.4

Latest

Choose a tag to compare

@uist1idrju3i uist1idrju3i released this 04 May 14:52
6d22b67

Overview

This release includes significant improvements to BLE connectivity, mruby/c upgrades, SDK updates, and comprehensive documentation enhancements.

Major Changes

BLE Connectivity Improvements

  • Fix advertising state corruption on -EALREADY error
  • Improve thread safety of ble_context.conn access
  • Add proper connection lifecycle management with bt_conn_ref/unref
  • Add NULL safety and thread safety to GATT notifications
  • Replace custom flags with Zephyr standard APIs
  • Add supervision timeout validation in parameter requests
  • Add security_changed callback for SMP event logging
  • Use synchronous bt_enable(NULL) instead of async + semaphore
  • Use BT_LE_ADV_CONN_FAST_2 macro for advertising parameters
  • Replace deprecated info.le.interval with interval_us
  • Add bonding information cleanup and document future bonding plan
  • Add NOTIFY property and CCC to Program characteristic

mruby/c Upgrade

  • Upgrade mruby/c from 3.3.0 to 3.4.0, then to 3.4.1
  • Enable MRBC_USE_MATH for math function support
  • Add _DEFAULT_SOURCE to enable M_PI and M_E math constants in picolibc
  • Add Blink.lock and Blink.unlock methods
  • Deprecate Blink.req_reload? method
  • Remove unnecessary mutex unlock in mrubyc_vm_main function

nRF Connect SDK Upgrade

  • Upgrade from v2.9.0 to v3.2.1, then to v3.3.0
  • Update documentation to reflect SDK version changes

Documentation Enhancements

  • Add comprehensive multilingual support (English, Japanese, Chinese)
  • Split README into language-specific files with language badges
  • Add Philosophy and Goals section explaining OpenBlink's vision
  • Expand Getting Started section with detailed instructions
  • Add DeepWiki link for AI-powered comprehensive documentation
  • Add Doxygen-style comments throughout codebase
  • Add new documentation files (mruby API, Bluetooth specification)
  • Rename doc files to follow standard language suffix convention
  • Fix hallucination in CRC description

Other Improvements

  • Add function to wait for blink if abnormal end is detected
  • Improve error logging with bt_hci_err_to_str for human-readable errors
  • Replace printk with LOG_* macros for consistent logging
  • Add check_startcondition function
  • Remove unused CONFIG_BT_GATT_DM and document CONFIG_BT_GATT_CLIENT
  • Remove CONFIG_NRF_APPROTECT_USE_UICR from prj.conf

Compatibility

  • Requires nRF Connect SDK v3.3.0
  • Verified on nRF54L15-DK and nRF52840-DK

Version

openblink % west bindesc dump build/merged.hex
APP_VERSION_MAJOR 0
APP_VERSION_MINOR 3
APP_VERSION_PATCHLEVEL 4
APP_VERSION_STRING "0.3.4"
KERNEL_VERSION_MAJOR 4
KERNEL_VERSION_MINOR 3
KERNEL_VERSION_PATCHLEVEL 99
KERNEL_VERSION_STRING "4.3.99"

Size

nRF54L15-DK

Memory region         Used Size  Region Size  %age Used
           FLASH:      313204 B      1300 KB     23.53%
             RAM:      105024 B       188 KB     54.55%
        IDT_LIST:          0 GB        32 KB      0.00%

nRF52840-DK

Memory region         Used Size  Region Size  %age Used
           FLASH:      314544 B       896 KB     34.28%
             RAM:      107528 B       256 KB     41.02%
        IDT_LIST:          0 GB        32 KB      0.00%

Full Changelog: v0.3.3...v0.3.4