Прошивка MegaD-328 (релизы, обсуждения, предложения)

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
alex946
Сообщения: 204
Зарегистрирован: 05 дек 2015, 22:48
Контактная информация:

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение alex946 » 21 дек 2015, 22:29

Ещё не отладил, как сделаю окончательно - выложу в теме про датчик, чтобы тут не засорять.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 24 дек 2015, 17:34

Andrey_B писал(а):Тогда сделаем так. Я предложу новую последовательность из 14 портов портов, а желающие смогут покритиковать.
atmega328
{"C5", "C4", "C3", "C2", "C1", "C0", "D7", "B4", "B5", "B6", "B7", "D4", "D5", "D6", "A6", "A7"}
atmega2561 (проект)
{"F5", "F4", "F3", "F2", "F1", "F0", "E6", "B7", "B6", "B5", "B4", "E5", "E4", "E3", "F6", "F7"}

Порты F5-F0 (P0-P5) - имеют функцию АЦП
Порт E6 (P6) - обычный (IN/OUT)
Порты B7-B4, E5-E3 (P7-P13) - имеют функцию ШИМ
Доп порты F6 и F7, выведенные в модуле контроллера, помимо функции АЦП могут конфигурироваться также как IN/OUT

Dron
Сообщения: 207
Зарегистрирован: 08 мар 2013, 13:00

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Dron » 24 дек 2015, 23:19

у меня 1 критика)
всё-таки мне кажется, что нужно 2+ исполнительных модуля на устройство.
в предложенном варианте теряется совместимость с диммируемым исполнительным модулем как минимум)
его переделывать придётся точно.
а если делать отдельное новое устройство, то и периферия может быть новой.

главное за что все так полюбили Мегу -- цена устройства и удобство конфигурирования. много где читал, что при равных возможностях соотношение порт/стоимость наилучшие.
с новой головой и одним исполнителем это соотношение сильно ухудшится.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 24 дек 2015, 23:52

Dron писал(а):в предложенном варианте теряется совместимость с диммируемым исполнительным модулем как минимум)
Это почему? Совместимость с MegaD-7I7O-SD будет полная.
С другими исполнительными модулями совместимость никаким образом не теряется.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 27 дек 2015, 00:11

Любителям классической музыки.
Ich ruf zu Dir, Herr Jesu Christ, BWV 639, Johann Sebastian Bach

kod.begemot
Сообщения: 400
Зарегистрирован: 21 сен 2013, 00:38

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение kod.begemot » 27 дек 2015, 00:28

Хорошие новости в преддверии нового года! :)
Вопрос, вот вы пишете "14 доступных портов", а остальные порты в прошивке будут недоступны?
или всё-же будут присутствовать, как в старой версии "A6 - ADC" и "A7 - ADC", были всегда, хоть и при применении атмеги в дип-корпусе физически отсутствовали?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 27 дек 2015, 00:37

Конфигурация и доступность портов, это вопрос 3 переменных/констант
#define IO_SIZE
char *aio[IO_SIZE]
#define BUFFER_SIZE

В готовых устройствах, думаю, будет отображаться то количество портов, которое фактически будет доступно.

Dron
Сообщения: 207
Зарегистрирован: 08 мар 2013, 13:00

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Dron » 28 дек 2015, 22:10

Andrey_B писал(а):
Dron писал(а):в предложенном варианте теряется совместимость с диммируемым исполнительным модулем как минимум)
Это почему? Совместимость с MegaD-7I7O-SD будет полная.
С другими исполнительными модулями совместимость никаким образом не теряется.
да понятно, что модуль СМОЖЕТ работать с новой головой. но иметь 8 PWM в голове и 3 в модуле...
так же нелогично, как использовать 1 исполнитель в новой голове)) ИМХО.
засим удаляюсь горевать о потерянных возможностях, более в этот спор вступать не буду.

как в том анекдоте "да что пристал, ты за рулём, ты и тормози" =-)

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 29 дек 2015, 16:39

Dron, давайте попробуем разложить вашу реплику по полочкам.

