Hi Particle Community,
I would like some advice on configuration management of firmware across my devices.
At a high level my needs are to be able to keep my core device firmware the consistent but have file/object that specifies details of the devices configuration and have the firmware adapt to that config file.
Below is a sudo-code example of what I would like to achieve:
#include <InputDevice.h> // A dummy input device class
#include <OutputDevice.h> // A dummy output device class
#include <ConfigFile.h> // Some sort of file where configuration for a particular device is stored
InputDevice inputDevices[config.numInputs];
OutputDevice outputDevices[config.numOutputs];
for(int i = 0; i < config.numInputs; i++){
inputDevices[i] = new InputDevice(config.inputDeviceParams[i]);
}
for(int i = 0; i < config.numOutputs; i++){
outputDevices[i] = new OutputDevice(config.outputDeviceParams[i]);
}
void setup(){
for(int i = 0; i < config.numInputs; i++){
inputDevices[i].Begin();
}
for(int i = 0; i < config.numOutputs; i++){
outputDevices[i].Begin();
}
}
void loop() {
for(int i = 0; i < config.numInputs; i++){
inputDevices[i].Update();
}
for(int i = 0; i < config.numOutputs; i++){
outputDevices[i].Update();
}
}