Ну это все дела "железячные", теперь надо о прошивке подумать.
Вижу две возможные концепции.
1. Повязка просто передает принятые пакеты, анализ пакета выполняет таг.
2. Пакет анализируется повязкой, таг просто стреляет пока патроны не кончатся либо пока повязка не скомандует "стоп".
Оба варианта имеют свои плюсы и минусы.
В первом случае очень легко использовать таг как в беспроводном так и в проводном режиме (или даже в обеих сразу, например подключив к тагу датчик "повреждения оружия").
Второй вариант позволяет не держать постоянно коннект с тагом, а лишь послать тагу "стоп" или "старт".
Это позволит, при желании, иметь дополнительный ствол, правда будет существенный лаг при отключении второго ствола, можно будет успеть произвести ещё несколько выстрелов "напоследок".
И вопрос - в каком виде передавать данные (ох как хотелось бы посмотреть, как у других реализовано
)?
Но увы!
Все любят подсмотреть, как у других, но мало кто готов поделиться своими наработками (особенно коммерсатны).
Се ля ви...
Склоняюсь к тестовому формату, то есть повязка преобразует принятый пакет (число) в строку и передает эту строку по блютусу. В таге происходит обратное преобразование строки в число.
Конечно, в "сыром" виде (передавать непосредственное значение), казалось бы, проще передавать и быстрее, но тут возникают некоторые тонкости.
Как определить окончание передачи пакета в этом случае?
Таймаут не годиться - все таки радиосвязь не так надежна и лаги могут возникать иногда.
Если использовать "маркер", то надо быть уверенным, что в самих данных никогда не будет передаваться байт со значением "маркера".
Так что буду пробовать сначала с текстовым форматом передачи пакета.