Как стать автором
Обновить
25
0
Константин @Costic

Программист-консультант

Отправить сообщение
MIDI постепенно становится беспроводным. И в каждом инструменте нужен MIDI.
В Windows 7 устройства типа Audio Class не могут быть Low Speed. Версия тут не причём.
А картинки? :-)
Тему вы очень важную затронули, а вот пример «дикий». Больно смотреть на «pictrl.c», работа с массивами и указателями — безобразная. В коде перемешаны локальные и глобальные переменные, система именования — никакая. Ветки условных операторов не все выполняются. И без анализатора ясно, что это работать не будет.
Хотелось бы увидеть, что MISRA выдаст на этот код и сравнить с вашим софтом.
Ваш подход интересный, но я бы выбрал MC34063A. Для вашей задачи +3..15В => 12B эта микросхема подходит и она не зависнет, её не надо отлаживать и программировать. Можете пояснить ваш выбор?
Для начала надо было дать определение термину «хэш». Перечислить его свойства, особенности применения и недостатки.
Есть мнение, что SD-карточка не очень долго живёт в Raspberry PI. Что будет у вас в доме, если откажет этот мини-компьютер?
Все пользователи «Ситилайн», зарегистрированные до 20 января сего года (1998) имеют возможность сохранить старую форму оплаты — 36,6 доллара за неограниченный доступ в Интернет на существующих условиях.

web.archive.org/web/19980515092443/http://www.cityline.ru/new_price.html

Ибо работал в то время почти на удалёнке.

А тут цены на сайтостроение:
web.archive.org/web/19970724093004/http://www.cityline.ru/prices.html
Цены на изготовление и дизайн WWW-страниц
(налог не включен)

Работа Цена в $
Ручное кодирование в HTML (за килобайт) 2-10
Создание графических элементов, за каждый 20-400
Изготовление фотографий и иллюстраций (за слайд) 100-500
Стоимость небольшого проекта 2000-6000

Для больших объёмов данных использовали HDD в mobile-rack, перемычки для Master/Slave. На несколько групп разработчиков был 1 Arvid для архивации и пишущий CD-ROM с «золотыми CD» для релизов. Нормально работали!
Работа большая проделана, но по сути это всего лишь реализация приёма-передачи кодом Манчестера. Это не соответствует ни ГОСТу, ни MIL-STD. На уровне сигналов у вас нет никакого обработчика. Надо же анализировать фронты. И в целом контролировать возможные ошибки и сбои. STM32 с этим не справится — медленные прерывания.
Реализацию кода Манчестера можно найти у SiLabs. В их контроллерах есть CLU (configurable logic unit) и PRS (peripheral reflex system). И вроде у Cypress есть что-такое, была тут серия статей. Но для вашей задачи лучше взять Миландр с контроллером МКИО, и Ethernet там есть. Но в любом случае для соответствия стандартам надо по каждому пункту стандарта писать обработчик.
Не буду утверждать, какой сейчас у Visio функционал, но в 2007-2010 я генерировал DDL и в MS SQL Server выполнял. Запросто. Возможно это была версия Enterprise или Team Suite…
/* This SQL DDL script was generated by Microsoft Visual Studio (Release Date: LOCAL BUILD). */

/* Driver Used: Microsoft Visual Studio — Microsoft SQL Server Driver. */
/* Document: D:\MyProjects\nda\ModelDB.vsd. */
/* Time Created: ** July 2010 **:**. */
/* Operation: From Visio Generate Wizard. */
Если вы знаете, что такое Реляционные базы данных, то это более чем наглядно.… Не пытайтесь рисовать это в Visio,
Вот тут я с вами не согласен. Есть у меня проект старенький (2007 года), в нём БД для MS SQL Server. Рисовали, обсуждали, генерировали DDL Script, писали документацию с помощью MS Visio. С версиями тогда не было проблем, т.к. за всё я один отвечал. Пробовал и другие системы, но не прижились они.
Вроде бы все счастливы, акционеры поделили рынки и богатеют, у рабочих понемногу но постоянно растет зарплата, постоянно растет качество продукции, нет конфликтов…

Это спорное утверждение. Зачем капиталистам увеличивать зарпалату рабочим? Скорее наоборот, всех держат на минималке, чтобы в любой момент («бунтаря»/недовльного/ленивого/больного) заменить на другого. И добавочную стоимость им нет смысла отдавать рабочим.
вполне логично было бы создание одного или нескольких госпланов, которые бы спланировали с достаточной точностью…

