{"id":24091917,"url":"https://github.com/RT-Thread-packages/bmi160_bmx160","last_synced_at":"2025-09-17T01:32:37.839Z","repository":{"id":89836031,"uuid":"170837242","full_name":"RT-Thread-packages/bmi160_bmx160","owner":"RT-Thread-packages","description":"The device driver package for  BMX160 and BMI160.","archived":false,"fork":false,"pushed_at":"2024-12-20T22:51:23.000Z","size":74,"stargazers_count":8,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-20T23:28:30.120Z","etag":null,"topics":["sensor"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RT-Thread-packages.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-15T09:24:15.000Z","updated_at":"2024-12-20T22:51:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"a18a86e3-7a4b-4a3d-95a7-3729347d99e2","html_url":"https://github.com/RT-Thread-packages/bmi160_bmx160","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RT-Thread-packages%2Fbmi160_bmx160","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RT-Thread-packages%2Fbmi160_bmx160/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RT-Thread-packages%2Fbmi160_bmx160/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RT-Thread-packages%2Fbmi160_bmx160/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RT-Thread-packages","download_url":"https://codeload.github.com/RT-Thread-packages/bmi160_bmx160/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233312773,"owners_count":18657099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["sensor"],"created_at":"2025-01-10T07:44:46.627Z","updated_at":"2025-09-17T01:32:32.473Z","avatar_url":"https://github.com/RT-Thread-packages.png","language":"C","funding_links":[],"categories":["Packages"],"sub_categories":["Peripherals"],"readme":"# BMI160 / BMX160\n\n## 简介\n\n本软件包是为 BOSCH BMI160 6轴传感器以及 BMX160 9轴传感器提供的通用传感器驱动包。\n\n本驱动软件包会检测所连接传感器的ID从而自动配置为BMI160或者BMX160的驱动，无须用户手动选择。\n\n本文档介绍该软件包的基本功能和使用方法，本文主要内容如下：\n\n- 传感器介绍\n- 支持情况\n- 使用说明\n\n## 传感器介绍\n\nBMI160 是 BOSCH（博世）公司专为可穿戴设备和 IOT 市场开发的一款超低功耗6轴传感器，尺寸小巧，内置加速计和陀螺仪。\n\nBMX160 是 BOSCH（博世）公司专为可穿戴设备和 IOT 市场开发的一款超低功耗9轴传感器，内置加速计、陀螺仪和磁力计。\n\n## 支持情况\n\n| 包含设备         | 加速计 | 陀螺仪 | 磁力计 |\n| ---------------- | -------- | ------ | ------ |\n| **通讯接口**     |          |        |        |\n| IIC              | √        | √      | √      |\n| SPI              |          |        |        |\n| **工作模式**     |          |        |        |\n| 轮询             | √        | √      | √      |\n| 中断             | √        | √      | √      |\n| FIFO             | √        | √      | √      |\n| **电源模式**     |          |        |        |\n| 掉电             | √        | √      | √      |\n| 低功耗           | √        |        | √      |\n| 普通             | √        | √      | √      |\n| 高功耗           |          |        |        |\n| **数据输出速率** | √        | √      | √      |\n| **测量范围**     | √        | √      |        |\n| **自检**         |          |        |        |\n| **多实例**       | √        | √      | √      |\n\n## 使用说明\n\n### 依赖\n\n- RT-Thread 4.0.0+\n- Sensor 组件\n- IIC 驱动：BMI160 / BMX160 设备使用 IIC 进行数据通讯，需要系统 IIC 驱动框架支持；\n\n### 获取软件包\n\n使用 BMI160/BMX160 软件包需要在 RT-Thread 的包管理中选中它，具体路径如下：\n\n```\nBMI160: BMI160 Digital 6-axis / BMX160 Digital 9-axis sensor\n    [*]   Enable BMI160 / BMX160 accelerometer\n    [*]   Enable BMI160 / BMX160 gyroscope\n    [*]   Enable BMX160 magnetometer\n        Version (latest)  ---\u003e\n```\n\n**Enable BMI160 accelerometer**： 配置开启加速度测量功能\n\n**Enable BMI160 gyroscope**：配置开启陀螺仪功能\n\n**Enable BMI160 magnetometer**：配置开启磁力计功能（只有BMX160支持磁力计）\n\n**Version**：软件包版本选择\n\n### 使用软件包\n\nBMA400 软件包初始化函数如下所示：\n\n```\nint rt_hw_bmx160_init(const char *name, struct rt_sensor_config *cfg);\n```\n\n`rt_hw_bmx160_init`函数需要由用户调用，函数主要完成的功能有，\n\n- 设备配置和初始化（根据传入的配置信息，配置接口设备和中断引脚）；\n- 注册相应的传感器设备，完成 BMI160 / BMX160 设备的注册；\n\nBMI160和BMX160共用一个驱动，当程序检测到传感器芯片ID为BMI160时会注册加速计和陀螺仪的驱动程序，如果ID为BMX160还会加载磁力计的驱动程序。如果你只需要某些特定的传感器，请到`menuconfig`菜单中进行配置。\n\n#### 初始化示例\n\n```\n#include \"sensor_bosch_bmx160.h\"\n\nint bmx160_port(void)\n{\n    struct rt_sensor_config cfg;\n    cfg.intf.dev_name = \"i2c1\";\n    cfg.intf.user_data = (void *)0x69;\n    cfg.irq_pin.pin = GET_PIN(B, 0);\n    cfg.irq_pin.mode = PIN_MODE_INPUT_PULLDOWN;\n    rt_hw_bmx160_init(\"bmx160\", \u0026cfg);\n    return 0;\n}\nINIT_APP_EXPORT(bmx160_port);\n```\n\n## 注意事项\n\n暂无\n\n## 联系人信息\n\n维护人:\n\n- [gztss](https://github.com/gztss)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRT-Thread-packages%2Fbmi160_bmx160","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRT-Thread-packages%2Fbmi160_bmx160","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRT-Thread-packages%2Fbmi160_bmx160/lists"}