PCCar.ru - Ваш автомобильный компьютер


Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > AndroidCar

Ответ
 
Опции темы
Старый 10.09.2017, 20:41   #781
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 41
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia Tour && ̶F̶F̶3̶ && Skoda Octavia A5 FL
Сообщений: 449
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Rover Посмотреть сообщение
А как скетч поправить, чтобы при длительном нажатии кнопки, эмулирующем AltTab вызвать RESET ардуины?
Вначале нужно впаять перемычке между входом RST и цифровым входом/выходом, например 3-им.
В самом начале setup добавляете digitalWrite(3, HIGH);, вот так:
PHP код:
void setup()

digitalWrite(3HIGH);
analogReference(DEFAULT); // подключение внутреннего напряжение AVCC к выводу AREF (опорное напряжение)  
Keyboard.begin();   

далее добавляем digitalWrite(3, LOW); на удержание Alt+Tab:
PHP код:
//********************** AltTab + Ещё что то ************************************   

if(millis()-eventTime<time_tinkling && millis()-eventTime<time_holding-&& data >= alt_tab button_range && data <= alt_tab button_range)  
{   
flag 1;  
}  

if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == && pauseMillis == 0)  
{  
Keyboard.press(KEY_LEFT_ALT);  
Keyboard.press(KEY_TAB);  
Keyboard.release(KEY_TAB);  
Keyboard.press(KEY_TAB);  
Keyboard.release(KEY_TAB);  
flag 0;  
pauseMillis millis();  
}  

if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == && pauseMillis != 0)  
{  
Keyboard.press(KEY_TAB);  
Keyboard.release(KEY_TAB);  
flag 0;  
pauseMillis millis();  
}  

if(
pauseMillis && millis()-pauseMillis >= 800 && data>=release_button button_release_range && data<=release_button button_release_range)  
{  
flag 0;  
pauseMillis 0;  
Keyboard.releaseAll();  
}  

if(
millis()-eventTime>time_holding && data >= alt_tab button_range && data <= alt_tab button_range && flag == 1)  
{  
digitalWrite(3LOW);
//flag = 0;  

Но всё это, какой-то кривой "костыль".
Цитата:
Сообщение от oleg707 Посмотреть сообщение
если ты сделаешь команду delay(10000); то ватчдог вроде должен сработать. Уже не помню свои опыты.
https://geektimes.ru/post/255800/
Ардуина не зависает, а просто не определяется 10-ой виндой.

Последний раз редактировалось lti1; 13.09.2017 в 22:24.
lti1 на форуме   Ответить с цитированием
Старый 12.09.2017, 21:21   #782
Rover
Старший Пользователь
 
Аватар для Rover
 
Регистрация: 14.11.2009
Город: г. Жуковский
Регион: 50, 90, 150
Сообщений: 259
Rover is a jewel in the roughRover is a jewel in the roughRover is a jewel in the rough
По умолчанию

[QUOTE=lti1;392076]
Но всё это, какой-то кривой "костыль".

Кривой. Но эта поблема с ардуиной и вин 10 не только у меня:
http://arduino.ru/forum/apparatnye-v...comment-133389
Вот вроде бы решение:
https://github.com/arduino/Arduino/issues/3611

возможно ли его применить к нашему конкретному случаю?
Rover вне форума   Ответить с цитированием
Старый 13.09.2017, 17:59   #783
Rover
Старший Пользователь
 
Аватар для Rover
 
Регистрация: 14.11.2009
Город: г. Жуковский
Регион: 50, 90, 150
Сообщений: 259
Rover is a jewel in the roughRover is a jewel in the roughRover is a jewel in the rough
По умолчанию

lti1, я пока временно прописал перезагрузку вместо Mute

//********************** Play/pause + Mute ************************************

if(millis()-time_tinkling && millis()-eventTime<time_holding-1 && data >= play_pause - button_range && data <= play_pause + button_range)
{
flag = 7;
}

if(data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 7)
{
Remote.play_pause();
flag = 0;
delay(10);
Remote.clear();
}

if(millis()-eventTime>time_holding && data >= play_pause - button_range && data <= play_pause + button_range && flag == 7)
{
digitalWrite(3, HIGH);
}


if(data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 3 || data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 5 || data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 6)
{
flag = 0;
}





Работает А можно дополнить AltTab длинным нажатием , сохранив сам AltTab?
А то делаю, как прописали - ничего не выходит ,а мне этой кнопкой пользоваться удобнее
Rover вне форума   Ответить с цитированием
Старый 13.09.2017, 22:28   #784
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 41
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia Tour && ̶F̶F̶3̶ && Skoda Octavia A5 FL
Сообщений: 449
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Rover, забыл уже свой код, так много лет прошло .
Подправил своё предыдущее сообщение.
Вот так должно быть:
PHP код:
if(millis()-eventTime>time_holding && data >= alt_tab button_range && data <= alt_tab button_range && flag == 1)   
{   
digitalWrite(3LOW); 
//flag = 0;   

lti1 на форуме   Ответить с цитированием
Старый 21.09.2017, 21:04   #785
pine
Пользователь
 
Регистрация: 26.12.2013
Возраст: 36
Город: Москва
Регион: 77, 97, 99, 177
Машина: Mercury Mariner 2.5 2011
Сообщений: 99
pine is just really nicepine is just really nicepine is just really nicepine is just really nice
По умолчанию

Я тут немножко полностью перелопатил код для адаптера кнопок. Используется все та же библиотека Tablet, но структура кода больше похожа на классическую реализацию конечного автомата. Да, так длиннее, но как по мне - это более читабельно, чем непонятные числовые флаги Кучка switch-case в функциях состояний - для единообразия. Чуть позже перепишу в типовые функции onPress, onRelease, onHold.

Общий GitHub репозиторий тут

Конкретно исходник скетча тут

Алгоритм работы
- состояние кнопок опрашивается каждые 50 мс
- исходное состояние конечного автомата - NOBUTTON
- если нажали какую-то кнопку, то переходим в состояние соответствующее этой кнопке (см функцию noButton() )
- каждая функция типа noButton(), prev(), next() и т.п. - состояние, параметр buttonState - переход в новое состояние

Как работает с точки зрения пользователя
- если нажали и отпустили кнопки NEXT или PREV быстрее чем 250 мс - переключились между треками
- если держим PREV или NEXT - каждые 250 мс перематываем
- громкость увеличивается или уменьшается каждые 250 мс
- Play/Pause нажимается при отпускании кнопки Play/Pause (для устранения ложных срабатываний)

Alt-Tab и прочее не реализовано ввиду ненужности лично мне, но пулл-реквесты принимаются.
pine вне форума   Ответить с цитированием
Старый 14.10.2017, 17:42   #786
Antoxa
Новый Пользователь
 
Аватар для Antoxa
 
Регистрация: 01.08.2017
Возраст: 28
Город: Ташкент
Регион: другой - для добавления сообщить ab
Машина: Captiva
Сообщений: 13
Antoxa is on a distinguished road
По умолчанию

Создал аналогичную тему, в данной тебе постараемся разобрать как подключить резистивную клавиатуру через Bluetooth. Сам пока не силен в данном вопросе, поэтому знатоков приглашаю дать мастер класс.
http://pccar.ru/showthread.php?p=393326#post393326
Antoxa вне форума   Ответить с цитированием
Старый 31.10.2017, 01:36   #787
Antoxa
Новый Пользователь
 
Аватар для Antoxa
 
Регистрация: 01.08.2017
Возраст: 28
Город: Ташкент
Регион: другой - для добавления сообщить ab
Машина: Captiva
Сообщений: 13
Antoxa is on a distinguished road
По умолчанию

Цитата:
Сообщение от Antoxa Посмотреть сообщение
Создал аналогичную тему, в данной тебе постараемся разобрать как подключить резистивную клавиатуру через Bluetooth. Сам пока не силен в данном вопросе, поэтому знатоков приглашаю дать мастер класс.
http://pccar.ru/showthread.php?p=393326#post393326
Ребят помогите пожалуйста, в ардуинках не силен, но сей девайс собрать очень хочется.
Antoxa вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 03:09.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Яндекс.Метрика