Спланировать можно, но в реальности будут отклонения, флуктуации, которые могут стать критическими и создадут дефицит и сбой всей системы. Перепланирование исправит, но придётся (почти) всю систему настраивать на новый план, а это затраты. Автор предлагает «частое планирование», но это лишь увеличит затраты. Даже если бы система была полностью автономной, то задержки/сбои в системе управления и/или передачи информации обрушат управляемый объект (корпорацию).
Будет ли объединение и укрупнение корпораций или мы будем наблюдать периодические слияние и разделение корпораций? Вопрос интересный. К.Маркс считал, что капиталы будут объединяться, а потом революция. Или нам грозит «Матрица» в виде Гугла 3000 года.
прекратить бесцельное растрачивание ресурсов на совершенно ненужный галопирующий рост личного потребления
Тут я согласен, но ваша оценка, что следующее поколение будет банкротами не верна. Автоматизация труда и современные развитие сельхозтехнологии могут накормить ещё х4 людей на всей планете. Но если все они захотят ездить на машинах и менять каждый год все свои вещи, то будут экологическая катастрофа, чистой воды и воздуха не хватит. Надо переходить к экосоциализму…
P.S. Тот же Форрестер показал в своих моделях мировой кризис, проблемы экологии, проблемы и деградацию городов и инфраструктуры.
Хоть бы слово про технику безопасности! Автор, вам повезло, что вы ещё живы. 1000 вольт и частоты 100кГц — это смертельно. И если трогать руками излучатели такой мощности, то надо заранее искать протезы.
Сначала выскажу общую мысль. Мне бы хотелось, чтобы стандарты были международными и общепринятыми нормами. Наука, знания и мысли не имеют границ. У России есть право и организационные возможности вносить предложения стандартов в ISO и IEEEE.
1. Ваше определение вызывает вопросы: что такое «модель», в чём суть «конвергенции», какая роль «скорости синхронизации» и между чем синхронизация?
2. Домен. «Домен состоит из шести доменов»…
3. см. словарь
4. Наш мир в основном аналоговый и непрерывный. У вас в тексте «должны быть представлены в цифровых моделях». Те же датчики есть цифровые и аналоговые. Протоколы передачи данных давно придуманы и стандартизированы. Зачем лезть в эту тему?
5. Стандарты нужны. Хорошие, понятные, общепринятые. Для этого есть ISO, IEEE, RFC, и даже ГОСТ.
Определений «цифровой двойник», «домен» и других терминов, которыми пестрит текст, я не нашёл. В документах по ссылкам словоблудие. Будет лучше, если таких стандартов не будет.
P.S. «Национальный» в русском языке имеет иное значение, чем «national» (государственный).
P.P.S. Аналоговой техникой и моделями теперь пользоваться нельзя? Только цифровой? А между прочим есть аналоговые системы, вычислители и даже системы моделирования.
Да, именно виртуальные функции и наследование. Ваш выбор template<> понятен, но на мой взгляд применение template обосновано только для контейнеров и алгоритмов. Хочу ещё раз напомнить о классе stream. Вы верно уловили мою мысль получить: uart << «Hello world!»; и т.д.
Когда-то предполагалось, что класс С++ будет задавать интерфейс в .h (.hpp) файле, а его реализация будет скрыта в .cpp файле. Один программист сможет пользоваться интерфейсом из .hpp, пока второй будет дописывать и оптимизировать реализацию в .cpp. На примере кольцевого буфера — можно задать интерфейс, сделать простеший буфер uint8_t m_buffer[256]; и начать параллельную работу. Перегрузить operator [], operator ++ и.д. На выходе будет красота!
Поясню, что я имел ввиду про «кишки». Вы используете template<> очень часто в своём коде (из того что на Хабре встречалось). На мой взгляд даже там, где не следует. Но это уже личные предпочтения. В общем, использование template<> как раз выворачивает «кишки» и не даёт скрыть реализацию. Вместо шаблонов я бы использовал наследование и виртуальные функции. Если нужен свой обработчик — наследуем и меняем OnError() и т.д.
Замечание про «memcpy()» в том, что это C-style, а у вас везде C++ и доступ к буферу некрасиво. class CRingBuffer это скроет. imho.
Очень любопытно, особенно asm(«BKPT #0»); возьму на вооружение. Ваш код UART контрастирует с кодом UART из соседней статьи.
Мне ваши статьи интересны, но ваш стиль программирования на мой взгляд — ужасен.
Элементарный UART, который доступен «из коробки» и работает везде, вы смогли усложнить. При работе с UART периодически возникают ошибки на линии, где обработчики?
Вы используете С++, но с буфером применяете «memcpy». Вот для буфера класс необходим, например, кольцевого. Я мог бы понять, если вы драйвер для какой-то ОС пишите или делаете реализацию iostream, чтобы воспользоваться унаследованными методами ввода-вывода. Тяжело ваш код читать. Классы С++ призваны скрывать детали реализации и должны предоставлять программные интерфейсы. А у вас все «кишки» класса наружу (простите, imho).
Рассказывать особо нечего, т.к. это узкоспециализированные промышленные устройства для производств.
А было бы интересно почитать и картинки их производственных линий посмотреть.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Software Developer, Embedded Software Engineer
Lead
Programming microcontrollers
Software development
C++
Python
Math modeling