MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение olehs » Пн мар 27, 2017 12:53 am

1. Это я на картинке показал пример настройки кнопки на сцене.
2. Судя по Вашему скрину, у Вас переопределены методы turnOn и turnOff. А не должны бы. Можно глянуть, что там в них?
Вот как у меня выглядит дерево
p2.png
p2.png (32.48 КБ) 5334 просмотра
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение olehs » Ср апр 05, 2017 2:36 pm

Сделал пробную версию с загрузкой конфигурации с sd-карты, правда без онлайн-конфигуратора.
Получилось сэкономить оперативку за счет динамической подгрузки правил.
Памяти теперь хватает, зато стала заметна задержка при отработке событий. Особенно чувствуется, если на один вход навешано несколько правил.
Поменял карту на sdhc, кажется стало быстрее, но все равно заметно, что 5-6-е правило отрабатывает где-то через полсекунды.
Самое плохое, что из-за медленной загрузки файлов с правилами, не отлавливаются двойные клики (((

Буду дальше бодаться...
За это сообщение автора olehs поблагодарил:
Molostov (Чт апр 06, 2017 10:07 pm)
Рейтинг: 1.16%
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение olehs » Пн апр 10, 2017 10:49 pm

Нашел решение, позволяющее экономнее использовать оперативку при практически том же быстродействии.
Схема следующая: конфигурация хранится на SD-карте в виде файлов. При запуске конфигурация собирается из файлов и сохраняется в EEPROM в плотном бинарном формате.
Если вытащить карту памяти, конфигурация подтянется из EEPROM (это основной режим работы). В оперативке хранятся только входы и выходы, а правила вычитываются каждый раз из EEPROM.

Желающие попробовать могут скачать исходники здесь
https://github.com/olehs/MegaLight2

Пока что конфигурировать можно только правкой файлов на карточке. Структура и примеры файлов есть в исходниках
За это сообщение автора olehs поблагодарили (всего 3):
DAP (Вт апр 11, 2017 5:29 pm) • Molostov (Ср апр 19, 2017 11:16 pm) • ololenok (Вт май 30, 2017 10:54 pm)
Рейтинг: 3.49%
ololenok
Сообщения: 54
Зарегистрирован: Ср сен 02, 2015 9:42 am
Благодарил (а): 4 раза
Поблагодарили: 3 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение ololenok » Вт апр 25, 2017 11:40 am

А теоретически есть вероятность того, что это запустится на меге+w5500+кардридер типа такого https://www.aliexpress.com/item/Hot-Sal ... 62721.html ?
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение olehs » Вт апр 25, 2017 12:41 pm

ololenok писал(а):А теоретически есть вероятность того, что это запустится на меге+w5500+кардридер типа такого https://www.aliexpress.com/item/Hot-Sal ... 62721.html ?
не вижу проблем (естественно с заменой библиотек под нужное оборудование)
DAP
Сообщения: 118
Зарегистрирован: Пн апр 06, 2015 10:25 pm
Благодарил (а): 6 раз
Поблагодарили: 16 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение DAP » Чт май 11, 2017 5:10 pm

Есть ли сейчас задержки в MegaLight2 или отклик как в первой версии моментальный? Какое количество вводов/выводов удалось протестировать? есть ли возможность править конфиг не вынимая флешку?
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение olehs » Чт май 11, 2017 5:18 pm

Задержки нет.
У меня сейчас работает с 23 входами, 24 выходами и все это связано 33-мя правилами.
возможности править, не вынимая флешку не делал, т.к. после заливки конфига я флешку всегда сразу вынимаю. Иначе при перезапуске состояние реле будет всегда подтягиваться с флешки, а не сохраненное в EEPROM последнее.
DAP
Сообщения: 118
Зарегистрирован: Пн апр 06, 2015 10:25 pm
Благодарил (а): 6 раз
Поблагодарили: 16 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение DAP » Чт май 11, 2017 6:31 pm

А есть возможность прописать конфиг в скетче и прошивать через USB? у меня так собрано что флеху дергать для правки настроек вообще не вариант.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение olehs » Чт май 11, 2017 6:46 pm

Думаю, тут все-таки лучше допилить работу с флешкой через веб
ololenok
Сообщения: 54
Зарегистрирован: Ср сен 02, 2015 9:42 am
Благодарил (а): 4 раза
Поблагодарили: 3 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение ololenok » Вт май 30, 2017 10:50 pm

При неудачных обстоятельствам спалил свой W5500, поэтому сейчас на том-же железе, что и автор темы. Следовательно нет желания изобретать велосипед.
Но при компиляции вылазит куча жалоб по поводу повторных объявлений переменных:
СпойлерПоказать

Код: Выделить всё

MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::setRepeat(bool)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
g:/program files/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::setHoldInterval(unsigned int)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::setDoubleClickInterval(unsigned int)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::setPreventClick(bool)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::setRepeatInterval(unsigned int)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::setDoubleClick(unsigned int, bool)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::setBounceInterval(unsigned int)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::pressed()'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::released()'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::down()'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::reset()'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::setPin(unsigned char)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::setPullup(InputPullup::PullupType)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::ML2Input(String const&)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::ML2Input(String const&)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Input::check(unsigned long)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `InputList::InputList()'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `InputList::InputList()'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `InputList::hasInput(ML2Input*)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `InputList::find(char const*)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `InputList::addInput(ML2Input*)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `InputList::check()'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `InputList::clearInputs()'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `InputList::addInputRule(char const*, int)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2input.cpp.o: In function `ML2Input::setRepeat(bool)':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `InputList::removeInput(ML2Input*)'
ml2input.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2input.cpp:37: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::timeout()'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::saveState()'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::setSaveState(OutputStateSave::Save)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::invert()'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::setInvert(bool)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::emitState()'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::updatePin(unsigned long, bool)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::setOn(unsigned long)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::setOff(unsigned long)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::toggle(unsigned long)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::setupPin()'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::ML2Output(String const&)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::ML2Output(String const&)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::setPin(unsigned char)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::setPWM(bool)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::check(unsigned long)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::setValue(unsigned char, unsigned long)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::incValue(int, unsigned long)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `ML2Output::action(OutputAction::Action, int, unsigned long)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `OutputList::OutputList()'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `OutputList::OutputList()'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `OutputList::hasOutput(ML2Output*)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `OutputList::find(char const*)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `OutputList::addOutput(ML2Output*)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `OutputList::check()'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `OutputList::clearOutputs()'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2output.cpp.o: In function `ML2Output::timeout()':
G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: multiple definition of `OutputList::removeOutput(ML2Output*)'
ml2output.cpp.o:C:\Users\user\AppData\Local\Temp\build4670245072624940595.tmp/ml2output.cpp:151: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `eval_token(char*)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `parseTime(char const*)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `evalRuleExpr(String const&)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `evaluator'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::ML2Rule(String const&)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::ML2Rule(String const&)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::addInput(char const*)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::hasOutput(ML2Output*)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::addOutput(char const*)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::hasOutput(char const*)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::outputCount()'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::setAction(ButtonEvent::Type, OutputAction::Action, int, unsigned long)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::unsetAction(ButtonEvent::Type)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::setCondition(ButtonEvent::Type, char const*)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::processButtonEvent(int, ML2Input*)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::fromFile(String const&)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::clearOutputs()'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::~ML2Rule()'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::~ML2Rule()'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `ML2Rule::removeOutput(char const*)'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
MegaLight2-master\ml2rule.cpp.o: In function `eval_token(char*)':
C:\Users\user\Documents\Arduino\libraries\MegaLight2-master/ml2rule.cpp:46: multiple definition of `tokenEvaluator'
ml2rule.cpp.o:G:\Program Files\Arduino\libraries\SimpleList/SimpleList.h:89: first defined here
collect2.exe: error: ld returned 1 exit status
Ошибка компиляции.
Пару вопросов:
1) на какой версии это компилилось и с какими либами?
2) есть ли вариант это безболезненно обойти?
Ответить