1. Проект упирается в ограничение памяти. Это ограничение можно снять. Но появляется побочный эффект в виде дополнительных портов. Это вопрос, что с ними делать. И важный вопрос. Но не главный. Главное решается основная проблема - дефицит памяти.
2. 8 PWM. На самом деле их 7. Один из таймеров задействован под общесистемное прерывание и у него другие настройки. 7 PWM в голове - это хорошо, но в 6-DIN корпус при существующем подходе и компоновке невозможно разместить все 7 диммируемых каналов. Я думаю даже 4 не поместится. Тогда в чем вопрос? Это в любом случае должен быть какой-то другой исполнительный модуль. А то, что к новому контроллеру можно будет подключать существующие исполнительные модули считаю логичным и правильным. Кроме того, все 7 ШИМ-каналов пригодятся для MegaD-14-IN, с помощью которого можно диммировать светодиодные ленты. Где вы видите нелогичность?
3. Я рассматриваю комплект как устройство в целом. Не вижу принципиальной разницы, сколько исполнительных модулей будет 1 или 10.
В действительности есть вопрос как использовать доступные порты. Вариантов может быть много. И тут совершенно понятно, что появляется некоторое противоречие между прошивкой для готового устройства MegaD и универсальной прошивкой, какой она всегда была до начала обсуждения atmega2561. Есть ли выход из этого противоречия? Думаю, да. Например, можно заложить в прошивку работу со всеми доступными в чипе портами. А в конфигурации сделать опцию "тип устройства: MegaD / Self made". Этакий аналог "пресета". В случае выбора соответствующей опции, открывается возможность работы со всеми портами.

Да, так как 2 доп АЦП порта, которые были в модуле контроллера MegaD-328, в новом чипе имеют полноценную функциональность, есть желание повесить на них подтягивающие резисторы. Это позволит подключать к ним не только аналоговые датчики, но и цифровые (DS18B20, DHT11/DHT22, I2C). Кроме того, как здесь уже предлагали, разъем для программатора можно задвинуть, а на его место разместить еще портов. Таким образом вместо 2 портов на этом месте может быть 5.

Dron
Сообщения: 207
Зарегистрирован: 08 мар 2013, 13:00

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Dron » 29 дек 2015, 23:51

эх, обманул всех, простите меня непутёвого, но не смог не ответить я на прямой вопрос...

1. no comments. полностью согласен
2. про нелогичность: если сделать возможность подключать 2 исполнителя, то появляется (как минимум, и именно по теме обсуждения) возможность подключить 2!! MegaD-7I7O-SD
а это уже 6 ШИМ порта в наборе. или 3 ШИМ порта и 4 под светодиоды. или... возможностей совместной компоновки открывается море.
3. совместимость имхо нужно оставить только на уровне схемотехники исполнительных модулей. ибо в 328р в любом случае не залить расширенную прошивку.
а если ещё и оставить возможность пользователю городить свои исполнители со своим количеством задействованных портов, то это будет великолепно

основной мой аргумент это всё же минимальное удорожание.
2 старых головы + 2 исполнителя VS 1 новая голова и 2 исполнителя по цене будут различаться не сильно. если вообще будут.
а по возможностям прибавится невероятно много вкусного, я так подозреваю)

Но повторюсь, это не более, чем моё видение. не настаиваю и не навязываю...

smorigo
Сообщения: 42
Зарегистрирован: 28 май 2014, 23:30
Откуда: Витебск

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение smorigo » 03 янв 2016, 17:38

Andrey_B , добавьте пожалуйста в прошивку 3.37 , чтобы srv loop отправлял значения портов а6 и а7 . Почему 3.37 ? Для меня очень важна функция "Watchdog" , пару раз выручала ...

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 03 янв 2016, 18:54

smorigo, у вас, наверное, подключены DS18B20 или DHT22. A6 и A7 всегда включаются в srv_loop, но если строка получается длинная, то не умещаются в выделенную память.
Давайте я все-таки уберу temp: и hum: для srv_loop.

alex946
Сообщения: 204
Зарегистрирован: 05 дек 2015, 22:48
Контактная информация:

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение alex946 » 03 янв 2016, 21:33

По hum: - а кому-то требуются в реальной практике /десятые сотые доли процента влажности? Гляжу, в прошивке вывод данных с DHT вроде бы ни с чем не завязан, можно и округлить до целого.

