按照原厂的设计,有些SBF块的输出速率是可定义的,如GNSS测量块、PVT块和INS/GNSS集成块等,称之为"Flex Rate",有些只能以默认速率输出,如GPSNav块。对于那些不支持“Flex rate”的块,试图强制使用比默认速率更高的速率输出是没有效果的:这些区块总是以默认速率输出(OnChange)。下表(手册附录B)给出了部分块是否支持Flex rate
观察上表可知,有些子块(如GPSNav),虽然不支持Flex Rate,但是它支持esoc(命令exeSBFOnce缩写),给出esoc语法如下:
如:esoc, COM1, GPSNav <CR>表示立即从com1设置输出一次GPSNav。
如果我们每秒上传该命令至接收机,那么接收机则能每秒输出GPSNav,纵使它是OnChange,也得乖乖输出星历,强行掰弯。
使用setSBFOutput可以在以指定的间隔输出一组SBF块,语法如下
Interval参数定义了Messages参数中指定的SBF块的输出速率。如果设置为off,则禁用SBF块。如果设置为OnChange,则SBF块以默认速率输出。如果指定了特定的时间间隔(如sec1),则SBF块从其默认更新速率抽取到指定的时间间隔。有些块只能以其默认更新速率输出(例如GPSNav块)。对于这些块,接收方忽略Interval参数的值,并始终假设为OnChange。