Update: Adding a poll. Please see feature descriptions below. You can vote for up to 3 features. (I’m leaving out DAVEGA Tool Windows fix since that one I already implemented.)
- Configurable screens
- Automatic data backup
- Faster screen redrawing
- Retrieve data from CAN-connected VESCs
- Configurable battery discharge curves
- Multiple WiFi networks
- Allow resetting lifetime max speed
- Firmware updates without restarts
- LLT Power Smart BMS integration
- Fault code screen
- DAVEGA Tool: Detect device ID and auto-download updates
I will soon be able to allocate a lot more time to DAVEGA software development. The TODO list is long and I’m not quite sure where to start so I’m coming here for help. My plan is to build a list of potential new features, updates and fixes. If you have a request that’s not on the list, please post it to this thread and I’ll add it. The up-to-date list will be kept in this post.
I’ll allow one week for requests and proposals.
Then I’ll create a poll where everyone will be able to pick 3 features/fixes that they would like to see implemented. I will then prioritize my backlog based on the results, giving preference to the features/fixes with the highest number of votes.
Currently, only the main indicator on the riding screen can be configured to either show speed, battery current, or motor current. It would be nice to make the other 4 values configurable as well. This feature could be accompanied by “screen profiles”, i.e. multiple customized riding screens that one could easily switch between.
Automatic data backup
Add a preference for doing automatic data backups after X km traveled since the last backup. The backup obviously can only be done if the configured WiFi network is available. Check for available WiFi periodically when not riding.
Faster screen redrawing
Re-drawing a screen takes long and switching between screens is a bit slow. The automatic switching between the riding view and stationary view could also be faster.
Retrieve data from CAN-connected VESCs
DAVEGA only reads the telemetry from the VESC that it’s directly connected to via UART. It can’t read data from other VESCs in the system via CAN-forwarding. It merely interpolates the retrieved data. For example, it doubles the discharged energy if the number of VESCs is configured to two. While this works reasonably well in most situations, the reported data is not as accurate as it could be. Also, if there’s a fault on a CAN-connected VESC, it’s not recorded.
Configurable battery discharge curves
There are three built-in discharge curves for li-ion, lipo, and lifepo4. These are used for determining the battery SoC based on the battery voltage. Even within the same chemistries, some cells have slightly different discharge curves than other. Thus, it would be nice to make the discharge curves fully customizable.
Multiple WiFi networks
Today, it’s only possible to configure a single WiFi network. Being able to configure more than one would be helpful for those who need to be able to connect at multiple locations.
Allow resetting lifetime max speed
Comes in handy in case you have accidentally maxed out your lifetime max speed by doing a bench test.
Firmware updates without restarts
Attempting a firmware update often causes a MemoryError. DAVEGA then restarts and re-attempts the firmware update, which already works reliably. This is a minor annoyance. Ideally there would never be a MemoryError and a restart in this case.
LLT Power Smart BMS integration
This BMS doesn’t have CAN but it could potentially be connected to DAVEGA via bluetooth.
Fault code screen
In case there has been a VESC fault, indicate it on the main screen. List the details on a separate screen. The screen provides a list of all recorded faults in current session including the fault type, start, and end.
DAVEGA Tool: Fix import/export flakiness on Windows
Importing or exporting data using the DAVEGA Tool is currently flaky on Windows and typically requires several retries before it finally succeeds.
DAVEGA Tool: Detect device ID and auto-download updates
The idea is that when re-installing the bootloader, the DAVEGA Tool automatically retrieves the device ID from the connected device; then downloads the correct bootloader file from the server and installs it. First, this would be a much better user experience than having to look-up the device ID and downloading the bootloader file manually. Second, in the rare case that DAVEGA freezes to the point that a full re-install is needed, people would be able to fix this by themselves without having to ask me what their device ID is.