Skip to content

Conversation

@laurensvalk
Copy link
Member

While working on the revised bluetooth system code, there were a couple of cleanups that needed to be done first.

This also sets the stage for handling the status update via pbio/sys/host, so that when implemented we don't need to poll for changes in individual status fields like we are currently doing in both usb drivers and in pbio/sys/bluetooth.

See also moves the breathing pattern to pbio, since it is a (predefined) user space animation that isn't governed by a pbsys background process. We can group this with some kind of pbsys_hmi_prepare_before_program, which will also start the animations on the light matrix and display (we can do this next @schodet).

@coveralls
Copy link

coveralls commented Sep 9, 2025

Coverage Status

coverage: 58.563% (-0.2%) from 58.75%
when pulling 19d921b on status-cleanups
into 9eb3623 on master.

This is part of the status, so it should be managed here rather than in the hmi.
This animation runs in user space, so it doesn't belong with the status event code. It used to be closely tied to the event messages since this used to be the only way to know that a program was started. Now we can just start the animation when the program starts.

This will also allow the light instance to reset the light to the default behavior.
This was passed to the light status update function, but it does the same
regardless of setting or clearing.

This is not related to the pbsys_status_set function, which takes a bool for
set/clear. So pbsys_status_change_t made things a bit confusing now that it is
no longer used.
The status used to be just flags, but contains other statuses too now. Rename
the flag part to pbio_pybricks_status_flags_t to make this a bit clearer.
This is a protocol constant, so we don't need to hardcode something of the same
value elsewhere and then statically assert equality.
Not just status flags, but emit changes to slot and programs too.
Having the light matrix for the UI is useful for now, but we don't need the animation, which gets in the way of other developments.

The hub light serves as an indicator that the program is running.
@laurensvalk laurensvalk merged commit 19d921b into master Sep 11, 2025
32 checks passed
@laurensvalk laurensvalk deleted the status-cleanups branch September 26, 2025 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants