Поиск
Показаны результаты для тегов 'с++'.
-
С++ взаимодействие объектов
const опубликовал тема в Программирование
Привет. Не могу сам разобраться, в плюсах не силен. Как правильно (принято) реализовывать взаимодействие между объектами? Мой случай, условно (пишу на QT, ранее программа была написана на CBuilder6). Реализация на CBuilder 6. Программа на ПК обменивается через COM-PORT с МК и отображает его состояние. Протоколов обмена два (может быть больше). Реализованы протоколы через объекты protocol_1 и protocol_2, оба они имеют методы rcv(u8* byte, u16 sz) через которые принимают "сырые" данные. Этот метод реализует байт-стаффинг, подсчет crc и разбивает поток байт на сообщения вида typedef struct {u16 cmd; u8 data[];} msg_t, которые в свою очередь можно получить с помощью метода get_msg(msg_t * msg). Так же объекты имеют методы для передачи сообщений put_msg(msg_t * msg), которые их "готовят" (байт-стаффинг, crc) и передают. Далее, объект коммуникации comm, который содержит объекты comport, protocol_1 и protocol_2, реализует обмен с МК: 1. Прием реализован через call-back ф-ию: void com_rcv_cb(u8 * b, u16 sz) { if (protocol == 1) protocol_1.rcv(b, sz); if (protocol == 2) protocol_2.rcv(b, sz); } ф-ия передается объекту comport через его метод set_rcv_cb(com_rcv_cb). Выбор протокола: comm.select_protocol(int r){ protocol = r; } 2. Реализация передачи: void comm::send(msg_t * msg) { if (protocol == 1) protocol_1.put_msg(msg); if (protocol == 2) protocol_2.put_msg(msg); } Собственно передачу осуществляют объекты protocol_1 и protocol_2, для этого им передается указатель на ф-ию отправки данных в comport /* void comport::send(u8* byte, u16 sz) */: protocol_1.set_sender(comport.send), protocol_2.set_sender(comport.send). Все три объекта (comport, protocol_1 и protocol_2) объявляются в файле comm.cpp, но, как бы сказать, не в самом объекте comm. Все работает. Вопросов нет. Начал изучать QT с написания вышеописанной программы с несколько другим функционалом. Объекты protocol_1 и protocol_2 взял как есть. Для работы с COM-PORT взял объект QSerialPort. Но в этот раз все три объекта (serialport, protocol_1 и protocol_2) создаю в объекте comm. С приемом проблем нет, функцию приема прикрутил с помощью connect(serialport, &QSerialPort::readyRead, comm, comm::com_rcv_cb), упуская детали. Работает. А вот передать указатель на ф-ию отправки serialport::write в объекты protocol_1 и protocol_2 не получается. Видимо от того, что serialport создается в самом объекте comm. Думаю, если вынесу объявление объектов serialport, protocol_1 и protocol_2 в пространство файла comm.cpp (как было ранее) все получится. Но хотелось бы узнать какие еще варианты взаимодействия объектов имеются. Или в моем случае надо полностью менять подход в построении программы? -
Решил я усложнить задачу на базе stm32f1 на таймере настроить программу для ds18b20. Как правильно это сделать.Я имею ввиду что когда когда мастер передаёт байт то включается ШИМ.А когда принимает то включается захват по таймеру.Так я понимаю или нет ?
-
ГУН(генератор управляемого напряжения) на stm32
dimir опубликовал тема в ARM, 32bit
Как можно програмно сотворить ГУН на stm32? Знаю что нужно использовать ацп.И дальше что ацп должен управлять таймером а каким это образом? Каким параметром таймера должен управлять ацп.Не ШИМ а ГУН меня интересует.Кто знает? Спецы подскажите. -
Москва. Инженер по портированию Linux (OpenBMC)
ОксанаР опубликовал тема в Предлагаю работу
ПК «Аквариус» – ведущий российский разработчик, производитель и поставщик компьютерной техники и IT‑решений, системообразующее предприятие радиоэлектронной промышленности. Что нужно делать: Портирование Linux OpenBMC на серверы производства компании Aquarius. Что мы ищем: Опыт портирования Linux на любую аппаратную платформу; Опыт разработки в Linux userspace; Опыт отладки с использованием gdb, strace; Опыт работы с сервисами в systemd; Знание C (3+года), bash, python, make; Знакомство с подсистемой логгирования в Linux. Желательные требования: Ассемблер – любой; Опыт работы с ftrace, kgdb, valgrind, perf; Знание С++; Опыт разработки драйверов Linux; Опыт работы с Yocto; Опыт адаптации загрузчиков под свою аппаратную платформу; Знание сетевых технологий в части, касающейся сетевой загрузки; Практические навыки работы с осциллографом и принципиальными схемами; Наличие технических статей на сетевых ресурсах, например, Habr – нам интересен Ваш способ подхода к решению задач в спокойной обстановке ; Soft Skills: Английский язык на уровне беглого перевода с листа; Опыт работы с Confluence, Jira, Git. Что мы предлагаем: Стать частью крупной, стабильной компании разработчике и производителе компьютерной техники и IT‑решений, успешно развивающейся на российском рынке уже более 30-ти лет. Возможность профессионального роста и развития; Премии по итогам работы; ДМС после прохождения испытательного срока; Грамотная система адаптации; Возможность обучаться за счет компании; Оформление в соответствии с ТК РФ; График работы обсуждается с руководителем; Удобный, современный офис в БЦ "Румянцево", рядом с метро "Румянцево" со всей инфраструктурой. -
Решил я защитить свою прошивку. И установил бит защиты. И бац lcd перестало работать при установки этого бита. В чём загвоздка?Кто из спецов подскажет?
-
Инженер-программист (C++/Python)
Anna опубликовал тема в Предлагаю работу
ООО Эвокарго Кого ищем: разработчика С++/Python, который будет заниматься написанием ROS - драйверов для различных внешних устройств. Если вы опытный программист-разработчик и мечтаете заниматься исследовательской деятельностью в области беспилотных автомобилей, то вам – к нам. Обязанности: проектирование и написание ROS драйверов для различных сенсоров (сонары, лидары, камеры, радары) проектирование и написание ROS драйверов и парсеров для обработки пакетов получаемых по RS-232/422/485, CAN контроль целостности и корректности получаемых данных первичная фильтрация получаемых данных и выдача их необходимым образом в указанные топики. Требования: Знание и опыт работы с Robot Operating System (ROS) Знание Linux C++: ООП, основные паттерны проектирования Python: ООП, библиотеки numpy Будет плюсом: Опыт работы с железом (сенсоры, низкоуровневые драйвера, работа со стеком различных интерфейсов) Условия: Гибкий график и возможность частичной удаленной занятости; Интересные задачи нацеленные на развитие высокотехнологичных самодвижущихся транспортных средств; Высокий уровень белой заработной платы; Оформление в соответствии с ТК РФ; ДМС. Контакты: [email protected] - почта @aanna_peter - Telegram (Анна) -
Инженер-программист микроконтроллеров С/С++ (Москва)
Anna опубликовал тема в Предлагаю работу
Инженер- программист микроконтроллеров С/С++ ООО Эвокарго Кого ищем: опытного разработчика, готового принимать участие в различных направлениях разработки компании, как алгоритмических, так и инфраструктурных, а также делиться своим опытом с членами команды. Если вы опытный программист-разработчик и мечтаете заниматься исследовательской деятельностью в области беспилотных автомобилей, то вам – к нам. Обязанности: Разработка программного обеспечения для контроллеров управления исполнительными устройствами и тягового электропривода на базе микроконтроллеров TI (C2000, TMS570) Участие в разработке программной архитектуры Участие в выборе инструментов и фреймворков разработки ПО Участие в code review Отладка ПО на реальном объекте управления (беспилотный автомобиль) Тестирование кода: юнит-тестирование, тестирование на испытательном стенде Требования: Высшее образование по технической специальности; Опыт разработки ПО на языках С/С++ не менее трех лет. С++: STL, ООП, паттерны проектирования. Инструменты: git, CMake. Опыт работы и знание протоколов CANOpen, J1939. Большим плюсом будет опыт работы с тяговым электроприводом с векторным управлением. Приветствуется: Знание стандартов функциональной безопасности ISO26262, IEC 61508. Опыт работы с Jira и Confluence Опыт работы в области робототехники и беспилотной техники. Условия: Гибкий график и возможность частичной удаленной занятости; Профессиональный и молодой коллектив; Интересные задачи нацеленные на развитие высокотехнологичных самодвижущихся транспортных средств; Высокий уровень белой заработной платы; Оформление в соответствии с ТК РФ; ДМС. Контакты: [email protected] - почта @anna_peter_hr - Telegram (Анна) -
Ищем Senior Software Engineer (Москва, г.Зеленоград)
Nikolay Gr. опубликовал тема в Предлагаю работу
Добрый день! Ищем Senior Software Engineer - Linux kernel/networking Что нужно: Разработка программного обеспечения для высокопроизводительных гетерогенных вычислительных и телекоммуникационных систем. Требования: Хорошее знание архитектуры современных процессоров (Intel/AMD) Отличное знание языка программирования С/С++. Знание архитектуры Linux kernel, сетевой подсистемы. Опыт разработки под userspace и kernel. Желательно: Знание и использование DPDK. Опыт работы в open source проектах. Условия: оформление по ТК РФ; белая зп, от 160к на руки гибкий график работы; обсуждаем также удалённый вариант; интересные задачи, амбициозная команда, грамотное руководство; сам офис на территории технопарка «Элма», г.Зеленоград; Если для Вас важно чтобы Вы могли посмотреть вакансию на hh, то ссылку прилагаю: https://hh.ru/vacancy/39461468?query=элвис Резюме/отклики можете присылать на почту: [email protected] По всем вопросам тоже желательно писать на почту, но и тут я постараюсь ответить. -
Санкт-Петербург Android программист С++
Анна опубликовал тема в Предлагаю работу
Крупный холдинг (разработка и производство средств связи, телекоммуникаций и навигации) приглашает на работу разработчика под Android. Обязанности: • Сопровождение и развитие существующего с++ кода с возможным переносом логики на Java • Участие в разработке и развитии с++ движка антивируса, тесно взаимодействующего с Java частью (NDK, JNI) • Работа в команде разработчиков • Опыт разработки под Android от года • Умение разбираться с чужим кодом • Опыт работы с библиотеками STL, ASIO, Boost (будет плюсом знание ReactiveX, OkHttp, ButterKnife, OpenSSL, LibCrypto) • Понимание принципов многопоточности в Android (Понимание устройства и принципов безопасности ОС Android будет преимуществом) • Желательно SQL, в частности SQLite Необходимые навыки: • Знание основ информатики, алгоритмов и структур данных • Основы создания UI • JDK (Java 7,8 и/или Kotlin) • NDK и JNI (c++ 11 и выше) • Знание и понимание жизненных циклов Activity и Fragment • Знание принципов и паттернов ООП, умение их применять • Понимание шаблонов проектирования MVC, MVP, MVVM • Официальное оформление, высокая белая зарплата, премии, 13 зарплата • Оплачиваемый отпуск 28 календарных дней • Корпоративная культура, возможность посещать конференции и профильные мероприятия • Современное оборудование рабочего места, работа с передовыми устройствами и технологиями.. • Комфортный офис в бизнес-центре (СПб, Калининский район). Контакты для связи: [email protected] -
C++ developer с опытом embedded разработки.( remote work)
moryachok опубликовал тема в Предлагаю работу
C++ developer с опытом embedded разработки. Работа удаленная, полная занятость О нас: USA продуктовая компания Petrosoft LLC существует с 2002 года. Компания 15 лет на рынке. http://www.petrosoftinc.com . является партнером SAP. IBM . Microsoft. Технический лидер в области разработки back office систем управления заправочными станциями и топливной дистрибуцией,а так же software для retail и ресторанного бизнеса. Проекты (продукты) http://www.petrosoftinc.com/join-the-ecosystem Требования: 2−3 года опыта разработки ПО на С/С++, stl знание POSIX API хорошее понимание механизма работы сетевых протоколов TCP/IP уверенное знание Unix/Linux практическое использование Python 2\3, знание BASH\SH Будет плюсом: опыт командной разработки опыт программирования внешних устройств (COM, USB) хорошее знание стека HTTP-протоколов работа с БД в частности с Informix Знание фреймворка tornado и Python Standard Library Задачи: разработка ПО для устройств захвата и обработки информации разработка ПО для кассовых аппаратов Уровень английского: Upper Intermediate, Размер и структура команды Команда R&D более 150 человек, из них 70% — технари География нашей компании США, Европа, Россия, Украина Условия: График работы: гибкий, 8-ми часовой рабочий день, 5 дней в неделю, Полностью удаленная работа Выплата заработной платы в $ на личный банковский счет (оклад) Оплачиваемый отпуск По всем вопросам можно писать [email protected] -
Решил по пробовать с++ на stm32, но наткнулся на то что он ругается на constexpr Error[Pe020]: identifier "constexpr" is undefined IAR вообше подеживает ? Какой версии ? Я пробовал на 7.50