Andrey_B, подскажите плиз, разрабатываемая прошивка для 2561 сможет работать на 2560?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 03 янв 2016, 22:46

В реальной практике, учитывая точность DHT22, десятые действительно не имеют большого смысла. Кроме того, отдельные экземпляры DHT22 обладают неприятным свойством "подвисать", выдавая нулевые значения.
Заказал HTU21D (есть также программно совместимый аналог Si7021). Думаю, реальная точность этих датчиков будет значительно выше. Интерфейс I2C. Планирую написать обработчик на PHP, как для BMP180.

Прошивка для 2561 будет работать на 2560. Вопрос в другом. Я пока не определился с концепцией. Даже 2561 имеет на борту около 50 портов. Хочется оставить совместимость с существующими исполнительными модулями. Но народ, насколько я понимаю, не оценивает перспективу потери трех десятков портов. Обдумываю вариант втиснуть в контроллер два стандартных 34-пиновых разъема, плюс размещение пяти подтянутых портов для цифровых датчиков вместо разъема программатора, который уйдет вглубь корпуса. Все этим меры позволят использовать порядка 35 портов и возможность подключения двух исполнительных модулей. Но и все одно - останутся незадействованные порты. А в 2560 их еще больше.

Вопрос за засыпку. Предположим, к контроллеру можно подключить 2 исполнительных модуля. И у нас 7 портов с поддержкой ШИМ.
Вариант 1. Все ШИМ порты разведены на один разъем. (Гипотетически удобно для какой-то своей реализации исполнительного модуля)
Вариант 2. 3 ШИМ порта разведены на один разъем. 4 ШИМ порта на другой. Такой вариант позволит подключить два MegaD-7I7O-SD модуля. (Этот вариант лично мне нравится больше)

alex946
Сообщения: 204
Зарегистрирован: 05 дек 2015, 22:48
Контактная информация:

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение alex946 » 03 янв 2016, 23:33

С точки зрения совместимости удобнее иметь возможность подключить два 7I7O-SD
В то же время, ничто не мешает взять из шлейфов нужные жилы и свести их в разъём в нужных пропорциях, верно?

vtec
Сообщения: 459
Зарегистрирован: 19 сен 2011, 09:28

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение vtec » 04 янв 2016, 00:16

Andrey_B писал(а):плюс размещение пяти подтянутых портов для цифровых датчиков вместо разъема программатора, который уйдет вглубь корпуса.
хотелось бы увидеть на контроллере не пины, а клеммы, там вроде снизу есть под это место. Может даже не 5 а 6 влезет? Тогда вроде как еще будут порты задействованы?
Andrey_B писал(а):Вопрос за засыпку. Предположим, к контроллеру можно подключить 2 исполнительных модуля. И у нас 7 портов с поддержкой ШИМ.
Вариант 1. Все ШИМ порты разведены на один разъем. (Гипотетически удобно для какой-то своей реализации исполнительного модуля)
Вариант 2. 3 ШИМ порта разведены на один разъем. 4 ШИМ порта на другой. Такой вариант позволит подключить два MegaD-7I7O-SD модуля. (Этот вариант лично мне нравится больше)
Наверное за второй вариант, как минимум будет совместимость со старыми модулями SD.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 04 янв 2016, 00:23

http://ab-log.ru/files/File/ip_manager3 ... 37-hex.zip

В режиме srv_loop не передается текстовая информация "temp:" и "hum:" - только значения.
В 3.38 beta6 аналогичное изменение.
vtec писал(а):
Andrey_B писал(а):плюс размещение пяти подтянутых портов для цифровых датчиков вместо разъема программатора, который уйдет вглубь корпуса.
хотелось бы увидеть на контроллере не пины, а клеммы, там вроде снизу есть под это место. Может даже не 5 а 6 влезет? Тогда вроде как еще будут порты задействованы?
Планируется ряд именно клемм. Пять/шесть портов плюс питание. За ними будут расположены два порта пинами, как сейчас. Это будут АЦП порты. Во-первых, не теряется совместимость. Во-вторых, подтяжка хоть и не сильно, но искажает значения с аналоговых датчиков. К тому же в отличие от клемм, пины почти не занимают места. Была еще мысль использовать двухрядные клеммы, но они не влезают ни по высоте, ни по глубине.

