Coder Social home page Coder Social logo

rosnet's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

rosnet's Issues

Implement (de)serialization of ROS-messages

Fix ToString

Fix toString in arrayFieldValue when string and PrettyValue in FieldValue

Be clearer about "parsing" vs "serialization" terminology

From https://www.merriam-webster.com:
Parse:

to divide (a sentence) into grammatical parts and identify the parts and their relations to each other

Serialize (and deserialize):

Serialize: to arrange or publish in serial form

This makes the naming of RosMessageParser.MessageDataParser particularly confusing, as it actually (de)serialises a message. Note that with #56, it is likely that all serialization will be part of each generated class, so this whole class should probably be removed?

Refactor Message Definition Parser

Most of the code is just one huge method. Refactoring into a "ParseLine" method (and potentially other smaller methods) will make it more readable

Make fieldValue not be saved as strings

Currently, fieldValue in the headers is changed into a string after being read. This was done for quickly implementing different types, but should be changed. The type should be dependant on the data within it, or at least a better standard than string

Add support for arbitrary fieldNames

Need to implement some primitive type unknown or similar as well, and change exception in RosBagReader.cs line 268 to instead use this default parsing

Refactor static classes

Most of the functionality of our static classes and methods can easily be moved into the non-static classes

Improve time complexity of GetTimeSeries

Could be O(1) with the right setup. Probably need to change some of the structure for how we save connections and messages, but be aware of what things are guaranteed unique (Conn ID etc.) and what is not (Topic?)

Update to .NET 6.0

Related suggestion from Henrik berg:

Would suggest to just use .NET 6, (after looking at https://devblogs.microsoft.com/dotnet/the-future-of-net-standard/, I see no reason to use .NET Standard 2.1), and with 10

Når vi er på saken må dere huske å bruke enable og enable (sistnevnte relevant når dere bruke C# 10), ingen grunn til å ikke bruke det og gjør håndtering av null-verdier sinnsykt mye enklere, se https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/nullable-reference-types og https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/nullable-value-types

Refactor Time as its own class

The Time value in ROSbags aren't inherently obvious how to use, so should be made into a class with a method like "GetDateTime" or something similar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.