setPresetCruisePlan method

Future<bool> setPresetCruisePlan({
  1. required List records,
  2. required int enable,
  3. int timeout = 5,
})

Implementation

Future<bool> setPresetCruisePlan(
    {required List records, required int enable, int timeout = 5}) async {
  bool ret = await _command.writeCgi(
      "trans_cmd_string.cgi?cmd=2017&command=10&mark=781698&"
      "preset_cruise_plan1=${records[0]}&"
      "preset_cruise_plan2=${records[1]}&"
      "preset_cruise_plan3=${records[2]}&"
      "preset_cruise_plan4=${records[3]}&"
      "preset_cruise_plan5=${records[4]}&"
      "preset_cruise_plan6=${records[5]}&"
      "preset_cruise_plan7=${records[6]}&"
      "preset_cruise_plan8=${records[7]}&"
      "preset_cruise_plan9=${records[8]}&"
      "preset_cruise_plan10=${records[9]}&"
      "preset_cruise_plan11=${records[10]}&"
      "preset_cruise_plan12=${records[11]}&"
      "preset_cruise_plan13=${records[12]}&"
      "preset_cruise_plan14=${records[13]}&"
      "preset_cruise_plan15=${records[14]}&"
      "preset_cruise_plan16=${records[15]}&"
      "preset_cruise_plan17=${records[16]}&"
      "preset_cruise_plan18=${records[17]}&"
      "preset_cruise_plan19=${records[18]}&"
      "preset_cruise_plan20=${records[19]}&"
      "preset_cruise_plan21=${records[20]}&"
      "preset_cruise_plan_enable=$enable&",
      timeout: timeout);
  if (ret) {
    CommandResult result =
        await _command.waitCommandResult((int cmd, Uint8List data) {
      if (cmd == 24785) {
        String str = utf8.decode(data);
        return str.contains("cmd=2017;") && str.contains("command=10;");
      }
      return false;
    }, timeout);
    if (result.isSuccess) {
      Map data = result.getMap();
      if (data["result"] == "0") {
        return true;
      }
    }
  }
  return false;
}