vtec
Сообщения: 459
Зарегистрирован: 19 сен 2011, 09:28

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение vtec » 04 янв 2016, 10:57

Андрей, можно еще на плату добавить маркировку "+" и "-" питания, сейчас этого нет и все время лезешь в описание на сайт, дабы не перепутать.

Чижик
Сообщения: 27
Зарегистрирован: 12 окт 2012, 14:19

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Чижик » 07 янв 2016, 23:21

Добрый день. Хотелось бы, как пользователю со стажем и глубочайшему почитателю проекта, предложить систематизировать информацию о мегадевайсе на сайте. Необходимо создать и поддерживать постоянно в актуальном состоянии информацию по реализуемым функциям текущей прошивки и ее актуальное API ( некую wiki ). Понятно, что проект живой, постоянно развивается, Андрей пишет много статей, в которых популяризирует возможные варианты использования megad-328, пользователи вносят постоянно свой вклад в развитие проекта в топиках. И любую информацию можно найти поиском по сайту и форуму. Однако актуального, упорядоченного текста к сожалению нет. Автор с сообществом готовится к новому проекту, а о старом проекте так и остаются фрагментарные правки и заметки в топиках форума.
Постоянно читая уже более трех лет топики вижу, что вновь прибывшие бьются головой о проблему компиляции предлагаемого автором кода проекта. Все сообщество наблюдает над кульбитами вновь прибывшего, посылая его в разные топики форума. При этом у кого-то получается код меньшего размера, чем у автора, у кого-то больше. Автор неоднократно с удовлетворением замечает, что это нормально, поскольку все используют разные библиотеки и разные компиляторы. За эти годы я нашел пару упоминаний о среде тут-http://www.ab-log.ru/smart-house/ethernet/avr и тут viewtopic.php?f=1&t=635&p=18459&hilit=gcc+avr#p18459. Но не проще ли определить для сообщества среду, и закрыть эту тему.

Берем любой последний исходный код, например от 04.01.2016 ver 3.38 beta6,

компилятор (версия предложенная автором в одном из топиков)
Package: gcc-avr
Version: 1:4.7.2-2
Installed-Size: 32028
Maintainer: Hakan Ardo <hakan@debian.org>
Architecture: i386

Package: avr-libc (версия библиотеки никогда не фигурировала на сайте- в единственном ее упоминании с-латинская,поиском не найти)
Version: 1:1.8.0-2
Installed-Size: 28741
Maintainer: Hakan Ardo <hakan@debian.org>
Architecture: all

Package: binutils-avr
Version: 2.20.1-3
Installed-Size: 11779
Maintainer: Hakan Ardo <hakan@debian.org>
Architecture: i386

Linux debian 3.2.0-4-486 #1 Debian 3.2.63-2+deb7u1 i686 GNU/Linux
Distributor ID: Debian
Description: Debian GNU/Linux 7.9 (wheezy)
Release: 7.9
Codename: wheezy

запускаем маке - файл, и как можно предполагать получаем прошивку отличную от авторской.
Она чуть больше, но при наличии загрузчика, не прошьется.

Чижик
Сообщения: 27
Зарегистрирован: 12 окт 2012, 14:19

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Чижик » 07 янв 2016, 23:49

Понятно, что большинство участников форума имеют утилитарный подход к проекту(консьюмериат) и это может коробить автора, когда толпы с наскока пытаются стать конструкторами Умного Дома с одной стороны, и с другой стороны подобные выступления заканчиваются поучениями, что есть же прошивка и проще бросить перемычку и пусть проект делается дальше. Являясь владельцем трех комплектов megad не всегда считаю возможным вступать в дискуссию с автором проекта по реализации текущего функционала и перспектив проекта, поскольку у Андрея есть своя непреклонная позиция, благодаря которой проект прожил эти годы. Но поскольку проект открытый (в части кода) было бы гуманно, кроме рыбы в виде готовых прошивок, более широкому кругу участников дать удочки (понятно, что есть круг посвященных, которые помогают массам).
От объема полезной информации на сайте и форуме только положительные впечатления, отличный авторский драйв, но что-то найти на сайте, ногу сломишь (в лучшем случае).

Ответить