mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-21 01:53:34 +08:00
Sped up MTK configuration but the detection time can still be improved: timeouts/usleeps
This commit is contained in:
+20
-14
@@ -49,6 +49,7 @@
|
|||||||
|
|
||||||
|
|
||||||
MTK::MTK() :
|
MTK::MTK() :
|
||||||
|
_config_sent(false),
|
||||||
_mtk_revision(0)
|
_mtk_revision(0)
|
||||||
{
|
{
|
||||||
decodeInit();
|
decodeInit();
|
||||||
@@ -67,24 +68,29 @@ MTK::reset()
|
|||||||
void
|
void
|
||||||
MTK::configure(const int &fd, bool &baudrate_changed, unsigned &baudrate)
|
MTK::configure(const int &fd, bool &baudrate_changed, unsigned &baudrate)
|
||||||
{
|
{
|
||||||
if (strlen(MTK_OUTPUT_5HZ) != write(fd, MTK_OUTPUT_5HZ, strlen(MTK_OUTPUT_5HZ)))
|
if (_config_sent == false) {
|
||||||
warnx("mtk: config write failed");
|
|
||||||
usleep(10000);
|
|
||||||
|
|
||||||
if (strlen(MTK_SET_BINARY) != write(fd, MTK_SET_BINARY, strlen(MTK_SET_BINARY)))
|
if (strlen(MTK_OUTPUT_5HZ) != write(fd, MTK_OUTPUT_5HZ, strlen(MTK_OUTPUT_5HZ)))
|
||||||
warnx("mtk: config write failed");
|
warnx("mtk: config write failed");
|
||||||
usleep(10000);
|
usleep(10000);
|
||||||
|
|
||||||
if (strlen(SBAS_ON) != write(fd, SBAS_ON, strlen(SBAS_ON)))
|
if (strlen(MTK_SET_BINARY) != write(fd, MTK_SET_BINARY, strlen(MTK_SET_BINARY)))
|
||||||
warnx("mtk: config write failed");
|
warnx("mtk: config write failed");
|
||||||
usleep(10000);
|
usleep(10000);
|
||||||
|
|
||||||
if (strlen(WAAS_ON) != write(fd, WAAS_ON, strlen(WAAS_ON)))
|
if (strlen(SBAS_ON) != write(fd, SBAS_ON, strlen(SBAS_ON)))
|
||||||
warnx("mtk: config write failed");
|
warnx("mtk: config write failed");
|
||||||
usleep(10000);
|
usleep(10000);
|
||||||
|
|
||||||
if (strlen(MTK_NAVTHRES_OFF) != write(fd, MTK_NAVTHRES_OFF, strlen(MTK_NAVTHRES_OFF)))
|
if (strlen(WAAS_ON) != write(fd, WAAS_ON, strlen(WAAS_ON)))
|
||||||
warnx("mtk: config write failed");
|
warnx("mtk: config write failed");
|
||||||
|
usleep(10000);
|
||||||
|
|
||||||
|
if (strlen(MTK_NAVTHRES_OFF) != write(fd, MTK_NAVTHRES_OFF, strlen(MTK_NAVTHRES_OFF)))
|
||||||
|
warnx("mtk: config write failed");
|
||||||
|
|
||||||
|
_config_sent = true;
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,7 +99,8 @@ private:
|
|||||||
*/
|
*/
|
||||||
void addByteToChecksum(uint8_t);
|
void addByteToChecksum(uint8_t);
|
||||||
|
|
||||||
mtk_decode_state_t _decode_state;
|
mtk_decode_state_t _decode_state;
|
||||||
|
bool _config_sent;
|
||||||
uint8_t _mtk_revision;
|
uint8_t _mtk_revision;
|
||||||
uint8_t _rx_buffer[MTK_RECV_BUFFER_SIZE];
|
uint8_t _rx_buffer[MTK_RECV_BUFFER_SIZE];
|
||||||
unsigned _rx_count;
|
unsigned _rx_count;
|
||||||
|
|||||||
Reference in New Issue
Block a user