Elliot писал(а):
Сяп за участие я уже разобрался все заработало. Косяк был как обычно в резисторе , что на Rx сидит он у меня на земле сидел.
И еще косяк в настройках Бт модулей. Я настраивал по вашему гайду AT+uart=9600,1,2 так не работает модули не связываются, у меня стоит AT+uart=9600,0,0.Об этом еще дибор писал на 464 странице.
Теперь полезли хотелки с командами)).
Я добавил команду добавить обойму для умной перезарядки,но работает не так как надо.
Суть:
Есть магазин с atiny13, при вставке которого в тагер он шлет команду по ик каналу на внутренний TSOP 1 раз в 10 минут добавить 1 магазин,потом юзаешь перезарядку,чтоб прибавились патроны.
Это как должно работать.
Теперь как работает:
Таг принимает команду но прибавляет не только 1 магазин ,но еще и все патроны (сколько забито в настройках).
Кусок кода который я вставил в файл ltag_ascetic.c :
case Add_Rounds://добавить "патронов"
{
clips++;//увеличеваем на 1 количество обойм
bullets = eeprom_read_byte(&eeprom_bullets_in_clip);
display_clips_update();
display_bullets_update();
BULLETS_OUT_LED_OFF;
это скопированно из действия перезарядки только + а не -
я так понял эта строчка bullets = eeprom_read_byte(&eeprom_bullets_in_clip); чтение/запись в эпром ,а где сама функция перезарядки.
Я так понимаю надо добавлять куда то по аналогии с функцией перезарядки функцию смены магазина?
Или с этого можно выжать то что мне нужно?
bullets - это количество патронов в "вставленном" магазине.
Если нужно просто добавить обойму - закоментируйте эту строку
//bullets= eeprom_read_byte(&eeprom_bullets_in_clip);
тогда и display_bullets_update(); - лишнее, тоже можно закоментировать
//display_bullets_update();
Смена магазина, ни что иное, как
clips--;
bullets= eeprom_read_byte(&eeprom_bullets_in_clip);
То есть из загрузки вставили полный магазин, ну а
display_clips_update();
display_bullets_update();
обновление данных на экранчике.