Comments (5)
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.
Message updated: vedderb/vesc_tool@bcfcc49
from bldc.
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.
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.
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)
- SAFETY RISK: lisp app-disable-output causes ADC app to be locked to a certain speed HOT 2
- LispBM Impossible to do "Read Only" with I2C HOT 4
- BUG: can-cmd not working reliable HOT 16
- Developer Question: STM32F415 Implementation
- COMM_GET_IMU_DATA controller_id not set HOT 2
- $ make **WARNING** ARM-SDK not in D:/Work/Nazarite/FOC/VESC/bldc-master/tools/gcc-arm-none-eabi-7-2018-q2-update Please run 'make arm_sdk_install'
- [LispBM] Programmatically delaying the shutdown event HOT 4
- [LispBM] Registering an extension that doesn't start with "ext-" silently passes HOT 5
- It needs more default number HFI start samples to resolve the initial ambiguity HOT 1
- Feature Request: add option to invert wake up switch function from normally closed to normally open button
- Better support for digital/ switch-based brakes HOT 3
- Waiting for vesc suport step/dir interface!
- Feature Request:How to customize my VESC firmware?
- Can 1 STM32F drive 2 mosfet Driver? HOT 4
- I want to drive two mosfet drivers with one stm32f like foCbox unity. I'm going to use two DRV8301's. I don't know if VESC allows 1 STM32F to receive SPI from two Mosfet Drivers. Is there anyone who can help me with the PROJECT? HOT 2
- [LispBM] Shutdown event issues HOT 6
- Feature request: Redundant analog signals for throttle and brake
- Feature Request: Disable Field Weakening at compile HOT 2
- Current control tuning HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bldc.