DAVEGA X Updates

The stuff you’re making is genius!

2 Likes

Successfully updated the HW1.2 to FW5.03 over wifi, through the usplit!

So much easier than last time i played with davega! Nice work Jan!

Quick little update… i noticed that the little receiver blips at the top were getting a red blip every 3-5 secs while davega was connected through usplit.

I connected directly to the vesc and got hardly any red blips at all. It would seem as if the usplit is losing some stuff in translation. I’m wondering how this will now affect my robogotchi logs… if at all.


6 Likes

v5.03rc3 is out and it brings a very basic support for plug-ins. You can now upload a custom micropython file called start.py (using the method described here) and it gets executed upon start-up.

Here’s an example of such file:

from frozen.display import DISPLAY
DISPLAY.print("Hi mum!")

And then DAVEGA will say “Hi mum!” any time it starts up.

Exciting, right?! :nerd_face:

The real importance of this feature is to be illustrated on my next post though. Stay tuned.

6 Likes

I feel like you’re a bit bored. :smiley: But thats giving me cool new features, so I’m very cool with it. :smiley:

2 Likes

Up to this day, the esk8 world suffered from a major shortcoming, which is: You can’t play snake on your electric skateboard. Well, not anymore.

Introducing… :drum: :drum: :drum: The DAVEGA sn8ke!

sn8ke_demo

Despite the obvious importance of this feature, I decided not to include it in the firmware by default. Instead, it’s a plug-in.

To install it, you first need the latest DAVEGA firmware v5.03rc3. Then download the sn8ke.zip (10.2 KB) file, extract and upload all three extracted files (start.py, sn8ke.py, sn8ke.pic) to your DAVEGA using the method described here. The sn8ke.pic is a bit large and it will work without it. You just don’t get the sn8ke splashscreen, which I think is pretty much mandatory, but you can still leave it out.

To run the sn8ke, hold the left (down) button while booting up.

And the best part is that sn8ke.py, for the most part, is just Python with some simple DAVEGA/micropython APIs, so you can customize it.

The first to post a picture/video of a working sn8ke on their DAVEGA is to be titled The DAVEGA Hacker. :nerd_face:

I have no idea what you’re talking about!

22 Likes

This MAN!!! Just keeps bringing it!!! :flushed::partying_face::partying_face::partying_face::partying_face::partying_face::partying_face::partying_face:

6 Likes

Oooh this is awesome!

I have an idea for a startup plugin, but no programming experience :sweat_smile:

I’ve just built a parallel battery for my board, but I won’t be using it every ride. Would be awesome to have a startup feature that gave me the option of choos8ng just my board battery or board + parallel… if said feature could log the lifetime use of my parallel battery too, that would be amazing! Maybe by triggering the super cool pause/unpause feature!

8 Likes

I thought this was a troll but it’s legit guys!

14 Likes

@janpom this is amazing, I’ll never be bored waiting for the group ride to start anymore!

6 Likes

tbh this is just such a neat party trick to bring to a group ride :rofl:

3 Likes

That reaction made my day! :laughing: Well worth the time spent on this.

@jamie, can we please give @Dunkan a title? :slight_smile:

3 Likes

Great idea and this would indeed be possible to do as a plug-in, at least in some simple form.

One way would be to toggle the setup by holding a button (or a button pattern) at startup. In the simplest form this would just modify the battery capacity setting. A more advanced version could also tinker with part lifespan and pause/unpause the tracking for the external battery. I’ll prepare some example code later on today.

3 Likes

@glyphiks: This should do the trick. Just change the BUILTIN_BATTERY_MAH and EXTENDED_BATTERY_MAH as appropriate (the latter is the total capacity after adding the extended battery). Then save everything to a file called start.py, upload that one to your DAVEGA and you’re good to go.

import utime

from frozen.buttons import BUTTON_DOWN
from frozen.config import load_config, save_config
from frozen.display import DISPLAY

BUILTIN_BATTERY_MAH = 20000
EXTENDED_BATTERY_MAH = 30000

# trigger by holding the down button at start-up
if not BUTTON_DOWN.value():
    config = load_config()
    if config.battery_mah == BUILTIN_BATTERY_MAH:
        config.battery_mah = EXTENDED_BATTERY_MAH
        DISPLAY.print("extended battery ENABLED")
    else:
        config.battery_mah = BUILTIN_BATTERY_MAH
        DISPLAY.print("extended battery DISABLED")
    save_config(config)

    # short delay so that the message can be easily noted
    utime.sleep_ms(1000)
8 Likes

Thanks heaps Jan! I’m working on the board today so I’ll give it a crack!

5 Likes

That’s awesome, I’m starting to see the immense potential of these plugins

3 Likes

I did something wrong… halp :sweat_smile:

your code needs it’s file renamed, then try again

No dice

No, you don’t call restore. You create the start.py file on your computer (using notepad or a similar text editor) and then upload it to DAVEGA using the “send file widget”:

That’s it. No need to type anything in the terminal.

2 Likes

Oh… i did that like 10 times to no avail. . So then i started trying to type stuff :sweat_smile:

Wayyyyy over my head :rofl:

It says that it was sent, and shows up in the directory, but doesn’t come up with anything when i boot up with the button down :sleepy: