Size: a a a

2020 June 04

AS

Andrew Strokov in Embedded Group
Ребят, привет, кто-нибудь уже работал с STM32WB, как впечатления от них?
источник

I

Ivan in Embedded Group
Добрый вечер. Коллеги, поделитесь своим опытом борьбы с дребезгом кнопок на уровне кода? Я раньше не запаривался и вызывал событие при первом же прерывании кнопки. А сейчас появилась задача обрабатывать нажатия разной длительности по-разному, поэтому хочу использовать другой способ: при первом прерывании от кнопки устанавливать таймер на ~10мс, и после этих 10 мс устанавливать ожидание прерывания по заднему фронту (когда пользователь отпустит кнопку), после чего вычислять длительность нажатия как время между первым и последним прерыванием. Есть подводные камни у такого подхода?
источник

VK

Valentin Kornienko in Embedded Group
Ivan
Добрый вечер. Коллеги, поделитесь своим опытом борьбы с дребезгом кнопок на уровне кода? Я раньше не запаривался и вызывал событие при первом же прерывании кнопки. А сейчас появилась задача обрабатывать нажатия разной длительности по-разному, поэтому хочу использовать другой способ: при первом прерывании от кнопки устанавливать таймер на ~10мс, и после этих 10 мс устанавливать ожидание прерывания по заднему фронту (когда пользователь отпустит кнопку), после чего вычислять длительность нажатия как время между первым и последним прерыванием. Есть подводные камни у такого подхода?
Гуглите статью "интерфейс- одна кнопка"
источник

I

Ivan in Embedded Group
Спасибо, прочту)
источник

СС

Сиие Сууие in Embedded Group
Ivan
Добрый вечер. Коллеги, поделитесь своим опытом борьбы с дребезгом кнопок на уровне кода? Я раньше не запаривался и вызывал событие при первом же прерывании кнопки. А сейчас появилась задача обрабатывать нажатия разной длительности по-разному, поэтому хочу использовать другой способ: при первом прерывании от кнопки устанавливать таймер на ~10мс, и после этих 10 мс устанавливать ожидание прерывания по заднему фронту (когда пользователь отпустит кнопку), после чего вычислять длительность нажатия как время между первым и последним прерыванием. Есть подводные камни у такого подхода?
немного офтопа - а вы сперва сами попробуйте нажать кнопку на 10 мс
источник
2020 June 05

СС

Сиие Сууие in Embedded Group
а дребезг лучше в цепях лечить, а не програмно
источник

СС

Сиие Сууие in Embedded Group
Ivan
Добрый вечер. Коллеги, поделитесь своим опытом борьбы с дребезгом кнопок на уровне кода? Я раньше не запаривался и вызывал событие при первом же прерывании кнопки. А сейчас появилась задача обрабатывать нажатия разной длительности по-разному, поэтому хочу использовать другой способ: при первом прерывании от кнопки устанавливать таймер на ~10мс, и после этих 10 мс устанавливать ожидание прерывания по заднему фронту (когда пользователь отпустит кнопку), после чего вычислять длительность нажатия как время между первым и последним прерыванием. Есть подводные камни у такого подхода?
да есть, если у вас будет не нажатие а непонятный скачёк на менее чем 10 мс и заднего фронта у вас не будет(так как он уже был)
источник

RK

