С энкодерами в ORFA пока никак, хуже того с разъемами на OR-AVR-M128-S адекватными под энкодеры тоже пока никак - т.к. в ATMega128 почти все ноги с прерываниями заюзаны на всякие UART'ы, ШИМы и I2C. Оставшиеся два прерывания выведены на GP1/GP2. Оттуда в принципе их можно заюзать. Так что видимо когда будем делать энкодеры - придётся сделать еще и платку адаптер с разъемом RoboBus и 2 линиями на RoboGPIO.
Чет не понял, порты с прерыванием выведены в робобас? Так может замутить платку для подключения энкодеров, которая к робобасу будет подключаться? Или же можно попробовать по I2C (правда незнаю возможно ли это вообще)?
Инициализацию последовательного порта надо вынести после инициализации прочего HAL - чтобы автодетект выполнялся после того, как все устройства приведены в начальное состояние. Возможно, вынести gate_init() из SYSTEM_INIT() в main() ?
Нормальная формулировка, просто не надо предложение из контекста вырывать, там выше всё описано подробно. Хотя безусловно "задать" звучит понятней, надо будет поменять.