unsigned long *ir_code = NULL;;
char** ir_cmd = NULL;
String str;
uint8_t ir_count;
void setup() {
Serial.begin(115200);
ir_count = 6; // количество строк
ir_code = new unsigned long [ir_count];
ir_cmd = (char**)malloc(ir_count * sizeof(char*));
if (ir_cmd == NULL) {
fprintf(stderr, "ir_cmd Memory allocation failed\n");
}
fill();
}
void fill()
{
// устанавливаем значения
for (uint8_t i = 0; i < ir_count; i++)
{
// устанавливаем данные для столбцов i-й строки
ir_code[i] = random(0, 2000000);
str = "-----" + String(ir_code[i]) + "---";
uint8_t rnd = random(0, 20);
for (int i = 0; i < rnd; i++) {
str += i;
}
int len = str.length();
ir_cmd[i] = (char*)malloc((len + 1) * sizeof(char));
if (ir_cmd[i] == NULL) {
fprintf(stderr, "ir_cmd Memory allocation failed\n");
// return ;
}
//FILL
sprintf(ir_cmd[i], str.c_str());
/*
byte len = str.length()+ 1;
char buf[len ];
str.toCharArray(buf, len);
buf[len] = '\0';
// Serial.print (F(" buf[len]: ")); Serial.println(String(buf));
// fn[fn_num] = new char[len];
strcpy((char*)ir_cmd[i], buf);
*/
}
// вывод данных
for (uint8_t i = 0; i < ir_count; i++)
{
// выводим данные столбцов i-й строки
Serial.print("\t");
Serial.print(ir_code[i]);
Serial.print("\t");
Serial.println(ir_cmd[i]);
}
/*
//------------222222222222222222
uint32_t (*a)[2] = new uint32_t[row][2];
int k;
// устанавливаем значения
for (unsigned i{}; i < row; i++)
{
// устанавливаем данные для столбцов i-й строки
for (uint8_t j{}; j < 2; j++)
{
// a[i][j] = ++k;
a[i][j] = random();
}
}
// вывод данных
for (uint8_t i{}; i < row; i++)
{
// выводим данные столбцов i-й строки
for (uint8_t j{}; j < 2; j++)
{
Serial.print("\t");
Serial.print(a[i][j]);
}
Serial.println();
}
*/
// удаляем данные
delete[] ir_code;
ir_code = nullptr;
// Free memory for each string
for (int i = 0; i < ir_count; i++) {
free(ir_cmd[i]);
}
// Free memory for the array of pointers
free(ir_cmd);
ir_cmd = nullptr;
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}