Parameters software

One of the ideas that’s been kicking around in my head since decoding the download protocol is to be able to update constants without recompiling/redownloading. How? By putting them in EEPROM. All the RC has to do is read them and cache them. All the hard work is done by the software. You put the RC in program mode, the app reads a “config” file and reads the constants’ current values, and allows you to change them.

Would there be any interest if I did that?

For me, the biggest hassle of reprogramming the robot is digging out the cable and hooking it up. You’d have to do this anyway to download a config file to the EEPROM, so the time saved is just the difference between doing a compile/upload with MPLAB/IFILoader and doing an upload with another utility.

I do think your idea is a good one, but I personally wouldn’t make use of it.

It’s a neat idea, I’ve had a similiar one myself.

However, do take a look at Kevin Watsons Bells and Whistles Camera code. It use the EEPROM to store constants for variables, and has a menuing system for adjusting some of them. You might want to consider exploring that type of methodolgy for dynamic updating on the fly.

The only downsides I can see are the EEPROM size, the extra code size you’d need to implement menuing change system, and training, teaching, others on your team to understand it, change it, update it and use it without you. It’s the last item that the really important one.

Can anybody give me some links that explain how to use EEPROM in code. I understand what it does and how it works, I just don’t know how to use it.

Search on ChiefDelphi for EEPROM. I know there’s been threads about it.

This would be a nifty project indeed. We had an EEPROM Bootloader in our code that used a proprietary protocol, but it always seemed redundant to me when there is a bootloader stock. This is a much better approach.

I’ll be keeping an eye on this project