Skip to content

Feat/firmware flasher - #56

Open
ZephyrKeXiner wants to merge 2 commits into
AhakeyAI:mainfrom
ZephyrKeXiner:feat/firmware-flasher
Open

Feat/firmware flasher#56
ZephyrKeXiner wants to merge 2 commits into
AhakeyAI:mainfrom
ZephyrKeXiner:feat/firmware-flasher

Conversation

@ZephyrKeXiner

Copy link
Copy Markdown
Member
  1. Summary / 修改概述
  • This pull request introduces several improvements and new features to the macOS AhaKey Studio application, focusing on enhanced firmware flashing support, improved user experience, and better third-party license compliance. The most significant changes include adding a new firmware flasher tool integration, updating licensing documentation, and preventing accidental termination during critical firmware operations.

Firmware flashing and tool integration:

  • Added a new button in the device menu to launch a firmware flasher sheet, which uses the external wchisp tool for USB ISP programming. This includes new state management for showing the flasher, and integration of the FirmwareFlasherView into the main SwiftUI view (AhaKeyStudioView). [1] [2] [3]
  • Added SHA256 checksums for distributed firmware and tool binaries, ensuring integrity and traceability of shipped files (SOURCE_SHA256SUMS).

User experience and safety:

  • Prevented accidental application termination during firmware erase/write operations by intercepting quit events and displaying a warning alert if a critical operation is in progress.
  • Disabled the default "New Window" (Command-N) menu item to avoid multiple full view trees, since the app is designed for a single workspace.
  • Ensured that duplicate event subscriptions are avoided in the BLE bridge by clearing old subscriptions before rebinding, preventing memory leaks and redundant callbacks.

Third-party compliance and documentation:

  • Added third-party notices and the full GNU GPL v2 license text for the wchisp tool, clarifying its usage, licensing, and source for end users. [1] [2]

Other:

  • Minor import clean-up in AhaKeyStudioView.swift to support new features.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant