queryStatusReport = () => {
        // Check the ready flag
        if (!(this.ready)) {
          return;
        }

        const now = new Date().getTime();

        // The status report query (?) is a realtime command, it does not consume the receive buffer.
        const lastQueryTime = this.actionTime.queryStatusReport;
        if (lastQueryTime > 0) {
          const timespan = Math.abs(now - lastQueryTime);
          const toleranceTime = 5000; // 5 seconds

          // Check if it has not been updated for a long time
          if (timespan >= toleranceTime) {
            log.debug(`Continue status report query: timespan=${timespan}ms`);
            this.actionMask.queryStatusReport = false;
          }
        }

        if (this.actionMask.queryStatusReport) {
          return;
        }

        if (this.isOpen()) {
          this.actionMask.queryStatusReport = true;
          this.actionTime.queryStatusReport = now;
          this.connection.write('?');
        }
      }
Handle the scenario where a startup message is not received during UART communication.
A status query (?) will be issued in the `queryActivity` function.