Rasul Kishov in Embedded Group
Ivan
Добрый вечер. Коллеги, поделитесь своим опытом борьбы с дребезгом кнопок на уровне кода? Я раньше не запаривался и вызывал событие при первом же прерывании кнопки. А сейчас появилась задача обрабатывать нажатия разной длительности по-разному, поэтому хочу использовать другой способ: при первом прерывании от кнопки устанавливать таймер на ~10мс, и после этих 10 мс устанавливать ожидание прерывания по заднему фронту (когда пользователь отпустит кнопку), после чего вычислять длительность нажатия как время между первым и последним прерыванием. Есть подводные камни у такого подхода?
Я обычно делаю так.
В лупе делаю не блокирующие код проверки входа. Если на входе будет логический ноль (или единица, если по схеме при нажатии появляется лог 1) больше чем, например, 20 мс, то кнопка считается нажатой.
Недостатки у такого подхода очевидные. Обработка кнопок не работает, когда исполняется блокирующий на десятки мс код (но хорошая практика такое избегать и в большинстве случаев это получается делать). Расход времени процессора на опрос входа кнопки и на таймер, который измеряет миллисекунды, обычно по прерыванию (в зависимости от его реализации). Ещё нужно помнить, что такой вариант будет постоянно вызывать код привязанный к нажатию кнопки, если кнопка удерживается. Нужно его немного усложнить, чтобы этого не было.
Если нужно сделать без опроса, то я храню в обработчике прерывания этой кнопки время его последнего вызова (в переменной static) и при обработке делаю примерно то же, что и было в предыдущем примере. Конкретная реализация зависит от архитектуры и того, как должна себя вести кнопка. Чаще всего я просто проверяю вызывался ли обработчик последние 20 мс. Если да, то игнорирую прерывание и обновляю эту переменную со временем вызова.
Если что, постучись завтра в личку, могу поделиться примерами)
источник

NK

ID:0 in Embedded Group
#вакансия #офис #Питер #СанктПетербург
Привет!

➕Я ищу уверенного С++ разработчика, шарящего в Unreal Engine, в компанию MedVR, на проект по улучшению крутого медицинского продукта. Проекту 6 месяцев, он на стадии рабочего прототипа, уже был релиз.

💻MedVR - резиденты Сколково. Уже 3 года они продвигают медицину будущего и создают VR симуляторы (лапароскопические симуляторы, виртуальная клиника, микрохирургия и др.) с использованием различных сиcтем трекинга, в том числе fullbody трекинга.
👬В команде сейчас 6 человек, планируют взять в команду ещё двоих разработчиков. В команде царит творческая атмосфера, которая позволит осуществить любую идею.

⚙️Тебе скажут да, если:
•  Ты ты работал с Unreal Engine более 1 года и больше 3 лет пишешь на С++;
•  Ты умеешь находить общий язык с коллегами.
Большим плюсом будет:
•  Знание Qt;
•  Владение английским языком.

💻Для тебя есть:
•  ЗП до 160000руб;
•  Уникальное оборудование;
• Офис с плюшками на ст.м. Площадь Ленина.

🏥Хочешь внести огромный вклад в развитие медицины, тестируя VR-шлемы?
Тогда пиши мне! @polinathin
источник

N

Nyah in Embedded Group
вот такая хрень выскочила в рекламной рекомендации от яндекса
источник

N

Nyah in Embedded Group
угадаете для чего это? для накруточного монтажа? бредбоард наоборот?
нет. это для лечения, нужно прикладывать к больным местам. (Заряжаем воду по телевизору 3.0)
источник

В

Витька Корнеев... in Embedded Group
Nyah
угадаете для чего это? для накруточного монтажа? бредбоард наоборот?
нет. это для лечения, нужно прикладывать к больным местам. (Заряжаем воду по телевизору 3.0)
Потомок люстры Чижевского
источник

VK

Viacheslav Kaloshin in Embedded Group
Nyah
вот такая хрень выскочила в рекламной рекомендации от яндекса
А генератор синуса почем?
источник

N

Nyah in Embedded Group
примерно так же, чтобы пенсионеры смогли накопить , мне кажется
источник

VK

Viacheslav Kaloshin in Embedded Group
Загуглил http://altenergy4u.ru - 5000 всего
источник

w

whoami in Embedded Group
Nyah
угадаете для чего это? для накруточного монтажа? бредбоард наоборот?
нет. это для лечения, нужно прикладывать к больным местам. (Заряжаем воду по телевизору 3.0)
а генератор синуса зачем?
источник

w

whoami in Embedded Group
и почему именно синусоидальный сигнал нужен?
источник

VK

Viacheslav Kaloshin in Embedded Group
Там ещё есть про меандр слова
источник

A

Alexey in Embedded Group
whoami
и почему именно синусоидальный сигнал нужен?
Потому что это гармоническая функция! Гармония!
источник

N

Nyah in Embedded Group
whoami
и почему именно синусоидальный сигнал нужен?
я не знаю ,спросите у создателя, может синус лучше способствует плацебным процессам в организме
источник