Accessibility Flare Check-in #2

On Thursday, July 25, 10:15–11am Pacific, 1715–1800 UTC, we’ll have another accessibility flare check-in. Here’s what we chatted about last week.

The video chat link will be https://meet.google.com/uwz-hscm-frj

All are welcome! We’d love to hear what you’re working on or thinking about, and it’s also fine to just listen in. Feel free to come and go. It’s a casual chat about what we’ve tried and learned this week.

In attendance today: Zachary, Victor, and Charles.

Charles and I have both been mostly focused on other things.

I started working on a proof-of-concept rust project for the mote. No notable progress there yet, but I’m hoping the exercise will teach me something about another way the Bristlemouth core APIs could be structured.

@vsowa12 you should write up the explorations you were working on this week.

After some discussion about platform-agnostic callback APIs, Charles gave us a quick screenshare walk-through of how zenoh-pico does this. The platform-specific implementations are all created with typedef at compile time rather than set as callbacks at run time.

1 Like

This week I have been focusing on how to separate FreeRTOS from the BCMP code and looking into other examples for inspiration. One of the conclusions I have come to when looking at other examples is that there needs to be a clear way for users to provide platform specific implementations into the BCMP code and this should be clearly separated from the “core” or “public” API.

Right now we are using the STM32u575 with FreeRTOS. However, if someone wants to use a different RTOS, bare metal, different MCU, they will need to provide some set of functions in order for the BCMP code base to be able to function properly. For example, the BCMP heartbeats take place every 10s. Therefore, each platform will need to provide some sort of timing function to allow the BCMP code to know when to send the next heartbeat.

As we discussed today there are two common approaches, those two being the compile time approach and the callbacks at run time approach. I will explore both options starting with the callbacks approach. Then I will go with compile time approach. After walking through the code with Charles I see how the zenoh-pico library will be a great example/resource for the compile time approach.

I will initially try the callbacks approach and attempt to do this in C and see where that gets me.

1 Like