DS-015 MVP progress tracking

Sync call 15-09-2020

Attendants:

  • Nuno
  • Pavel
  • Daniel

Agenda:

  • DS-015:

    • Suggest the document moved to Github
    • Google doc is not scalable
    • Better to track the changes are review documents
    • Usage of Latex code
    • Suggest changes on today’s SIG call
  • UAVCAN v1 Spec:

  • ESC data types:

    • Draft to be published tomorrow (DSDL types)
1 Like

Sync call 21-09-2020 (substituting for Nuno due to his vacation)

Attendants:

  • Pavel
  • Peter
  • Iain

Recap:

  • Pavel: PR with the ESC types is imminent; other activities keep distracting me from completing it.
  • Peter & Daniel are waiting for Nunavut to support C serialization.
  • The DS-015 doc migration to GitHub has been approved and is currently in progress.

It was a very quick call due to the lack of information to exchange.

At the call today we were discussing my recent changeset to the DSDL repository and its key architectural decisions. A solid workflow requires that all participants of the DS-015 workgroup are up to date on the high-level technical requirements and on the best applicable practices. It may be sensible to split the workgroup into two levels: one defines the high-level business requirements, the other develops the appropriate technical solutions.

https://docs.google.com/spreadsheets/d/1xSBcnnqbHBEZfFg4cqiS1weXHwX3X0MFWpW1WcEBIds/edit#gid=0

The above-mentioned pull request is ready for a careful review. Keep in mind though that everything bears the version number of v0.1 so nothing is stable yet. I expect that there will be changes as we move towards stabilization in collaboration with vendors and first adopters. Most importantly, the docs will be expanded and clarified.

@aentinger you may want to give it a look if you haven’t already.

1 Like

Sync call 05-10-2020

Attendants:

  • Nuno
  • Pavel

Recap:

  • Pavel: waiting on Scott’s review of the specification
  • Pavel: working on the BMS messages branch
    • Captured the BMS Safety Modes on the BMS branch (Freefly requirement)
      • Arming capability is cross to other services and technologies, so this is going to be extended to other data types
  • Pavel: BMS-772: how the reference design is going to use DS-015?

Action items:

  • To merge the BMS branch with the DS-015 initial PR branch
  • To finish the documentation on the current data types
  • Nunavut PR: floating point problems to be fixed (Scott?)
  • To update the internal DS-015 doc after merging the changes above

Sync call 12-10-2020

Attendants:

  • Nuno
  • Pavel

Recap:

  • Air data types in a branch. To merge first the PR before a new PR to the master branch
  • Addressed some of the reviews to the PR
  • Waiting for feedback on the current data types - the hard-line for review is 13th of October, after the SIG call
  • Keep Scott in Nunavut development - data types review after

Action items:

  • Merge the PR
  • Air data types
  • Share draft for geometry messages - for GPS, position/velocity/attitude
  • Add paragraph in the DS015 document referencing the new placement for the data type definitions (DSDL)

Sync call 19-10-2020

Attendants:

  • Nuno
  • Pavel
  • Peter
  • Daniel

Recap:

  • Pavel: Added paragraph in the DS015 document referencing the new placement for the data type definitions (DSDL)
  • Pavel: Started Air data types
  • Peter: impacts/implications on the physical layer of using different topologies (data rates)
    • To bring PHY specialists to discuss these implications
  • Peter: battery data types seem to fit BMS spec from NXP
    • To ask more feedback to the BMS designers

Action items:

  • Pavel:
    • Air data types - to do PR today
    • Updating the internal copy of the DS-015
    • To sync with Nuno
  • Peter:
    • Nunavut: look at the PR and if able, fix the test
  • Daniel:
    • To sync again after Nunavut gets in
    • Look for a solution that settles the current PX4 MVP
1 Like

An intermediate update. We have two things separating us from the MVP release (which we have announced should happen this month):

  1. https://github.com/UAVCAN/public_regulated_data_types/pull/88

  2. Finalization of the DS-015 document. I am going to be working on that tomorrow for half a day, unless I have to put out fires elsewhere.

Two other things that I didn’t mention that should be addressed before the MVP:

Sync call 26-10-2020

Attendants:

  • Nuno
  • Pavel
  • Peter

Recap:

  • Pavel: Finished the DS-015 to present to the workgroup tomorrow (27-10)
  • Peter: Working through unblocking Nunavut
  • All: reviewed the DS-015 current stage

Action items:

  • Pavel:
    • To fill up more of the “Future work” sections
    • To address the comments on the DS-015 standard

Just had an ad-hoc sync call with Nuno. As we have nearly completed the work on the first SoW excepting the user documentation-related tasks that are blocked by the lack of the entities they are intended to document, we are redirecting the remaining time and budget to other activities.

The first such activity is to finalize and release Nunavut v1.0.0. The plan is for me to work together with @scottdixon starting next week to hopefully publish the release sometime in November. It is hard for me to give a precise estimate at the moment because I am not that familiar with the codebase; I expect this to change next week.

After Nunavut v1.0.0 is released or when my active involvement is no longer required, I may switch my focus to the development of a new low-level driver for the STM32 FDCAN controller (as found in STM32H7 and other new chips) accompanied with a demo application that adopters may easily repurpose into conformant UAVCAN v1-enabled products. The exact technical requirements are to be defined later.

