instruction method
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();
}
}