Code Monkey home page Code Monkey logo

Comments (5)

vedderb avatar vedderb commented on June 30, 2024

Nice find, sounds like a tricky issue. I haven't used ble-modules that connect over UART for a while now.

Here is an attempt to make it behave as expected: f9da202

Regarding making the ble-module not show up when disabled, that is probably best done in the NRF-firmware. Could also consider updating the VESC Tool error message to something like: Failed to read FW version. If you are using UART, make sure that the port is enabled, connected correctly and uses the correct baudrate.

from bldc.

vedderb avatar vedderb commented on June 30, 2024

Message updated: vedderb/vesc_tool@bcfcc49

from bldc.

lukash avatar lukash commented on June 30, 2024

Hmm... not sure how big of a fan I am of the message :)

The main issue with this error message I think is it represents a wide range of errors that may occur on the path from the app to the VESC, including BLE communication issues, BLE module issues, UART issues and a handful of misconfigurations. Fixing this (having separate error messages) is nontrivial, but would be very nice (I'm sure it's one of the bigger category of problems new and sometimes old users face).

That aside, the message now contains a lot of technical details, that still aren't entirely exhaustive and don't always apply. E.g. I'd guess most people nowadays use built-in modules (integrated into the VESC unit and connected to internal UART). For those, the rx/tx connection is irrelevant and I'm not sure it's possible to set the baud rate. OTOH the "Enable Permanent UART" option isn't mentioned, and for a new user it still may not be obvious that option is relevant.

I don't think the message should be made any longer. Getting back to this being the message the user sees on most failed connection attempts, and some of them not being technically inclined, the message should be succinct, nice to look at and not contain potentially irrelevant details that will frustrate these users because they don't understand them. Instead, I think a good solution would be to have a short message with a link to a knowledge base article on troubleshooting connection issues. Then the message should go like: "Failed to establish connection. For details on troubleshooting connection issues, visit LINK".

from bldc.

vedderb avatar vedderb commented on June 30, 2024

Setting up a separate knowledge base and pointing to it is 1000x more work for me than just updating the message. So either you can have an updated message now or a knowledge base at some undefined time in the future.

Also, I don't agree with having a separate place where people can go to debug the problem. So far my approach has been to avoid questions where possible in the first place and when that is not possible have the information right there in VESC Tool. That is why every parameter has a help button and why the wizards and page groups have information where you use them. The VESC package description is also viewable from VESC Tool and none of this requires an internet connection.

This error message does not have that many possible causes and all of them can be listed on a phone screen even without a scroll bar. I see no reason to not just spell everything out in the message. If it is unclear now more details can be added to the message than what I added now.

from bldc.

lukash avatar lukash commented on June 30, 2024

No problem. I just gave you a PoV of a user that also happens to develop professional products with polished user interfaces.

I understand both your arguments for having everything in one place as well as the amount of work setting up a knowledge base would be.

An advantage of a knowledge base would also be that it can be improved by the community and that content can be added whenever needed, not just when a new tool version is released.

Not saying the message isn't an improvement. I probably didn't make it clear enough I'm fine with the message being the immediate solution due to practical constraints... And I don't even need the message for myself anymore, now that I've spent hours figuring it out from the source code. I just wanted to help make the user experience a bit better for others.

Not sure the "Enable Permanent UART" option should also be mentioned in the message then?

from bldc.

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.