I have implemented a fix for the CAN scan issue. It now works reliably up to 5Hz. Configuring the Robogotchi for a dual ESC is what brought out the issue. This fix should improve stability for many other scenarios where CAN forwarding is utilized.
After fixing that issue I let the uSplit run with a Robogotchi @5Hz, a Metr Pro, and A DAVEga X for a bit to torture test it. From that I found a couple minor bugs that I want to fix before releasing the next FW version, but I should be able to get the new version published sometime this coming week or the week after
I just released uSplit FW v0.13 which resolves the CAN scan issue as well as improves a few other aspects of the packet handling to make the communication of all devices more stable. Let me know if you experience any issues with your setup when using this version.
My day job among other things have pretty well owned me this month but I still managed to get a couple new features ready for testing. I’m rolling version 0.19.0 out to the public and putting 0.20.0 into the hands of the beta testers.
A big part of this update was heavily inspired by@frankthedragon. They created a landscape layout for the real time data so a phone could be used as a poor-mans DAVEGA type device. It made a lot of sense and looked really good.
Our previous real time display had some neat gauges but they would not scale down to a size that allowed everything to be displayed without scrolling the view. So! Here is a first attempt at a new layout. It works in portrait and landscape orientations.
There is a good chance this isn’t going to work for everyone because phones come in all sorts of sizes and resolutions. You may notice the little + and - buttons near the speed. Those adjust the font size on screen and output a message in the debug log with your screen resolution and the adjusted font size. Please relay screen shots and your debug information if you need adjustments for your device.
For those that have one or multiple Robogotchi devices, you might want to check out the Vehicle Manager. In there you’ll see new charts showing your vehicle usage statistics. You can adjust the time frame for the trend lines between Daily, Weekly and Monthly which will show two weeks, six months or one year of history.
The original features of the Vehicle Manager are still there. Swipe left to delete a Vehicle or Swipe right to Retire or Adopt a vehicle when applicable.
At the end of the vehicle list there is a chart comparing the usage (by distance) of each Robogotchi enabled vehicle you own. It’s pretty obvious where CarvePDX was; that giant spike with a 0 value before and after while it was shipping across the country.
While updating the real time data I found a problem with my logic for multi color linear interpolation which means I’ve updated the GPS route colors yet again. Heh. They go from green-blue-red being slow to fast and hopefully they are bright and visible enough on all regions of the map.
v0.20.0
* Add statistics to Vehicle Manager
* Updated Real Time data display (Inspired by @frankthedragon)
* Updated GPS route colors again (slow-fast = Green-Blue-Red)
* Added Multi ESC over CAN in Advanced Input Configuration
* Allow landscape orientation on iOS
* Adjust Sync logic to perform erase once file is received
Shit. I’m missing something. The sync process has been altered to erase files as they are received. That way if you finished 4/5 files and have to cancel or restart the process you’ll only have 1 file remaining to sync.
Apple did reject the public release of 0.19.0 so in case anyone noticed or is waiting, it will not be coming. If they approve of the new “purpose strings” I think we’ll see a new iOS public update soon. In the meantime Testflight users will continue to get updates (so long as they are approved).
For now, a quick update is rolling out to address issues that didn’t make it past our beloved beta testers. Not much to say that isn’t already noted below. Thank you for the feedback!
v0.20.1
* Update purpose strings to comply with Apple guidelines
* Allow landscape only on real time display
* Utilize vehicle properties from log file header data
* Display speed from ESC with the faster value
* Battery percentage restored to real time display
* Range estimation available on real time display
* Changes to real time "panels" are persistent
* Hide ability to manipulate real time font size
Sure did take the long route to get the approval from Apple. What they were expecting me to submit and what they stated I could submit were two different things. With that out of the way the public will soon see 0.20.1 as it’s ready to go for iOS and in review for Google Play Store.
The next beta update will be 0.21.0 with a couple new features and a much needed improvement to the way navigation is handled.
New Features
On the setting tab in the advanced section you can now access the debug log manually. You’ll also notice the ability to disable the shake to view debug log feature. Extremely useful if you mount a mobile device to your ride and things get a little bumpy
Developer options have been added for feature development
New Navigation?
You may have noticed when you accessed things like the Input Configuration, Speed Profiles, Motor Configuration the application redirected you to the configuration tab and displayed alternate content (sometimes with an awkward X button to exit the view).
Not anymore! I (finally) figured out a pattern to use to properly navigate to a different view and display updated data to that view as it arrives. Now when you access an alternate view you’ll be able to press the standard back arrow to return to where you were.
Other stuff
Flexi/DieBieMS was renamed to SmartBMS viewer as we may have compatibility with the new ENNOID-BMS. If someone has one will you please test it for us?
This version of FreeSK8 is compiled with the latest version of Flutter (v2.5.3) which meant upgrading some of the project dependencies. Everything went smoothly but please report if you see anything out of the ordinary with the following components:
Charts
Maps
IP address detection with TCP Bridge
Robogotchi Updater
Final words
Thank you for testing! I’ve gone through each of the changes but it’s good to expect the unexpected. Let me know how it goes? I tried to enable the ability to swipe left and right in the log file chart data but haven’t had success in my first two attempts. FreeSK8 uses a Time Series Chart and the example doesn’t quite translate when it comes to creating the SeriesDatumConfig someone call an expert!
v0.21.0
* Added option to disable debug log view on shake
* Fix navigation to all features
* Upgrade to Flutter 2.5.3
* Update project dependencies
* Adding Brocator to developer options
Quick update. Beta channels will see version 0.21.2 with some bug fixes once approved by the authorities.
The TCP Bridge IP address should now display your local address. The original package used was discontinued and the first replacement wasn’t reporting what we needed.
A missing location permission on iOS and a fix for requesting location permission are included in this update.
Flutter was updated to the latest version resolving a strange “FreeSK8 pasted from your clipboard” message.
v0.21.2
* Fix IP address displayed with TCP Bridge
* Fix requesting location permission
* Upgrade to Flutter 2.8.1
VESC 5.3 release is supported and ready for testing. Problems saving configurations are expected to be resolved. Worst case an alert should be displayed to let you know something went wrong.
v0.21.3
* VESC Firmware 5.3 release supported
* Fix null value exception from SharedPreferences
* Fix bug when saving input and motor configurations
* Generate alert if saving configuration fails
Performance issues were addressed when reviewing a log file. The multi color GPS route had to be removed due to updates in Flutter causing the flutter_map package to chug when rendering a large number of polylines. In the future it might be nice to replace the flutter_maps package with google_maps_flutter depending on what multicolor route solutions are possible.
v0.21.4
* Fix performance issues in RideLogViewer
* Fix rendering issue in RealTimeData
* Fix connection to VESC with unsupported firmware
* Upgrade to Flutter 2.10.2
TestFlight has the latest iOS version available which is VESC 5.3 compatible. The public release hasn’t been updated yet but is very likely ready. I might be able to request a review this weekend.
Is there some particular reason why the Android APK isn’t just a simple download from the website? Would be nice to have for people who avoid Google services on their phone.