Как поменять кнопку на оживление:
Открываем файл ltag_ascetic.c в исходниках, находим эту конструкцию
Код:
else
{
lcd_bl_off();
display_status();
while(keypress_cntr < 20)
{
WOUND_LED_INVERT;
timer1 = 0;
while (timer1 < 10000);
switch (FIRE_KEY_IN&FIRE_KEY_PIN) //ïðîâåðÿåì, íàæàò ëè êóðîê
{
case 0: keypress_cntr++ ; break;
case FIRE_KEY_PIN: keypress_cntr = 0; break;
default: keypress_cntr = 0;
}
}
}
Вместо FIRE_KEY_IN&FIRE_KEY_PIN прописываем кнопку, которую хотим использовать для "оживления", например, для центральной кнопки джойстика будет так
Цитата:
CENTRAL_KEY_IN&CENTRAL_KEY_PIN
Код:
else
{
lcd_bl_off();
display_status();
while(keypress_cntr < 20)
{
WOUND_LED_INVERT;
timer1 = 0;
while (timer1 < 10000);
switch (CENTRAL_KEY_IN&CENTRAL_KEY_PIN) //ïðîâåðÿåì, íàæàò ëè êóðîê
{
case 0: keypress_cntr++ ; break;
case CENTRAL_KEY_PIN: keypress_cntr = 0; break;
default: keypress_cntr = 0;
}
}
}
Должно работать.
Необходимая длительность нажатия регулируется тут
Код:
while(keypress_cntr < 20)
и тут
Код:
while (timer1 < 10000);
то есть задерхка 20*10000 "тиков" таймера с частотой 2xF0 кГц (удвоенная частота несущей ИК).
Число 10000 так же влияет на частоту мигания диодов повязки, чем меньше число, тем чаще повязка будет мигать.
Ставьте, сколько пожелаете.
Можно, конечно, и по событию "нажатие центральной кнопки" сделать, чуть позже перепишу, покажу как сделать и такой вариант.
P.S. В следующий своих прошивках поменял работу таймера. Все что тут описано, касается прошивки 3 релиза из репозитория.