Eddy_Em: Тут уже понадобится плата (и затраты времени на ее разводку и изготовление), а коль скоро появилась плата собственного изготовления, отдельная плата с контроллером автоматически станет не нужна.
Совсем уродливые способы, вроде "все собрать на макетке" (и в коробку, в коробку! от сапог!) или того хуже "все собрать на бредборде" (и в ту же коробку, окно под дисплей вырезать кухонным ножом) я не рассматриваю.
Eddy_Em: Опять же, я с вами полностью согласен, однако тут помимо затухания можно еще и помех наловить. Потому-то я и заложил витую пару, да еще и в экране - можно будет спараллелить четверки проводов для увеличения сечения.
А вот про экран - если заморочится и сделать вывод на экран путем сборки цифр из псевдографики, получатся довольно крупные символы (около сантиметра), которые будут выводится одновременно - то есть кинул взгляд издали на экран, и все - информирован. Не надо никуда ходить всматриваться, ждать, пока показания сменятся и так далее.
Хотя с таким подходом можно и сегментником огромным ограничится, но с его подключением мороки больше.
Eddy_Em: согласен, но Ардуино и AVR уже как Ленин и Партия, (говорим одно, подразумеваем другое), потому я и составил комплект для AVR.
Конечно, на STM получится бережливее к электроэнергии и дешевле.
Тут еще вопрос в части разноса датчиков на разные стороны квартиры - 1-Wire может и ниасилить.
Wizzy: У меня больше вариантов нет.
Но. Какие пины CP2103 выведены в отверстия на плате?
Дело в том, что я давным - давно писал приложение, способное использовать CP210x в качестве SPI программатора AVR, то есть способное общаться с контроллером без бутлоадера.
Wizzy: логика в USB работает на 3.3, в адаптере есть преобразователь с выходом 3.3 вольта.
А при нажатии на reset мигание прекращается?
Попробуйте жать reset и одномоментно с этим, прямиком из командной строки запускать AVRDUDE:
avrdude -P/devUSB0 -cstk500 -pm328 -v
Что он напишет?
Wizzy:
По спецификации, контроллер должен работать от 3.3 вольт.
На контроллере кстати хоть какие-то признаки жизни появляются? А то вдруг программатор банально не выдает питания, а мы тут головы ломаем...
Wizzy: а при убирании петли - перестает? Тогда преобразователь исправен, остается вопрос с выбором программатора.
Интересно, если при подключенном контроллере и открытом терминале ткнуть reset, бутлоадер что-нибудь выплюнет в терминал?
Wizzy: я к сожалению с IDE от ардуины не знаком, так что не знаю, что там они имеют в виду под ISP. Но может быть, скриншот раскрытого меню мне поможет понять что-нибудь.
Wizzy:
он должен при замкнутой петле выводить в терминал то, что набирается на клавиатуре, при удалении петли - переставать
попробуйте minicom:
sudo minicom -D/dev/ttyUSB0
Wizzy: надо TX и RX у конвертера соединить накоротко, петлю сделать.
Также я полагаю, (если у авторов ардуино совсем мозги не отшибло), что ISP означает In System Progrmming, то есть заливку программы по SPI, а здесь мы имеем дело с заливкой по USART через бутлоадер. Смените настройку программатора.
Это был сарказм, намекающий, что для создания или повторения вау-дизайна нужны прямые руки и художественный вкус, а инструмент можно выбрать любой, соответствующий этим руками и вкусу.
Это как спросить у художника - "А какими кистями лучше пейзажи рисовать?" Будете осмеяны два раза "Художники не рисуют, а пишут" и "Художники пишут руками и головой, а не кистями".
DeScWD: sizeof() возвращает размер в байтах непсредственно той сущности, что стоит у него в скобках.
На всякий случай, добавляйте к деструкторам virtual. Всегда. Если деструктор не виртуальный, у класса должен стоять атрибут ненаследуемости - final
чтобы решить вашу задачу, вам нужно хранить внутри класса количество элементов, или наследовать ваш контейнер от стандартного контейнера, порожденного конкретизацией нужного шаблона - например, вектора.
API сокетов (еще говорят, сокеты Беркли, потому как изобрели их в этом университете), реализован на C. Используя BOOST вы добавляете в свое приложение еще один слой абстракции (если расковыряете BOOST, увидите те же вызовы API сокетов Беркли). Это облегчает написание программы, делая ее более удобочитаемой и переносимой, но в некоторых случаях может привести к незначительному падению производительности и росту размера бинарного файла.
Например, тесты fstream против API доступа к файлам
показывают, что для достижения максимальной производительности нужно старательно все тюнинговать.
Совсем уродливые способы, вроде "все собрать на макетке" (и в коробку, в коробку! от сапог!) или того хуже "все собрать на бредборде" (и в ту же коробку, окно под дисплей вырезать кухонным ножом) я не рассматриваю.