SDK Communication¶
При использовании любого метода в FTC® SDK, который обращается к аппаратному обеспечению (установка мощности мотора, чтение энкодера, датчика и т.д.), отправляется LynxCommand.
Примечание
LynxCommands передаются не напрямую с Robot Controller на Expansion Hub через USB. В случае внешнего Expansion Hub они отправляются через USB на микросхему FTDI, которая преобразует USB-сигнал в UART. В Control Hub этот шаг с USB отсутствует — вместо этого плата Control Hub передает данные напрямую через UART на встроенный модуль Expansion Hub.
Предупреждение
Блокирующая природа LynxCommands (и, в частности, наличие монопольной блокировки master lock для каждого USB-устройства) означает, что многопоточные вызовы к аппаратным компонентам в лучшем случае бесполезны, а обычно — напрямую вредят производительности.
При использовании Android-телефона и Expansion Hub LynxCommands отправляются по USB; однако, при использовании Control Hub, LynxCommands отправляются по UART. Это очень важно, не только из-за повышенной надежности UART по сравнению с USB, но и потому, что LynxCommands занимают примерно 3 миллисекунды при использовании USB и примерно 2 миллисекунды при использовании UART.
Any expansion hubs connected via RS485 receive their commands via that connector. To get from the USB or UART to RS485 the parent Lynx hub has to retransmit the packets, but packets traveling over RS485 and passing through Lynx hubs do not. The added latency from this process isn’t significant, but there will be some added latency. Up to 255 expansion hubs can be connected together over RS485 in theory.
Примечание
Взаимодействие с устройствами I2C занимает существенно больше времени; свыше 7 миллисекунд по USB. Однако это происходит не потому, что каждые LynxCommands занимают больше времени, а потому, что для взаимодействия с I2C необходимо отправлять несколько LynxCommands.
Пожалуйста, обратите внимание, что начиная с версии 5.5 SDK, вызовы I2C на Control Hub происходят значительно быстрее, чем на Expansion Hub. Это связано с тем, что частота опроса была значительно увеличена, что позволяет сократить ненужное потраченное время.