Git Product home page Git Product logo

Comments (6)

pavel-kirienko avatar pavel-kirienko commented on August 22, 2024

Thanks Antoine, it is needed by others. Please do implement that. ;)

There have been attempts to implement this feature in the past, but IIRC they ended up being unsuccessful.

How are you planning to implement that exactly? Are you perhaps going to add an environment variable specifying the look up paths, or is it going to be a GUI element where the user can specify the look up path manually? I think both approaches make sense.

from gui_tool.

antoinealb avatar antoinealb commented on August 22, 2024

I am not sure of the best way to implement it. I am not very familiar with (Py)Qt, so I think an environment variable would probably be the easiest for me, but not the most user friendly.

Also do you think having it in the bus monitor is enough or is there any other place where it could be useful ?

from gui_tool.

pavel-kirienko avatar pavel-kirienko commented on August 22, 2024

environment variable would probably be the easiest for me, but not the most user friendly.

Fine. Do you think it makes sense to implement that on the level of PyUAVCAN? We have a line here where the default DSDL definitions are loaded: https://github.com/UAVCAN/pyuavcan/blob/master/uavcan/__init__.py#L183. We could extend that code so that it queries the environment variable and loads DSDL from the locations specified in the variable.

Also do you think having it in the bus monitor is enough or is there any other place where it could be useful ?

Having it only in the bus monitor is definitely not enough. There are other parts of the application, such as the plotter, the subscriber tool, and the console, where the user may need access to the custom definitions. Implementing the support for environment variable on the level of PyUAVCAN will take care of that.

from gui_tool.

pavel-kirienko avatar pavel-kirienko commented on August 22, 2024

I have just discovered an undocumented feature in PyUAVCAN. Have a look:

paths = [os.path.join(dsdl_path, "uavcan")] + paths
custom_path = os.path.join(os.path.expanduser("~"), "uavcan_vendor_specific_types")
if os.path.isdir(custom_path):
    paths += [f for f in [os.path.join(custom_path, f) for f in os.listdir(custom_path)]
              if os.path.isdir(f)]

Missing documentation entries have been added to the GUI Tool and PyUAVCAN docs.

That said, we still very much want the capability to point the location where to load the custom DSDL from via GUI.

from gui_tool.

antoinealb avatar antoinealb commented on August 22, 2024

Interesting. It should be good enough for my application, thanks!

from gui_tool.

pavel-kirienko avatar pavel-kirienko commented on August 22, 2024

Solved in #27

from gui_tool.

Related Issues (20)

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.