I guess this would be the best place to write this post - I want to start writing a piece of software to interface with a device I built, using an AVR MCU. I’ve got for example a lot of chips on the board that can be configured over SPI, amongst other things, and I’d like to be able to change some of these options without reloading bits of source code.
Currently the device is using the Arduino software, but soon i’ll be rewriting software without the Arduino libraries, and using Atmel Studio…
I want to write a piece of PC based software, that allows me to connect to the device over USB (and possibly Ethernet on a planned new version of the device) and change a load of parameters stored in RAM, or to tell it to use a different bunch of parameters stored in flash.
I’m not looking to write a fancy piece of software, just a black screen with a list of configuration types that one can navigate using the keyboard, expand a change a few options - I would also like to be able to change the data stored in arrays in real time, i.e. a change made on the PC is instantly rectified on the microcontroller.
So a menu such as the following.
HARDWARE SETUP →
COMMUNICATION SETUP →
SOFTWARE SETUP →
However, the only software I’ve ever written is embedded software for MCUs using the Arduino environment.
Where do I start in making software for a PC in this way, like I say - I’m not interested in pretty graphics, perhaps some black and white wireframe maps of 2D array data and that’s it.
I’ll give a better example - one feature of the boards is its ability to sense current draw from it’s outputs, and shut those outputs down should current levels rise above a defined value, however - I’d like to be able to adjust these values, by plugging my board into a PC, and quickly changing a value in software, as opposed to reloading an updated source code to the file.
I.e. in a menu, change OUTPUT 1 CURRENT LIMIT, from say 2A to 4A.
Where do I start with this?
Ultimately, I would like in the future to build a touch version for iPad too - but let’s focus on PC first…
Many thanks in advance