instruction method

dynamic instruction(
  1. dynamic instructionIn, [
  2. Function? dataFromRobot,
  3. dynamic dataToSend
])

Instruction

Implementation

instruction(var instructionIn, [Function? dataFromRobot, dynamic dataToSend]) {
  // send
  try {
    var instructionJSON =
    json.encode(TypeModelClient(instruction: instructionIn, data: dataToSend).toJson());

    _socket.add(utf8.encode(instructionJSON));
    log('$_tag, added $instructionJSON to socket');

    /// Listener
    //read data from response pi
    _socket.listen((List<int> event) {
      log('$_tag,  pi response = ${utf8.decode(event)}');
      var piResponse = utf8.decode(event);

      if (piResponse.contains('distance')) {
        TypeModelClient data = TypeModelClient.fromJson(json.decode(piResponse));
        dataFromRobot!(data);
      }

      // });
    }, onDone: () => {_socket.destroy(), log("$_tag socket destroy")});
  } on Exception catch (exception) {
    log('$_tag Something goes wrong adding stream ${exception.toString()}');
    socketClose();
  }
}