Skip to content

RevolveNTNU/RevolveUavcan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation






Build, run tests and generate report Coverage Status

Table of contents

  1. Introduction
  2. Userguide
  3. Limitations

Introduction

Revolve NTNU's .NET Uavcan stack, used in our Telemetry and Analysis software Revolve Analyze. Includes a runtime dsdl interpeter and dynamic uavcan (de)serialization. This library does not configure your .NET project to be a live node on the UAVCAN Network. It only serves as a datalogger with the ability to write messages back. It includes a communication interface that has to be implemented in your communication module code.

The UAVCAN specification can be found here: UAVCAN Spec, this library currently supports version v1.0-beta.

Userguide

There is a userguide available on the Github wiki, which is found here: Wiki. Here, each component is presented, as well as a quick-start guide to get you started!

Contributing

Feel free to contribute to this library! Setting up the development environment is very straight forward. Just clone the repository and open the solution in Visual Studio and you should be good to go! More details can be found in the CONTRIBUTING file.

Please open an issue when you start on a new feature or a bugfix, and merge via a Pull Request. The Tribe branch is the main branch.

Tests can be exectured using dotnet test, and are writing using the MSTest v2 framework. More on this in the Wiki.

Limitations

There are currently some limitations present in this implementation, some by choice, some not. These might get fixed as time passes.

  • Does not consider @ commands in the DSDL
  • Does not support serialization of Multiframe messages
  • Multiframe reading does not work perfectly, suspect some threading issues
  • Does not support dynamic array lengths
  • All data is parsed as doubles, this is due to a design limitation in our Desktop Application Revolve Analyze.