Оформи код соответствующим тэгом
Здравствуйте.
Помогите пожалуйста с массивами.
Есть такая задача, DMX устройство которое управляет группой светильников.
У каждого светильника есть по несколько адресов, что уже создает разные по длине массивы. И существуют «сцены» тоже разной длинны.
В результате должно быть так: Собирается посылка DMX512 из разных устройств, с разной длинной адреса, это не проблема, так как они фиксированы, а вот «сцены» они с разным количеством шагов. В результате должно в порт выдаваться N сцен по 512 посылок.
Для этого я создал многомерный массив, который двумя циклами считываю.
Здесь в процедуре, я указываю название массива и длину сцен 3180 и длину адресов.
Но Приборы имеют разную длину адресов и разную длину сцен, да и название массива разное. Не подскажите, в каком направлении двигаться, для решения задачи?
void runfon1() {
for (int scene = 0; scene <= 3180 - 1; scene++) {
for (int ch = 0; ch <= 32 - 1; ch++) {
byte level = SceneDMXfon5[0][scene][ch][0];
dmxbuffer[ch + 1] = level;
//Serial.print(" "); Serial.print(level);
}
copyDMXToOutput();
//Serial.println();
delay(45);
if (fone == 0) {
DMXparking();
break;
}
}
}
uint8_t SceneDMXfon5[1][3180][32][1] = {
{
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0} },
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {3}, {3}, {21}, {3}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0} },
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {24}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0} },
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0} },
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {25}, {25}, {1}, {1}, {0}, {0}, {25}, {0} },
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {3}, {3}, {21}, {3}, {0}, {0}, {25}, {0} },
И так 3180 сцен
}
};
Помогите пожалуйста с массивами.
Есть такая задача, DMX устройство которое управляет группой светильников.
У каждого светильника есть по несколько адресов, что уже создает разные по длине массивы. И существуют «сцены» тоже разной длинны.
В результате должно быть так: Собирается посылка DMX512 из разных устройств, с разной длинной адреса, это не проблема, так как они фиксированы, а вот «сцены» они с разным количеством шагов. В результате должно в порт выдаваться N сцен по 512 посылок.
Для этого я создал многомерный массив, который двумя циклами считываю.
Здесь в процедуре, я указываю название массива и длину сцен 3180 и длину адресов.
Но Приборы имеют разную длину адресов и разную длину сцен, да и название массива разное. Не подскажите, в каком направлении двигаться, для решения задачи?
void runfon1() {
for (int scene = 0; scene <= 3180 - 1; scene++) {
for (int ch = 0; ch <= 32 - 1; ch++) {
byte level = SceneDMXfon5[0][scene][ch][0];
dmxbuffer[ch + 1] = level;
//Serial.print(" "); Serial.print(level);
}
copyDMXToOutput();
//Serial.println();
delay(45);
if (fone == 0) {
DMXparking();
break;
}
}
}
uint8_t SceneDMXfon5[1][3180][32][1] = {
{
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0} },
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {3}, {3}, {21}, {3}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0} },
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {24}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0} },
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0} },
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {25}, {25}, {1}, {1}, {0}, {0}, {25}, {0} },
{ {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {0}, {0}, {25}, {0}, {3}, {3}, {21}, {3}, {0}, {0}, {25}, {0} },
И так 3180 сцен
}
};