Может digitalr чего-то подскажет.
По поводу переменной длинны: как я понял у функции передачи данных в RFM70 sendPayload(uint8_t * payload, uint8_t len, uint8_t toAck)
первый аргумент - данные, которые надо передать
второй - длинна передаваемых данных, соответственно количество байт первого аргумента должно (ну очень желательно) соответствовать второму аргументу
третий - как передать: просто выплюнуть и забыть, ждать подтверждения принятия или просьбы с повтором отсылки от приемника и т.д.
Соответственно receivePayload(uint8_t *payload) должна принять данные длиной равной второму аргументу функции sendPayload.
Мой немецкий друг такой же как и ваш. Просто это то, что мне удалось найти, на мой взгляд, толкового в google, в надежде побыстрей собрать и забыть, т.к. просто хотел попробовать идею на том что было под рукой, а дальше уже вдумчиво собирать. Принял байт по UART выплюнул в RFM70, принял с RFM70 записал в регистр сравнения таймера. Таймер настроен на ШИМ, вуаля и управление скважностью без проводов. Что казалось могло быть сложного?
Я этому другу написал в коменты, правда на английском, с немецким я вообще никак. Может что подскажет.


