Just FYI, the array and struct are linked together, the array obviously contains the data of your GUI (position of controls, colors, etc) and it's "encoded" so that it uses less memory, you cannot (easily) modify it by hand, you must use the editor.
I wrote a tool to decode the array, if you want to see how it's built, but I need to update it as there was a recent change in RemoteXY editor so now my tool will crash if there are LEDs elements in the GUI.
But for example, this array and its struct:
uint8_t RemoteXY_CONF[] =
{ 255,2,0,12,0,38,0,13,13,0,
1,0,1,1,12,12,2,31,88,0,
66,1,14,1,7,16,2,26,4,0,
3,17,7,18,2,26,67,4,12,23,
20,5,2,26,11 };
// this structure defines all the variables and events of your control interface
struct {
// input variables
uint8_t button_1; // =1 if button pressed, else =0
int8_t slider_1; // =0..100 slider position
// output variables
int8_t level_1; // =0..100 level position
char text_1[11]; // string UTF8 end zero
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
Can be decoded as:
uint8_t RemoteXY_CONF[] =
{
// Header
255, 2, 0, 12, 0, 38, 0, 13, 13, 0,
// Input button_1
1, 0, 1, 1, 12, 12, 2, 31, 'X','\0',
// Output level_1
66, 1, 14, 1, 7, 16, 2, 26,
// Input slider_1
4, 0, 3, 17, 7, 18, 2, 26,
// Output text_1
67, 4, 12, 23, 20, 5, 2, 26, 11,
};
struct
{
// Inputs
bool button_1;
int8_t slider_1;
// Outputs
int8_t level_1;
char text_1[11];
// Other
bool connect_flag;
}
RemoteXY;
I known by experience what each value does in the array, it would be too long to explain to you so I also wrote this topic, which is very outdated but may still be useful..
