• C или С++, с чего начать?

    @tugo
    C++
    Дает больше языковых конструкций, которые облегчают жизнь. Ими можно пользоваться, можно нет.
    Можешь только namespace пользоваться, уже хорошо.

    Поддержка C++ в некоторых IDE (IAR) уже лет 20 наверное есть. За все IDE не скажу, но думаю, что тоже 20 лет точно есть. В IAR уже есть с++14.
    Начать программировать на C++ (в IAR) очень просто - в настройках ставишь переключатель в положение C++.
    И можно продолжать писать на ограниченном подмножестве языка, соответствующем С. И можно понемногу изучать возможности плюсов и ими пользоваться.

    Можно подучить Qt и уйти чуть дальше от железа, писать приложения для Raspberry Pi. И это тоже embedded.
    Ответ написан
  • Как программисты следят здоровьем глаз, зрения или позвоночника?

    @tugo
    Сухость глаз

    1. Увлажняющие капли.
    2. Влажность воздуха в помещении выше 40%. Влияние этого фактора, думаю, не так велико, т.к. сухость глаз из-за того, что меньше моргаем при работе за ПК.

    Врачи у нас тупые(буквально). Три раза их посетил, но каждый врач написал разное лечения на одни и те же проблемы. Не знают чем мне помочь.

    Да, разные диагнозы у разных врачей - это печаль. Понять для себя такое положение вещей и не верить одному врачу полностью.

    Тогда я поехал в город и там в частной клинике мне прописали совсем другое лечение, сказали что срочно нужна лазерная операция, что если бы я доверился прежним врачам и не обследовался у них - я мог бы потерять зрение. Заплатили там 20 000 руб. Ну там уже был другой уровень у врача - это было видно.

    При посещении врача делаю поправку на то место, где его посещаю.
    1. Бесплатный врач (поликлиника по ОМС). Предполагаю, что если ты не умираешь, послать тебя подальше или в крайнем случае назначить диагностику подешевле (рентген вместо МРТ), запись через 3 месяца (авось не придешь или само вылечится). Т.е. у них не стоит задача прямо близко к сердцу принять твое здоровье и бороться за него. Это в среднем. Может повезти и попадешь на небезразличного врача.
    2. Платная поликлиника (ДМС или за деньги). Тут у них может стоять задача прогнать тебя по всевозможным анализам (вытянуть деньги у стразовой или у тебя, но из страховой сложновато тянуть). Особенно, если исследования и врачи прямо в этой поликлинике.

    Наибольшее доверие вызывает врач, который говорит, что ему все равно, где ты сделаешь исследование, сдашь кровь и т.д. Просто нужны такие и такие исследования.

    Это просто лирика, не ставлю под сомнение нужность лазерной операции для вас.

    но пришли уже новые, иногда возникает такое чувство будто бы в глазу колит. Цвет глаз такой же неважный.

    Вам бы к еще одному врачу, другому. Со всеми заключениями предыдущих врачей. Да, дорого. Да, можно после 3-4-5 врача прийти к диагнозу - "неопасная фигня, на здоровье не влияет".

    НО, он мне сказал, что перерывы я должен делать КАЖДЫЕ 20 минут работы перед компом НА 20 минут ОТДЫХА.

    Впервые вижу такое жесткое ограничение. Но, возможно, так нужно. Обычные требования при работе за ПК - 45-50 минут работы, 10-15 минут отдых. Но это для здоровых людей.
    Просто представьте, что вы пренебрегаете рекомендациями, убиваете свое зрение и достигаете через 3-5 лет хорошего уровня в своей области. Но зрение уже всё. Дальше что? Как работать и зашибать бабло? Вынужденно менять работу?

    Это же издевательство. За 20 минут наш мозг даже не успевает сосредоточиться на работе! (есть такое исследование)

    А вы попробуйте из интереса. Поставьте таймер и поработайте неделю в таком режиме. И посмотрите результаты.
    Думаю, что глаза у вас будут отдыхать, а мозг не переставать работать.

    Как программисты следят здоровьем глаз, зрения или позвоночника?

    1. Подбирают правильную коррекцию зрения.
    2. Занимаются физическими упражнениями. Гуляют по часу в день.
    Я ненавижу упражнения и не всегда хочу гулять. Мне под 40 и организм сказал "хватит". Стараюсь гулять и ходить в зал.
    3. Подбирают хороший монитор. Как можно больше и дальше от себя. Без ШИМ подсветки. С минимальной комфортной яркостью. Возможно, стоит почитать про телевизор в качестве монитора.
    У меня Dell U2312HM, 9 лет, яркость выкручена в 0. Думал всё, надолго, пока не сломается. Ан нет, говорят, что 4k мониторы не блажь, а полезная вещь для глаз.
    4. Не работают больше 40 часов в неделю, в выходные не работают. К 40 годам ощущаешь, как переработки очень влияют на продуктивность. Плохое самочувствие от переработок не включается резко в 40 лет - оно и в 25 плохо действует, просто запасов организма пока хватает.
    Ответ написан
  • Насколько негативно в долгосрочной перспективе скажется увеличение на очках для компьютера?

    @tugo
    Вам нужно записаться к врачу офтальмологу и определить свои параметры зрения. Потом по рецепту брать очки.
    Почитайте про "полную и неполную коррекцию зрения". Сейчас склоняются к полной коррекции.
    Первая попавшаяся статья обо всем
    Имейте это ввиду, когда пойдете к врачу. Врачи бывают разных школ, поэтому самому голову тоже нужно включать.
    Мне, бывало, плохо подбирали очки.
    А после этого, если захотите, сделайте очки с желтые очки, с фильтрацией синего. Есть ли смысл, тоже надо читать.
    Чтобы глаза не сохли, нужны увлажняющие капли.
    Ответ написан
  • Простые вопросы про радиоэлектронику и электрику?

    @tugo
    2) Аккумулятор в вашем ИБП - 12В/7Ач, т.е. сможет (на самом деле не сможет, но пусть) выдавать 84 ватта мощность в течение часа. Учтем КПД (на глазок) схемы преобразования в 220В - 84*0,9 = 76 Ватт*час.
    Радиола по паспорту потребляет не более 60 Вт. Пусть 50 Вт. Т.е. 1,5 часа прослушивания при всех допущениях.
    Реально, скорее всего нельзя разряжать полностью аккумулятор ИБП, он будет терять емкость.
    Т.е. оптимистично, 45 минут прослушивания.
    Вряд ли вы сможете установить ИБП внутрь, может не хватить места. (да и стоит ли при 45 минутах?)

    За 2000 руб вполне можно купить современный приемник со всеми диапазонами. Надо ли радиолу портить? Лучше тогда продать, если не нужна.
    Ответ написан
  • Идеальная компания для embedded разработчика в России?

    @tugo
    Погладьте на прощанье ПЛИС и собирайте котомку в более высокоуровневое программирование.

    Или бросать всё и идти в тот же мейл QA тестировщиком?) Получать хоть что то зато...

    Нет, никаких тестировщиков, только разработка. Чутка пострадать придется по началу, пока опыта не наберешься. Тестировщики начинают пользу приносить довольно быстро, но и потолок ниже.

    Я в свое время ушел от железа, и не жалею. Лучше буду посредственным программистом, чем хорошим схемотехником. Больше платят.

    полным КД (как pet, так и на работе - отладочные платы средней сложности с 5-10 типичными интерфейсами для отечественных МК и ПЛИС, испытательные стенды), владею Altium-ом, Mentor-ом, Multisim, по SPICE моделированию диплом писал. МК прогаю на С/С++ в IAR, работал с архитектурами AVR, ARM, RISC V. Последний проект делали с начальником на Миландровском контроллере на чистых плюсах с полноценным ООП, необычный опыт, алгоритм наведения для одного из изделий. ПЛИСы только Alterовские освоил, Quartus+Modelsim, писал несложные коммутаторы и ip-ядра контроллеров интерфейсов, простейшее DSP. Высокоуровневые языки - Python и perl, парсить логи и всякие скрипты для сред писать.


    Как только сконцентрируетесь на чем то одном, сразу поймете какая бездна там в развитии. Вы физически и умственно не успеете хорошо развиваться во всех этих темах.

    Что, 3D CAD не владеете? Solidworks там? Не хватает для полного набора человека-оркестра. (Простите за сарказм)

    А по теме:
    https://t.me/rabotaembedded
    И особенно рекомендую Arrival
    https://t.me/rabotaembedded/357
    Ответ написан
  • Проходит тесты, но заканчивает с кодом 132. В чем проблема?

    @tugo
    Не проходит 3-й тест. А их 4. Я чуть подправил, у меня прошло все 4.
    В третьем тесте подается неправильное значение n. Нужно его нормально отработать.

    fixed_tests
    should_pass_some_example_tests
    should_pass_some_more_fixed_tests
    should_handle_invalid_input
    randomized_tests
    should_pass_some_randomized_tests
    Ответ написан
  • Какой нагревательный элемента для поддержания 32.5 градуса в 1л емкости?

    @tugo
    Плитка электрическая 5f882c871c6ac565241989.png
    Управлять через твердотельное реле на 220В (с переключением в нуле) solid state relay zero cross (готовое ~500 руб или заколхозить на MOC3061).
    Далее Ардуино с ШИМ.
    Ответ написан
  • Как посчитать контрольную сумму пакета на С++?

    @tugo
    6.3.3.1 The checksum is initialized to zero with thecharacter.

    Хз что хотели этим сказать. Нужна картинка pdf стандарта.
    The first character used in computing the checksum is the frame number. Each character in the message text isadded to the checksum (modulo 256). The computation for the checksum does not include, the checksum characters,or the trailingand.

    Вроде бы
    char frameNumber = ....;
    char crc = frameNumber;
    for (int i = 0; i <  messageSize; ++i)
    {
        crc += message[i]
    }

    Надо экспериментировать.
    Ну и перевести посчитанную контрольную сумму в ASCII представление, как написано.
    Ответ написан
  • Потокобезопасный контейнер?

    @tugo
    Композицией или наследованием делаете свой класс контейнера с методами получения и размещения объекта.
    Методы делаете многопоточными с помощью Read Write Mutex.
    Есть ли такие мьютексы в стандартной библиотеке не знаю.
    https://www.youtube.com/watch?v=KJS3ikoiLso
    https://doc.qt.io/archives/qq/qq11-mutex.html#unde...
    Ответ написан
  • Msp430 внутренний операционный усилитель?

    @tugo
    Но теперь нужно использовать "операционный усилитель из состава микроконтроллера".
    Подскажите пожалуйста: что это значит и как это сделать?


    1. Сначала составляем схему с внешним ОУ. У меня есть легкие сомнения в работоспособности вашей схемы, поэтому я нарисовал свою.
    5daf7d3e83f8b584547673.png
    Еще можно посмотреть на схему этой платы
    https://www.sparkfun.com/products/12758
    https://cdn.sparkfun.com/datasheets/BreakoutBoards...

    У АЦП и ОУ микроконтроллера однополярное питание, поэтому входной сигнал от микрофона нужно поместить на уровень половины напряжения питания, чтобы не обрезался сигнал.

    2. Изучаем схему модуля ОУ в микроконтроллере в документе MSP430x4xx Family User Guide
    www.ti.com/lit/ug/slau056l/slau056l.pdf
    Figure 22−1. OA Block Diagram, страница 649

    Нужно записать определенные значения в регистры, которые управляют мультиплексорами и др. логическими элементами, чтобы довести сигналы инвертирующему и неинвертирующему входам ОУ и вывести выход ОУ на внутренний АЦП.
    5daf80a0ed1df276282365.png

    ОУ можно сконфигуририровать в один из нескольких режимов.
    Т.к. ОУ в 1-м пункте у меня включен в инвертирующем режиме, подошли бы режимы
    General-Purpose Opamp Mode и Inverting PGA Mode, которые задаются регистром OAFCx.
    Но, скорее всего, захочется самим устанавливать коэффициент усиления сигнала внешними резисторами, поэтому выбираем режим General-Purpose Opamp Mode. Т.е OAFCx = 0;
    В этом случае на схеме нам становятся неинтересным куча элементов.

    Дальше, конфигурируем OAPx = 0; (с какого входа брать сигнал на неинвертирующий вход) Сигнал берем с OAxI0.
    OANx = 1; (сигнал на инвертирующий вход берем с OAxI1)
    Включаем ОУ регистром OAPMx = 3;
    5daf86912219c468301026.png
    Дальше курим этот пункт, как вывести сигнал с ОУ на ногу на выход и подать на вход АЦП.
    5daf86feb1613395041634.png
    Наружу выводим, чтобы снаружи подсоединить резисторы, которые на схеме пункт 1.

    3. Открываем даташит на конкретный микроконтроллер и ищем ноги.
    5daf8e04b4b1a626670110.png

    Application Note www.ti.com/lit/ml/slap118/slap118.pdf - огонь. Даже если и для другой серии. Спасибо Dmitriy Mozgovoy
    Ответ написан
  • Как называетсч двухканальная микросхема с дедтаймом?

    @tugo
    Half bridge ( или high and low side) gate driver with programmable (или adjustable) dead time
    Какое входное напряжение у вас?
    Ответ написан
  • Как и какую информацию собрать при фатальной ошибке в Qt?

    @tugo
    1. Подключить к своей программе библиотеку логгирования. Рекомендую log4cplus.
    https://habr.com/ru/post/118165/
    Дружит с Qt. Логгировать все и вся.
    Логгер конфигурируется через текстовой файл конфигурации, который лежит рядом с приложением. В конфигурации задано какого уровня ошибки логгировать и куда (в файл, консоль, сеть).
    Уровни логгирования по важности TRACE > DEBUG > INFO > WARN > ERROR > FATAL
    При нормальной работе приложения к конфиге устанавливаете логгировать INFO сообщения и выше.
    Как только происходит что-то плохое, ваша программа падает - просите клиентов включить логгирование TRACE, завалить программу и прислать логи. Или если можете это сделать сами удаленно.

    2. Подключаете Google Breakpad https://maxsavenkov.livejournal.com/189460.html После падения берете краш-дамп и изучаете. Там будет видно в какой функции упали, это упростит поиск.

    Рекомендую начать со 2 пути, он побыстрее. Эти варианты не исключают друг друга, а дополняют.
    Ответ написан
  • Как создать программу для работы с почтовыми серверами для отправки и получения сообщений (pop, smtp, imap)?

    @tugo
    Для примера, пусть язык будет С++.
    Ищем библиотеку,которая поддерживает то, что нам нужно (самим писать неразумно).

    Вот, что нашел на C++
    libmailcore.com
    https://stackoverflow.com/questions/1796472/cross-...

    Делаем оболочку на C++ какую можем.
    Варианты.
    1. Графический интерфейс
    2. Консольное приложение. Параметры передаются через аргументы командной строки.
    3. Консольное приложение. Аргументы вписываются в файл конфигурации, который лежит рядом с приложением.
    Имя файла передаем через аргумент командной строки.
    Можно сделать 3 варианта, препод заценит (может быть).

    Дальше, подключаем найденную библиотеку к себе в приложение, используем ее API. Получаем результат.

    Допустим язык Python.
    Что-то есть для него.
    https://pythonspot.com/read-email-pop3/
    https://docs.python.org/3/library/poplib.html
    https://stackoverflow.com/questions/43631176/read-...

    Пробуем, если результат есть - делаем GUI.

    Еще вопрос, как нужно демонстрировать программу. Если на флешке принесли, запустили - с Python может быть сюрприз. Надо узнать, как демонстрировать.
    Ответ написан
  • В какой среде разрабатывают интерфейс для программ на C++?

    @tugo
    Qt - библиотека. Не среда.
    Поделена на компоненты для работы с сетью, XML, JSON, SQL базами, OpenGl, звуком и еще много чем.
    Есть компоненты для создания визуального интерфейса.
    В Qt есть 2 компонента для создания интерфейса Widgets и QML.
    Widgets были первыми. Потом, когда нужно было отвечать требованиям времени, придумали QML.
    Но widgets не устарели, не стали плохими. Они проще в понимании.

    Определитесь с задачей. Какие возможности интерфейса вам требуются. Спросите на Тостере, можно ли это сделать на Widgets. Погуглите интерфейсы созданные с помощью Widgets, может вас устроит.
    QML для новичка не рекомендую.
    Ответ написан
  • Как передать в функцию переменные и вернуть их?

    @tugo
    Эти переменные оформите в с структуру.
    int number_rocket[4];
      int amount, min_fuel = 0, min_E = 0, min_mass = 0, max_umass = 0, max_speed = 0;

    Структуру передавайте в функцию по ссылке
    Ответ написан
  • Как запитать что-либо от аккумуляторов 18650?

    @tugo
    Для защиты от переразряда берите такие платки на aliexpress "2s li-ion protection board" .
    2s означает - "2 in series". Есть также платки 3s, 4s.
    Они могут и правильно заряжать, что в общем удобно, достаточно простого источника напряжения. Правда он должен выдавать стабильные 7.4В (для двух Li-ion элементов).
    Ответ написан