bloombloombloom / Bloom

A debug interface for AVR-based embedded systems development on GNU/Linux.
https://bloom.oscillate.io/
Other
64 stars 3 forks source link

Disable Insight via build configuration #57

Closed navnavnav closed 1 year ago

navnavnav commented 1 year ago

Currently, Insight can be disabled at runtime via project configuration. However, a number of users have requested the ability to disable Insight at build time. One of the uses-cases for this is the ability to run Bloom on resource constrained hardware, such as a Raspberry Pi.

The codebase is in a better state to accommodate this than it was many months ago. All Insight resources are now specified in src/Insight/CMakeLists.txt, and the old resources.qrc has been removed. The TC interface has been rewritten with a command-response mechanism, which removed the tight-coupling of Insight and the TC. The debug server was never coupled with Insight, so that shouldn't be a problem.

As a first iteration, I want to get Bloom into a state where it can be compiled without Insight. As a second iteration, I'd like to get Bloom running on resource constrained hardware, without the need to install GUI related dependencies. We can look at distributing packages for Raspbian and others in the third iteration.

This ticket will cover the first iteration. I'll create new tickets for the others when this is complete.

Not sure when I'll get to this, but we likely won't see anything until early 2023.

Any updates in relation to this work will be posted in this ticket.

navnavnav commented 1 year ago

Development work for the first iteration is done - Bloom can now be compiled without the Insight component.

I've tested this on x86_64 - all works fine.

I've not been able to test on a Raspberry Pi/ARM 32-bit machine, as I don't own one. And I'm not willing to pay the exorbitant prices for one.

The changes have been merged into the develop branch. For instructions on how to build Bloom without Insight, see the README.

As for the second iteration, I cannot start this until I have the required hardware.

Closing this now.