setup method

Future<bool> setup(
  1. PrintingMode mode,
  2. PaperType paper,
  3. int heightMm,
  4. int widthMm,
  5. int gapMm, {
  6. int? blackness,
  7. int? speed,
  8. int? topMm,
})

Implementation

Future<bool> setup(final PrintingMode mode, final PaperType paper,
    final int heightMm, final int widthMm, final int gapMm,
    {int? blackness, int? speed, int? topMm}) async {
  String cmd = _printingModeToCommand(mode);
  switch (paper) {
    case PaperType.labelWithGap:
      cmd = "$cmd^Q$heightMm,$gapMm\r\n^W$widthMm\r\n";
      break;
    case PaperType.plainPaper:
      cmd = "$cmd^Q$heightMm,0,$gapMm\r\n^W$widthMm\r\n";
      break;
    case PaperType.blackMarkLabel:
      topMm ??= 0;
      cmd = "$cmd^Q$heightMm,$gapMm,$topMm\r\n^W$widthMm\r\n";
      break;
  }
  if (blackness != null) {
    if (blackness < 0) blackness = 0;
    if (blackness > 19) blackness = 19;
    cmd = "$cmd^H$blackness\r\n";
  }
  if (speed != null) {
    if (speed < 2) speed = 2;
    if (speed > 7) speed = 7;
    cmd = "$cmd^S$speed\r\n";
  }
  return _sendFunction(utf8.encode(cmd));
}