Skip to content

[Feature Request] Controlled shutdown for Hot Start. #203

@Eric-FR

Description

@Eric-FR

Subject of the issue

In order to take advantage of Hot Start with F9P and F9R (and maybe some others chips), one have to perform a controlled GNSS stop with BBR storage of parameters before power off. Hot Start may be very valuable (time saving) with F9R by avoiding or reducing IMU calibration and alignment process. This must be done with the UBX-CFG-RST command. Can this be added to the library?

Suggestion

void SFE_UBLOX_GNSS::controlledGNSSStop()
{
  // Issue controlled GNSS stop
  // Necessary for Hot Start after power off
  packetCfg.cls = UBX_CLASS_CFG;
  packetCfg.id = UBX_CFG_RST;
  packetCfg.len = 4;
  packetCfg.startingSpot = 0;
  payloadCfg[0] = 0;          // hot start
  payloadCfg[1] = 0;          // hot start
  payloadCfg[2] = 0x08;       // 0x08 = Controlled GNSS stop
  payloadCfg[3] = 0;          // reserved
  sendCommand(&packetCfg, 0); // don't expect ACK
}

In opposite, I would also like to force Cold Start like:

void SFE_UBLOX_GNSS::forcedColdStart()
{
  // Issue Controlled software reset with BBR clearing
  packetCfg.cls = UBX_CLASS_CFG;
  packetCfg.id = UBX_CFG_RST;
  packetCfg.len = 4;
  packetCfg.startingSpot = 0;
  payloadCfg[0] = 0xFF;        // cold start
  payloadCfg[1] = 0xFF;        // cold start
  payloadCfg[2] = 0x01;       // Controlled software reset
  payloadCfg[3] = 0;            // reserved
  sendCommand(&packetCfg, 0); // don't expect ACK
}

(And, overall, is there a general process to trigger a command like UBX-CFG-RST with user parameters and not defining a function for each case?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions