/// <summary> /// This takes every frame received by the Leap Motion controller, and /// sends the Arduino a message using it. /// </summary> /// <param name="controller">The Leap Motion <c>Controller</c>.</param> public async override void OnFrame(Controller controller) { Frame frame = controller.Frame(); var message = MotionToNotes.Convert(frame); if (ArduinoSendTask != null) { await ArduinoSendTask; } ArduinoSendTask = Arduino.SendAsync(message); }
/// <summary> /// Creates a <c>LeapListener</c> that uses the given motion to notes /// converter, and the given <c>Arduino</c> interface controller. /// </summary> /// <param name="motionToNotes">The object to use to convert the Leap /// Motion data into notes.</param> /// <param name="arduino">The object to use to communicate with the /// Arduino.</param> public LeapListener(MotionToNotes motionToNotes, APS.Arduino.Arduino arduino) { MotionToNotes = motionToNotes; Arduino = arduino; }