Eddy_Em: ну у меня целью было выжать теоретический максимум в 128 тысяч байт в секунду из USB CDC. И оно таки заработало (и на офтопике, и на линуксе, и на ведроиде), чему я несказанно рад.
Eddy_Em: там было очень странное явление, больше похожее как раз на опустошение буфера - при частых чтениях прерывание проглатывалось, при увеличении интервала (и соответственно, большем наполнении буфера) - все работало четко, и под оффтопиком, и под линуксом.
Стандартная библиотека STM подлежит тотальному списанию в быдлокод - меня их километры макросов, которые вызывают макросы, обращающиеся к макросам добили.
Eddy_Em: ну на C++ всегда можно откатиться на "стиль C" в потребном месте. Или действительно изучить STL, чтобы знать, откуда какой костыль там произрастает.
Последний раз когда я грешил на QSerialPort, глюк прекрасно воспроизвелся на read, и вообще выяснилось, что QSerialPort не приделах, а пакеты ворует STM32F3, которая иногда не вызывает прерывание по окончанию транзакции в CDC.
Eddy_Em на сегодняшний момент, QT - лучшее что произошло с пользовательскими интерфейсами. Я видел MFC(святые макросы из преисподней!), VCL(бууууэээээ),
GTK( :-| ) , wxWidgets (чур меня, чур!), черт возьми, я писал когда-то на голых CommonControls. Когда в процессе писания под них у меня сами собой написались сигналы/слоты, я пришел к выводу, что думаю с Trolltech (тогда Qt владели они) в одном направлении.
На QT приложения получаются относительно лаконичными, а логика - прозрачной. Ну и не жрут память как некоторые браузеры.
Eddy_Em количество чозанафиг в секунду при попытке реализовать что-то в современном браузере (особенно с графикой и динамикой) стремится к известной константе 100500. У QT хоть результат предсказуемый и переносимый, тем более, что приложение сразу получается событийно-управляемым.
Anton B: С точки зрения базы данных запрос по непосредственно заданному id
select * from t where id=500 - почти ничего не стоит. Для ответа на вопрос о необходимости разрезания, нужно знать вашу нагрузку, поскольку именно из-за нагрузки в первую очередь возникает необходимость базу разделить на несколько серверов (и это, это будут клоны одной и той же базы со взаимной репликацией, а не куски).
Anton B: До ограничения на размер файла в файловой системе вы доберетесь не скоро (4 терабайта в ext3). СУБД предначена для хранения огромных таблиц и использует специальные структуры и алгоритмы, чтобы делать это эффективно. Разрезав таблицу на части, вы спутаете всем этим умным алгоритмам карты. Потому как к примеру вместо одного бинарного поиска по индексу, БД придется залезать в десять индексов.
При влезании в тематику "большие данные" вы одним запросом не обойдетесь, нужно будет решать вопрос об оптимальном разбиении базы на части.
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 вольт.
На контроллере кстати хоть какие-то признаки жизни появляются? А то вдруг программатор банально не выдает питания, а мы тут головы ломаем...