[PR #80] [MERGED] [Linux] BLE monitor app #267

Closed
opened 2026-03-02 12:40:22 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kavishdevar/librepods/pull/80
Author: @tim-gromeyer
Created: 3/9/2025
Status: Merged
Merged: 3/24/2025
Merged by: @kavishdevar

Base: mainHead: linux-ble-monitor-app


📝 Commits (10+)

📊 Changes

7 files changed (+759 additions, -0 deletions)

View changed files

📝 .gitignore (+1 -0)
linux/ble/CMakeLists.txt (+29 -0)
linux/ble/blemanager.cpp (+172 -0)
linux/ble/blemanager.h (+89 -0)
linux/ble/blescanner.cpp (+397 -0)
linux/ble/blescanner.h (+61 -0)
linux/ble/main.cpp (+10 -0)

📄 Description

This is a simple test app that shows all BLE ads from Airpods in the environment.

Things not working:

  • Charging state (working, but wrong)
  • Case charge level (always 80%)
  • Lid state (could be more accurate)
  • Identifying if left or rigt pod is in case
  • Assign mac addresses to airpods (airpods can advertise themselves independently, so we can get signals from multiple mac's, but they all belong to each other)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kavishdevar/librepods/pull/80 **Author:** [@tim-gromeyer](https://github.com/tim-gromeyer) **Created:** 3/9/2025 **Status:** ✅ Merged **Merged:** 3/24/2025 **Merged by:** [@kavishdevar](https://github.com/kavishdevar) **Base:** `main` ← **Head:** `linux-ble-monitor-app` --- ### 📝 Commits (10+) - [`4438cda`](https://github.com/kavishdevar/librepods/commit/4438cdae6fc225b020df9c25496ff4fe154ffd21) [Linux] BLE monitor app - [`6fa8b5d`](https://github.com/kavishdevar/librepods/commit/6fa8b5d611c9db7d4267f40c008368e8d6f1d430) [Linux] ble - fix charging state was inverted - [`2e52eb3`](https://github.com/kavishdevar/librepods/commit/2e52eb3d7d2d29aae96de804319aecc67fe0c72c) Fix AirPods model id - [`4bb19a8`](https://github.com/kavishdevar/librepods/commit/4bb19a87c5b22585e1e42a32a9dbe29fee2a00d0) Fix device model bytes switched - [`a6eb62b`](https://github.com/kavishdevar/librepods/commit/a6eb62bb7798f8fcee09da0621a79e47eb53925b) Add more colors - [`5b5a62f`](https://github.com/kavishdevar/librepods/commit/5b5a62f1569e9fbcfcd43f9b06f744945e30063b) Update - [`9e40e6e`](https://github.com/kavishdevar/librepods/commit/9e40e6e3fd0e16a2ec1f1a3014b504115c85f1f9) Show more info - [`cb625d0`](https://github.com/kavishdevar/librepods/commit/cb625d08896bb6e2c3b23d9b602e0d8016cf14d9) Remove old devices - [`06f7b6b`](https://github.com/kavishdevar/librepods/commit/06f7b6bdb8386d50ff2ea2609bb3015b6dc6d12d) Add connection state - [`033e0be`](https://github.com/kavishdevar/librepods/commit/033e0be08d7549282673fa733d15d1385993aaf3) Fix case battery level ### 📊 Changes **7 files changed** (+759 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+1 -0) ➕ `linux/ble/CMakeLists.txt` (+29 -0) ➕ `linux/ble/blemanager.cpp` (+172 -0) ➕ `linux/ble/blemanager.h` (+89 -0) ➕ `linux/ble/blescanner.cpp` (+397 -0) ➕ `linux/ble/blescanner.h` (+61 -0) ➕ `linux/ble/main.cpp` (+10 -0) </details> ### 📄 Description This is a simple test app that shows all BLE ads from Airpods in the environment. Things not working: - [x] Charging state (working, but wrong) - [x] Case charge level (always 80%) - [x] Lid state (could be more accurate) - [ ] Identifying if left or rigt pod is in case - [ ] Assign mac addresses to airpods (airpods can advertise themselves independently, so we can get signals from multiple mac's, but they all belong to each other) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-02 12:40:22 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librepods#267
No description provided.