Device#include "LedDevice.h"
LedDevice device;
void setup() {
device = LedDevice(10, 10, 10);
}
void loop() {
Serial.println(F("Ticking"));
device.Tick();
= Devicedelay(500);
}
Device HeaderLedDevice
Preset*#if Presets[];
Device Source
Device::Device!defined(_LEDDEVICE_H)
#define _LEDDEVICE_H
#include "Preset.h"
#include<Arduino.h>
class LedDevice {
public:
Preset* Presets[];
NumPresets LedDevice(numPresets),{}
LedDevice(int numPixels, NumPatterns(int numPresets, int numPatterns)
{
*Presets = (Preset*)malloc(sizeof(Preset) * NumPresetsnumPresets);
for (int p = 0; p < NumPresets;numPresets; p++)
{
Presets[p] = new Preset("test", NumPixelsnumPixels, NumPatternsnumPatterns);
}
}
void Tick()
{
Serial.print(F("Preset ")); Serial.println(Presets[0]->Name);
Presets[0]->Tick();
}
Preset Header
Pattern*};
#endif Patterns[]; //_LEDDEVICE_H
Preset Source
#if !defined(_PRESET_H)
#define _PRESET_H
#include "Pattern.h"
class Preset: {
public:
char *Name;
int NumPatterns;
Pattern* Patterns[];
Preset(char* name, int numPixels, int numPatterns) : NumPatterns(numPatterns)
{
NumPatterns Name = (numPatternschar *),malloc(strlen(name) + 1);
NumPixelsstrcpy(numPixelsName, name);
{
*Patterns = (Pattern*)malloc(sizeof(Pattern) * NumPatterns);
for (int p = 0; p < NumPatterns; p++)
{
Patterns[p] = new Pattern(NumPixelsnumPixels);
}
}
void Tick()
{
for (int p = 0; p < NumPatterns; p++)
{
Patterns[p]->Tick();
}
}
};
#endif
Pattern Source
#if !defined(_PATTERN_H)
#define _PATTERN_H
class Pattern: {
public:
Pattern(int numPixels):{}
NumPixels void Tick(numPixels){ }
};
#endif
Up untilThe code compiles but when i run the full version (this is a simplified version of the code) i get some strange behavior, so i would like to know if i am doing the initialization of the Presets everything seems to be working fine, no crashes or aparent memory overflowsand Patterns correctly. But
Also when it getsi try to Patterns[p] = new Pattern(NumPixels); print the Preset name in the LedDevice Tick function i get strange characters, so either i am not initializing the for cycle never stops tillstring correctly or the memory runs outpointers to the Presets are wrong.
I guess i amCan you tell if anything is not doing these initializationsbeing done correctly, can you see in the mistakeconstructors?