OneKeyHQ / firmware

Other
62 stars 49 forks source link

fix: fix the problem of losing Bluetooth status connection command #582

Closed guowei0105 closed 1 month ago

guowei0105 commented 1 month ago

Summary by CodeRabbit

coderabbitai[bot] commented 1 month ago

Walkthrough

此次更改主要涉及三个文件。core/embed/trezorhal/usart.c 中的 ble_usart_init 函数添加了两个新的函数调用,以启用 UART 的 FIFO 模式并设置接收 FIFO 阈值。core/src/apps/base.py 文件集成了来自 trezor 包的 uart 模块,更新了多个功能以支持蓝牙特性。最后,core/src/trezor/uart.py 文件新增了一个获取蓝牙连接状态的函数,同时修正了一个缩进问题。

Changes

文件路径 更改摘要
core/embed/trezorhal/usart.c 修改 ble_usart_init 函数,添加 HAL_UARTEx_EnableFifoMode(huart)HAL_UARTEx_SetRxFifoThreshold(huart, UART_RXFIFO_THRESHOLD_1_8)
core/src/apps/base.py 添加 from trezor import uart 导入,更新 set_homescreenstore_ble_nameget_featuresget_onekey_features 函数以使用 uart 模块。
core/src/trezor/uart.py 新增 get_ble_con_status() 函数以获取蓝牙连接状态,修正 is_ble_opened() 函数的缩进。
.github/workflows/prebuild.yml style-checkdefs-checkgen-check 作业中添加 install_url 参数以指定 Nix 版本。

Sequence Diagram(s)

sequenceDiagram
    participant App as 应用程序
    participant UART as UART模块
    participant Trezor as Trezor模块

    App->>UART: 调用 uart.get_ble_name()
    UART-->>App: 返回蓝牙名称

    App->>UART: 调用 uart.get_ble_version()
    UART-->>App: 返回蓝牙版本

    App->>UART: 调用 uart.get_ble_con_status()
    UART-->>App: 返回蓝牙连接状态

🪧 Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit , please review it.` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` or `Summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.