Wanted - dave ga complete

Yesterday is sort of difficult to achieve with your time zone. Plus, I still have important developments to do. :slight_smile: I should be able to send the first samples soon though. All depends on the speed of the China post.

2 Likes

Its all good, Im just messing with you :). I am looking forward to it, when you get ready to ship just let me know the cost and its done. Great looking product.

2 Likes

@janpom how are you dealing with dual setups? just multiplying data or reading both over CAN?

These new screens looks really good

2 Likes

Give me… give me now… :wink:

1 Like

I don’t have reading over CAN implemented yet but it’s on my TODO list. I’m still deciding how to best display the data. I’m leaning towards aggregating the two (or 4 for 4WD) values to keep things uncluttered. For stuff like Wh in/out, it makes sense to take the sum. For input voltage readings or rpm, take the average. For max amps or temperature, take the highest value.

5 Likes

It looks fantastic, I’d definitely be keen to buy a couple once you’ve got it all figured out!

1 Like

Thanks. I think we’re getting close to having the final product designed, including the aluminum enclosure. It will just take time to get them manufactured.

3 Likes

That’s a good approach

Are you running out memory yet? If not there is no problem to have a bunch of screens that can be enabled or disabled on the settings, for example, it you testing if your motors are overheating have a screen that shows only the 4 motor temperatures, and so on

1 Like

There’s 4MB of flash memory on ESP32, which is plenty. And yes, I agree that more screens can be enabled and configured in the settings. It’s just a matter of implementing it and it’s not terribly complicated. I still have some decisions to make about data representation though to account for all possible setups up to 4WD, including dual Unity, four single VESCs, and Unity + two VESCs. Unity complicates things since it’s different from two individual VESCs in many ways.

4 Likes

Just use COMM_GET_VALUES_SETUP command and you’ll have the sum of all VESCs without asking over CAN.
However, the user needs to activate the CAN message 1_2_3_4_5 on each slave.

Anyway, I’m impressed how far you’ve gone in the dev !
I’m curious about OTA FW update ! Need to learn more on it.

3 Likes

I’d love to test one of the new ones!! The first one was awesome in every way!

1 Like

Yah great stuff have been playing with ESP32 boards for work side projects too and nice they have split partitions in the memory for a core system that can get OTA updates and separate partition for the user program. Gives similar deployment functionality as photon (from particle.io) I imagine, but we had to wipe out the second partition to load our Bluetooth scanner programs onto them, written in a couple days for a hackathon though so sure with some time dedicated can do a better job managing the compiled program size.

There’s also dual core versions if you need it for some reason.

1 Like

Nice, I will start to look at the code

For now is just one type of display right? I will try to fork it to use a 128x64 OLED and then we can see how to merge it

Just to be clear, the new DAVEga is not open source. It’s a complete rewrite in micropython.

You can definitely make the open source DAVEga code work with 128x64 OLED though. In fact, I have already done it for 128x32 OLED as an experiment. The branch is a bit outdated but it should work well as an inspiration: https://github.com/janpom/davega/commits/display_refactor

4 Likes

No problem, I didn’t realize it had changed

Then will probably get a complete from you

That’s neat. I wasn’t aware of that command. Thanks. Maybe that’s good enough for v1.

I think I’ll eventually want to implement the asking over CAN anyway to get stuff like current on all motors, which the COMM_GET_VALUES_SETUP doesn’t provide (if I’m reading the code correctly). Plus, it seems pretty straightforward. The VESC communication protocol is very friendly.

Also, the COMM_GET_VALUES_SETUP was only added in FW 3.42 and probably not backported to Ackmaniac’s FW?

1 Like

COMM_GET_VALUES_SETUP has been added in the 3.48.
Not sure that Ackmaniac implemented it.

It’s 3.42 according to the CHANGELOG: https://github.com/vedderb/bldc/blob/master/CHANGELOG#L115

Oh sorry, you’re right !
Well, I don’t know why I thought it was 3.48.
I need to change my VESC library then… :smile:
Thanks for pointing me that out.

1 Like