Skip to content

feat: Bluetooth LE blocks #171

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

mmvanheusden
Copy link
Member

@mmvanheusden mmvanheusden commented Mar 8, 2025

Documented in #146

This PR adds the Bluetooth blocks to Leaphy webbased svelte.

This adds the requirement of the ArduinoBLE library to ESP32-based boards. This library is a fork of the original ArduinoBLE, with added abstraction for Leaphy. This abstraction makes the code that will end up on the Leaphy easier to understand.

@mmvanheusden mmvanheusden added enhancement New feature or request research An issue that takes a long time and need some investigation to implement. labels Mar 8, 2025
@mmvanheusden mmvanheusden self-assigned this Mar 8, 2025
@mmvanheusden mmvanheusden linked an issue Mar 8, 2025 that may be closed by this pull request
5 tasks
@rmoesbergen
Copy link
Member

Documented in #146

This PR adds the Bluetooth blocks to Leaphy webbased svelte.

This adds the requirement of the ArduinoBLE library to ESP32-based boards. This library is a fork of the original ArduinoBLE, with added abstraction for Leaphy. This abstraction makes the code that will end up on the Leaphy easier to understand.

@mmvanheusden This is very cool! What do you use to test the blocks, an app on your phone?

About the ArduinoBLE lib: instead of making a fork, we have the leaphy-extensions library that we use for 'wrappers' around public arduino libraries like ArduinoBLE. You can add your custom code there and add ArduinoBLE as a dependency to the leaphy-extensions lib in library.properties. It will then be installed automatically on the backend and your custom class/functions can be included in the code generator for your blocks. This way we don't have to maintain a fork and it saves a lot of hassle with library installation. This will also make your PR for backend unnecessary.

So please add the forked code to our extensions lib and change the requirements in this PR (no need to add ArduinoBLE to required libs anymore). Other than that: 👍🏻

@mmvanheusden
Copy link
Member Author

@rmoesbergen

What do you use to test the blocks, an app on your phone?

I use the mobile app "LightBlue" for testing, you can connect to BLE devices and send and receive data to BLE characteristics.

So please add the forked code to our extensions lib and change the requirements in this PR (no need to add ArduinoBLE to required libs anymore). Other than that: 👍🏻

Done :) 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request research An issue that takes a long time and need some investigation to implement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[enhancement] Bluetooth LE support for ESP32s
2 participants