Also, concurrently with the above I will be consulting our collaborators (first of all, @PetervdPerk and @dagar) on the implementation of UAVCAN v1 in PX4 and the reference designs from NXP.

The expectation is that these steps will accelerate the adoption of UAVCAN v1 and allow the current adopters to switch from v0 to v1.

Details will follow.

1 Like

Maybe we need the uavcan v1 GUI.

1 Like

We certainly do, yes, very much so, but given the limited resources we are unable to work on that now. For now, PyUAVCAN CLI is the way to go.

Sync call 02-11-2020

Attendants:

  • Nuno
  • Pavel
  • Peter
  • Daniel Agar

Recap:

  • Pavel: PyUAVCAN updated after Beta specification update
  • Peter: Fixed some minor issues in Nunavut in a private fork
  • All: aligned in the DS-015 current stage

Action items:

  • Pavel:
    • To start with Nunavut fix tomorrow
    • To create a issue with a pool of problems in Nunavut
  • Peter and Daniel to help with unblocking Nunavut

Sync call 09-11-2020

Attendants:

  • Nuno
  • Pavel
  • Peter
  • Daniel Agar

Recap:

  • Pavel:
    • Almost finished with the deserialization. PR tomorrow for immediate usage tomorrow
  • Peter:
    • Some prep work to follow the new definitions of the templates in Nunavut
    • To use the Nunavut templates from Pavel as soon as it gets merged
    • Update the BMs messages on the BMS-772

Action items:

  • To discuss tomorrow on the standardization of register names on network services.
  • Define recommendations for the port IDs to use for specific functions - to live inside PX4.

Sync call 16-11-2020

Attendants:

  • Nuno
  • Pavel
  • Peter
  • Daniel Agar

Recap:

  • Peter:
    • Already using the new Nunavut changes
    • Verification of the new generated code
  • Pavel:
    • No relevant updates
  • Daniel:
    • No relevant updates

Action items:

  • Nuno:
    • To update RPC-service vs network-service in DS-015
  • Pavel:
    • BTOW register naming / network service file structure defined
    • To update RPC service vs network service in the public_regulated_data_types repo
  • Daniel Agar:
    • Put the MVP into an usable state again
  • Peter:
    • BMS-772 full support to DS-015 and register interface

Sync call 23-11-2020

Attendants:

  • Nuno
  • Pavel
  • Peter
  • Daniel Agar

Recap:

  • Analysis of the current state of the MVP - we currently miss a way to define the network services on code, rather than just comments on a file. This will enable a faster integration of specific devices that offer specific pre-defined, templated and standerdized functions (ex. battery, ESC), and improve the UX for UAVCAN v1 a lot.

  • A working prototype can be delivered for evaluation of the UAVCAN v1 current state, but this might result on pushing-back adopters of the new v1, since the UX is quite worse than v0 (requires much more user integration, quite different from what existed with v0) - this needs to be addressed.

  • The naming of MVP for the first implementation in PX4 might suggest that all is completely ready for usage - that might be true if we consider that a user is expected to manually integrate their device and make itcompliant with the spec and the network service definition, which will probably not be the case for the overall community expecting to use UAVCAN v1 (expectations of an out-of-the-box P&P solution vs a completely manual free-form definition of the subjects).

  • Peter:

    • Still working on bringing the latest Nunavut and data types into the BMS-772
  • Pavel:

    • No updates on the register naming and network service definition standardization
  • Daniel:

    • No updates on the PX4 MVP.

Action items:

  • Pavel:
    • To finish and merge the Nunavut PR
    • To work on the register naming and network service definition standardization
  • Daniel Agar:
    • Colaborate on the presentation of a solution for codable network definitions
  • Peter:
    • Colaborate on the presentation of a solution for codable network definitions
  • Nuno:
    • To create a forum post that presents the above problem and two possible concepts of a solution to it - make it the highest priority atm.
1 Like

At the UAVCAN dev call today @aentinger raised the question of missing network service definitions and 3D geometry data types for GNSS positioning hardware.

@TSC21 We discussed it as a low-priority problem with you a while ago and we decided to postpone it until the first MVP is out. Given that we are approaching the MVP release, I suggest we include the geometry data types and global positioning service into the near-term roadmap, assuming that Auterion is interested in pursuing this.

Positioning is an often requested capability so pushing this forward now will help early stage adoption.

Can you please add this to the agenda for the next call?

@pavel.kirienko as you might have understood, there are currently other matters that come up as more urgent to solve and follow-up upon. Adding more data types at this point is not going to help on anything if the MVP is not defined and in place. Let’s please focus on those first and then add the GNSS network service.

Let me provide a bit of background information here. Following up on the UAVCAN weekly dev call on 2020/11/18 I’ve created a minimal Arduino based UAVCAN use case demo in the form of a GNSS node.

This software, although not yet complete has been already taken for a test ride by @vivienJ and possibly others. One of the things missing for completion are location data types which is why I’ve asked about them on the UAVCAN weekly dev call on 2020/11/25. I could whip up my own preeliminary location type but am reluctant to do so as it would possibly stick around and be hard to eliminate going forward.

Consequently completion of the use case is blocked until a location type has been properly defined.