Прошивка MegaD-328 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Ещё не отладил, как сделаю окончательно - выложу в теме про датчик, чтобы тут не засорять.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
atmega328Andrey_B писал(а):Тогда сделаем так. Я предложу новую последовательность из 14 портов портов, а желающие смогут покритиковать.
{"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
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
у меня 1 критика)
всё-таки мне кажется, что нужно 2+ исполнительных модуля на устройство.
в предложенном варианте теряется совместимость с диммируемым исполнительным модулем как минимум)
его переделывать придётся точно.
а если делать отдельное новое устройство, то и периферия может быть новой.
главное за что все так полюбили Мегу -- цена устройства и удобство конфигурирования. много где читал, что при равных возможностях соотношение порт/стоимость наилучшие.
с новой головой и одним исполнителем это соотношение сильно ухудшится.
всё-таки мне кажется, что нужно 2+ исполнительных модуля на устройство.
в предложенном варианте теряется совместимость с диммируемым исполнительным модулем как минимум)
его переделывать придётся точно.
а если делать отдельное новое устройство, то и периферия может быть новой.
главное за что все так полюбили Мегу -- цена устройства и удобство конфигурирования. много где читал, что при равных возможностях соотношение порт/стоимость наилучшие.
с новой головой и одним исполнителем это соотношение сильно ухудшится.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Это почему? Совместимость с MegaD-7I7O-SD будет полная.Dron писал(а):в предложенном варианте теряется совместимость с диммируемым исполнительным модулем как минимум)
С другими исполнительными модулями совместимость никаким образом не теряется.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Любителям классической музыки.
Ich ruf zu Dir, Herr Jesu Christ, BWV 639, Johann Sebastian Bach
Ich ruf zu Dir, Herr Jesu Christ, BWV 639, Johann Sebastian Bach
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Хорошие новости в преддверии нового года!
Вопрос, вот вы пишете "14 доступных портов", а остальные порты в прошивке будут недоступны?
или всё-же будут присутствовать, как в старой версии "A6 - ADC" и "A7 - ADC", были всегда, хоть и при применении атмеги в дип-корпусе физически отсутствовали?
Вопрос, вот вы пишете "14 доступных портов", а остальные порты в прошивке будут недоступны?
или всё-же будут присутствовать, как в старой версии "A6 - ADC" и "A7 - ADC", были всегда, хоть и при применении атмеги в дип-корпусе физически отсутствовали?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Конфигурация и доступность портов, это вопрос 3 переменных/констант
#define IO_SIZE
char *aio[IO_SIZE]
#define BUFFER_SIZE
В готовых устройствах, думаю, будет отображаться то количество портов, которое фактически будет доступно.
#define IO_SIZE
char *aio[IO_SIZE]
#define BUFFER_SIZE
В готовых устройствах, думаю, будет отображаться то количество портов, которое фактически будет доступно.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
да понятно, что модуль СМОЖЕТ работать с новой головой. но иметь 8 PWM в голове и 3 в модуле...Andrey_B писал(а):Это почему? Совместимость с MegaD-7I7O-SD будет полная.Dron писал(а):в предложенном варианте теряется совместимость с диммируемым исполнительным модулем как минимум)
С другими исполнительными модулями совместимость никаким образом не теряется.
так же нелогично, как использовать 1 исполнитель в новой голове)) ИМХО.
засим удаляюсь горевать о потерянных возможностях, более в этот спор вступать не буду.
как в том анекдоте "да что пристал, ты за рулём, ты и тормози" =-)
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
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.
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.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
эх, обманул всех, простите меня непутёвого, но не смог не ответить я на прямой вопрос...
1. no comments. полностью согласен
2. про нелогичность: если сделать возможность подключать 2 исполнителя, то появляется (как минимум, и именно по теме обсуждения) возможность подключить 2!! MegaD-7I7O-SD
а это уже 6 ШИМ порта в наборе. или 3 ШИМ порта и 4 под светодиоды. или... возможностей совместной компоновки открывается море.
3. совместимость имхо нужно оставить только на уровне схемотехники исполнительных модулей. ибо в 328р в любом случае не залить расширенную прошивку.
а если ещё и оставить возможность пользователю городить свои исполнители со своим количеством задействованных портов, то это будет великолепно
основной мой аргумент это всё же минимальное удорожание.
2 старых головы + 2 исполнителя VS 1 новая голова и 2 исполнителя по цене будут различаться не сильно. если вообще будут.
а по возможностям прибавится невероятно много вкусного, я так подозреваю)
Но повторюсь, это не более, чем моё видение. не настаиваю и не навязываю...
1. no comments. полностью согласен
2. про нелогичность: если сделать возможность подключать 2 исполнителя, то появляется (как минимум, и именно по теме обсуждения) возможность подключить 2!! MegaD-7I7O-SD
а это уже 6 ШИМ порта в наборе. или 3 ШИМ порта и 4 под светодиоды. или... возможностей совместной компоновки открывается море.
3. совместимость имхо нужно оставить только на уровне схемотехники исполнительных модулей. ибо в 328р в любом случае не залить расширенную прошивку.
а если ещё и оставить возможность пользователю городить свои исполнители со своим количеством задействованных портов, то это будет великолепно
основной мой аргумент это всё же минимальное удорожание.
2 старых головы + 2 исполнителя VS 1 новая голова и 2 исполнителя по цене будут различаться не сильно. если вообще будут.
а по возможностям прибавится невероятно много вкусного, я так подозреваю)
Но повторюсь, это не более, чем моё видение. не настаиваю и не навязываю...
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Andrey_B , добавьте пожалуйста в прошивку 3.37 , чтобы srv loop отправлял значения портов а6 и а7 . Почему 3.37 ? Для меня очень важна функция "Watchdog" , пару раз выручала ...
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
smorigo, у вас, наверное, подключены DS18B20 или DHT22. A6 и A7 всегда включаются в srv_loop, но если строка получается длинная, то не умещаются в выделенную память.
Давайте я все-таки уберу temp: и hum: для srv_loop.
Давайте я все-таки уберу temp: и hum: для srv_loop.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
По hum: - а кому-то требуются в реальной практике /десятые сотые доли процента влажности? Гляжу, в прошивке вывод данных с DHT вроде бы ни с чем не завязан, можно и округлить до целого.
Andrey_B, подскажите плиз, разрабатываемая прошивка для 2561 сможет работать на 2560?
Andrey_B, подскажите плиз, разрабатываемая прошивка для 2561 сможет работать на 2560?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
В реальной практике, учитывая точность DHT22, десятые действительно не имеют большого смысла. Кроме того, отдельные экземпляры DHT22 обладают неприятным свойством "подвисать", выдавая нулевые значения.
Заказал HTU21D (есть также программно совместимый аналог Si7021). Думаю, реальная точность этих датчиков будет значительно выше. Интерфейс I2C. Планирую написать обработчик на PHP, как для BMP180.
Прошивка для 2561 будет работать на 2560. Вопрос в другом. Я пока не определился с концепцией. Даже 2561 имеет на борту около 50 портов. Хочется оставить совместимость с существующими исполнительными модулями. Но народ, насколько я понимаю, не оценивает перспективу потери трех десятков портов. Обдумываю вариант втиснуть в контроллер два стандартных 34-пиновых разъема, плюс размещение пяти подтянутых портов для цифровых датчиков вместо разъема программатора, который уйдет вглубь корпуса. Все этим меры позволят использовать порядка 35 портов и возможность подключения двух исполнительных модулей. Но и все одно - останутся незадействованные порты. А в 2560 их еще больше.
Вопрос за засыпку. Предположим, к контроллеру можно подключить 2 исполнительных модуля. И у нас 7 портов с поддержкой ШИМ.
Вариант 1. Все ШИМ порты разведены на один разъем. (Гипотетически удобно для какой-то своей реализации исполнительного модуля)
Вариант 2. 3 ШИМ порта разведены на один разъем. 4 ШИМ порта на другой. Такой вариант позволит подключить два MegaD-7I7O-SD модуля. (Этот вариант лично мне нравится больше)
Заказал HTU21D (есть также программно совместимый аналог Si7021). Думаю, реальная точность этих датчиков будет значительно выше. Интерфейс I2C. Планирую написать обработчик на PHP, как для BMP180.
Прошивка для 2561 будет работать на 2560. Вопрос в другом. Я пока не определился с концепцией. Даже 2561 имеет на борту около 50 портов. Хочется оставить совместимость с существующими исполнительными модулями. Но народ, насколько я понимаю, не оценивает перспективу потери трех десятков портов. Обдумываю вариант втиснуть в контроллер два стандартных 34-пиновых разъема, плюс размещение пяти подтянутых портов для цифровых датчиков вместо разъема программатора, который уйдет вглубь корпуса. Все этим меры позволят использовать порядка 35 портов и возможность подключения двух исполнительных модулей. Но и все одно - останутся незадействованные порты. А в 2560 их еще больше.
Вопрос за засыпку. Предположим, к контроллеру можно подключить 2 исполнительных модуля. И у нас 7 портов с поддержкой ШИМ.
Вариант 1. Все ШИМ порты разведены на один разъем. (Гипотетически удобно для какой-то своей реализации исполнительного модуля)
Вариант 2. 3 ШИМ порта разведены на один разъем. 4 ШИМ порта на другой. Такой вариант позволит подключить два MegaD-7I7O-SD модуля. (Этот вариант лично мне нравится больше)
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
С точки зрения совместимости удобнее иметь возможность подключить два 7I7O-SD
В то же время, ничто не мешает взять из шлейфов нужные жилы и свести их в разъём в нужных пропорциях, верно?
В то же время, ничто не мешает взять из шлейфов нужные жилы и свести их в разъём в нужных пропорциях, верно?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
хотелось бы увидеть на контроллере не пины, а клеммы, там вроде снизу есть под это место. Может даже не 5 а 6 влезет? Тогда вроде как еще будут порты задействованы?Andrey_B писал(а):плюс размещение пяти подтянутых портов для цифровых датчиков вместо разъема программатора, который уйдет вглубь корпуса.
Наверное за второй вариант, как минимум будет совместимость со старыми модулями SD.Andrey_B писал(а):Вопрос за засыпку. Предположим, к контроллеру можно подключить 2 исполнительных модуля. И у нас 7 портов с поддержкой ШИМ.
Вариант 1. Все ШИМ порты разведены на один разъем. (Гипотетически удобно для какой-то своей реализации исполнительного модуля)
Вариант 2. 3 ШИМ порта разведены на один разъем. 4 ШИМ порта на другой. Такой вариант позволит подключить два MegaD-7I7O-SD модуля. (Этот вариант лично мне нравится больше)
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
http://ab-log.ru/files/File/ip_manager3 ... 37-hex.zip
В режиме srv_loop не передается текстовая информация "temp:" и "hum:" - только значения.
В 3.38 beta6 аналогичное изменение.
В режиме srv_loop не передается текстовая информация "temp:" и "hum:" - только значения.
В 3.38 beta6 аналогичное изменение.
Планируется ряд именно клемм. Пять/шесть портов плюс питание. За ними будут расположены два порта пинами, как сейчас. Это будут АЦП порты. Во-первых, не теряется совместимость. Во-вторых, подтяжка хоть и не сильно, но искажает значения с аналоговых датчиков. К тому же в отличие от клемм, пины почти не занимают места. Была еще мысль использовать двухрядные клеммы, но они не влезают ни по высоте, ни по глубине.vtec писал(а):хотелось бы увидеть на контроллере не пины, а клеммы, там вроде снизу есть под это место. Может даже не 5 а 6 влезет? Тогда вроде как еще будут порты задействованы?Andrey_B писал(а):плюс размещение пяти подтянутых портов для цифровых датчиков вместо разъема программатора, который уйдет вглубь корпуса.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Андрей, можно еще на плату добавить маркировку "+" и "-" питания, сейчас этого нет и все время лезешь в описание на сайт, дабы не перепутать.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Добрый день. Хотелось бы, как пользователю со стажем и глубочайшему почитателю проекта, предложить систематизировать информацию о мегадевайсе на сайте. Необходимо создать и поддерживать постоянно в актуальном состоянии информацию по реализуемым функциям текущей прошивки и ее актуальное 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
запускаем маке - файл, и как можно предполагать получаем прошивку отличную от авторской.
Она чуть больше, но при наличии загрузчика, не прошьется.
Постоянно читая уже более трех лет топики вижу, что вновь прибывшие бьются головой о проблему компиляции предлагаемого автором кода проекта. Все сообщество наблюдает над кульбитами вновь прибывшего, посылая его в разные топики форума. При этом у кого-то получается код меньшего размера, чем у автора, у кого-то больше. Автор неоднократно с удовлетворением замечает, что это нормально, поскольку все используют разные библиотеки и разные компиляторы. За эти годы я нашел пару упоминаний о среде тут-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
запускаем маке - файл, и как можно предполагать получаем прошивку отличную от авторской.
Она чуть больше, но при наличии загрузчика, не прошьется.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Понятно, что большинство участников форума имеют утилитарный подход к проекту(консьюмериат) и это может коробить автора, когда толпы с наскока пытаются стать конструкторами Умного Дома с одной стороны, и с другой стороны подобные выступления заканчиваются поучениями, что есть же прошивка и проще бросить перемычку и пусть проект делается дальше. Являясь владельцем трех комплектов megad не всегда считаю возможным вступать в дискуссию с автором проекта по реализации текущего функционала и перспектив проекта, поскольку у Андрея есть своя непреклонная позиция, благодаря которой проект прожил эти годы. Но поскольку проект открытый (в части кода) было бы гуманно, кроме рыбы в виде готовых прошивок, более широкому кругу участников дать удочки (понятно, что есть круг посвященных, которые помогают массам).
От объема полезной информации на сайте и форуме только положительные впечатления, отличный авторский драйв, но что-то найти на сайте, ногу сломишь (в лучшем случае).
От объема полезной информации на сайте и форуме только положительные впечатления, отличный авторский драйв, но что-то найти на сайте, ногу сломишь (в лучшем случае).