![]() |
Jun 14 2006, 05:28 AM
Post
#1
|
|
|
Extremely Active Premium Member ![]() Posts: 362 Joined: 6-August 04 From: Gurnee Illinois Member No.: 584 Using LabVIEW Since:1997 LV:8.5 ,8.2.1 ,7.1
|
Greetings LAVA members
the coding challenge committee:... ![]() ![]() [attachment=2934attachment] ![]() ![]() [attachment=2940attachment] ...would like to announce the next LAVA coding challenge. We are going to change things around for this challenge. Instead of having judges choose a final winner we are going to ask the LAVA members to vote on the final choice. Review Format: Here is how the coding challenge format will work.
The challenge that the committee has selected is called "Mouse Gestures". A mouse gesture is a technique used in a user interface that combines mouse movements and clicks. The software interprets these actions into application commands. Mouse Gestures allow quick access to programmable commands without the need for keyboard strokes or menus. The task of the Mouse Gesture Application Interface (MGAPI) is to return to its calling application the detected gesture string. It does this by tracking the mouse trajectory on the caller's front panel between the mouse down and up events. It translates the trajectory into a series of string characters to be returned to the application. The string characters are identified as follows; U for Up D for Down R for Right L for Left, The 4 diagonal directions are identified by the corresponding numbers on the numeric keypad. 1 for Down Left 3 for Down Right 7 for Up Left 9 for Up Right For example, if the users presses the Mouse button and draws a "Z" on screen and then releases the button, the MGAPI returns the final string of "R1R". Note: Mouse Gestures are not about pattern recognition but about mapping the mouse movements to a simple set of string characters. Install the Firefox Mouse Gestures extension to see it at work. Challenge Framwork: The Mouse Gestures challenge will consist of two parts a technical part and a creative part. 1:MGAPI:(MG Test vi) The first part will be to create a MGAPI and place it inside a Test VI supplied by the committee. This will give the committee a standard platform to test all submissions fairly. The committee will use the test VI along with other tools to evaluate the MGAPI to the following criteria.
MGAPI_Test_Vis_6.1_to_8.01.zip ( 63.22K )
Number of downloads: 3942:Application of MGAPI(MG Application vi) The second or creative part will be to build a LabVIEW application that makes the best use of the MGAPI. This could be anything that you can think of as long as it uses the same MGAPI as was used in the test vi. Remember you are trying to impress your LAVA peers so the cooler the better. Both the MGAPI and final application will be evaluated by the committee when selecting the top 5. Minimum Requirements: For the Mouse Gesture challenge, the minimum requirements are as follows:
These Items although not mandatory should be considered when developing the MGAPI
Prize: Submissions: The deadline for all submissions is Aug-20-2006. The final submission should consist of a ZIP file containing the two main vis (MG Test vi and MG Application vi) along with all of the support files and VI's. Warning, ONLY ZIP files will be acceptable as attachments. Please e-mail the final ZIP file to: codingchallenge@lavag.org. Multiple submissions are acceptable. In the subject of the email please write MG Challenge followed by your LAVA user name. Example: MG Challenge joe_user Please Do not post submissions to this thread. Please use a valid email address that you check often so we can contact you for possible missing VI's or questions. You CAN post questions to this thread. Finally, My thanks to the committee for all there past, present and future help. mballa
Attached image(s)
-------------------- If you are interested in Time saving programming
tools created in LabVIEW then download my Icon Editor Updated July 7th 08 and my SubVI Helper Updated Jan 7th 08 Tags
This content has not been tagged yet
|
|
|
|
| Ad |
Jun 14 2006, 05:28 AM
Post
#
|
|
|
Tags
This content has not been tagged yet
|
|
|
|
Jun 24 2006, 09:07 PM
Post
#2
|
|
![]() Extwemely Active Premium Member ![]() Posts: 1594 Joined: 23-January 05 From: Here Member No.: 1431 Using LabVIEW Since:2003 LV:7.0 ,7.1 ,.
|
Great challenge, and I'm happy to say that I've completed the basic part of my API and am thinking of some cool apps, but I do have a couple of questions.
1. The challenge states that my application HAS to use the same API as the test VI. This strikes me as very limited. I would much rather extend my API and use more powerful features in my application. Is this not a possiblity? 2. Both dynamic events and the mouse input VIs were not available in 6.1, so obviously there's no way to make it really portable in 6.1 without writing some external code (which is not allowed by the rules -------------------- More than meets the eye...
Tags
This content has not been tagged yet
|
|
|
|
Jun 24 2006, 10:06 PM
Post
#3
|
|
![]() I'm a LAVA, not a fighter. V I Engineering, Inc. ![]() Posts: 3637 Joined: 13-October 03 From: Michigan, USA Member No.: 181 Using LabVIEW Since:1993 LV:8.5 ,. ,.
My Blog
|
Great challenge, and I'm happy to say that I've completed the basic part of my API and am thinking of some cool apps That's what we like to hear - glad that it's stimulating your mind The challenge states that my application HAS to use the same API as the test VI. The reason we chose a simgle API for all entries is that of a level playing field - as you can see from the announcement positing, there are a number of judges involved in selecting the final five, and we felt that placing this limit on entries allows us all to have a baseline - a frame of reference - to assess your entries on. For your entry to be valid, it must work with the template API, although once this is all over and the winners announced, by all means: go nuts! You might even find someone else's submission better than yours, which will give you an even better platform to create a new version from. Both dynamic events and the mouse input VIs were not available in 6.1, so obviously there's no way to make it really portable in 6.1 without writing some external code. Although using the event structure and mouse input VIs are native to versions above 6.1, there may be methods that you can use to complete the tasks with 6.1 (I'm not saying there are, nor am I saying there aren't -------------------- ![]() Tags
This content has not been tagged yet
|
|
|
|
Jun 24 2006, 11:32 PM
Post
#4
|
|
![]() Extwemely Active Premium Member ![]() Posts: 1594 Joined: 23-January 05 From: Here Member No.: 1431 Using LabVIEW Since:2003 LV:7.0 ,7.1 ,.
|
...we felt that placing this limit on entries allows us all to have a baseline - a frame of reference - to assess your entries on. For your entry to be valid, it must work with the template API... Does that mean that the only way for me to output the results to my application (not to the test VI) is through those 2 strings? Can't I use anything else?I suppose I could output those strings to a mediator and use that to generate what I want, but that seems rather ridiculous. I would really rather add more options into my interface now (while still keeping the stings, of course) because I haven't managed to find an application where this will really be useful yet and I don't know if I'll use this after the challenge. -------------------- More than meets the eye...
Tags
This content has not been tagged yet
|
|
|
|
Jun 26 2006, 03:35 AM
Post
#5
|
|
|
Extremely Active Premium Member ![]() Posts: 362 Joined: 6-August 04 From: Gurnee Illinois Member No.: 584 Using LabVIEW Since:1997 LV:8.5 ,8.2.1 ,7.1
|
Great challenge, Thank you. 1. The challenge states that my application HAS to use the same API as the test VI. This strikes me as very limited. I would much rather extend my API and use more powerful features in my application. Is this not a possiblity? One of The reasons why we want the same API used in the test vi as in the application is to help show Ease of portability. One of the attributes that we feel makes a good API is how easy it is to insert into another application. Adding additional functionality beyond the requirements is fine but the API as a whole should be transportable to other applications. 2. Both dynamic events and the mouse input VIs were not available in 6.1, so obviously there's no way to make it really portable in 6.1 without writing some external code (which is not allowed by the rules We wanted to let anyone with version 6.1 or greater be able to participate if they wished. A submission written in any of these Version is acceptable. Does that mean that the only way for me to output the results to my application (not to the test VI) is through those 2 strings? Can't I use anything else? I suppose I could output those strings to a mediator and use that to generate what I want, but that seems rather ridiculous. I would really rather add more options into my interface now (while still keeping the stings, of course) The strings are to insure a minimum requirement and give the committee a standard interface to use for testing. They do not have to define the Functionality of the API. It is not required that the string outputs be the only way that the API transmits it's information. The string outputs must be a part of the API. -------------------- If you are interested in Time saving programming
tools created in LabVIEW then download my Icon Editor Updated July 7th 08 and my SubVI Helper Updated Jan 7th 08 Tags
This content has not been tagged yet
|
|
|
|
Jun 26 2006, 07:52 AM
Post
#6
|
|
![]() Extwemely Active Premium Member ![]() Posts: 1594 Joined: 23-January 05 From: Here Member No.: 1431 Using LabVIEW Since:2003 LV:7.0 ,7.1 ,.
|
The strings are to insure a minimum requirement and give the committee a standard interface to use for testing. They do not have to define the Functionality of the API. It is not required that the string outputs be the only way that the API transmits it's information. The string outputs must be a part of the API. That's what I wanted to hear. Thanks.P.S. I missed some words in my reference to 6.1 - I meant to say that there is no way to make it truly independent from the calling VI and portable without writing external code and compiling it for every target (at least none that I could think of, which isn't to say that there isn't). This post has been edited by yen: Jun 26 2006, 07:58 AM -------------------- More than meets the eye...
Tags
This content has not been tagged yet
|
|
|
|
Jul 18 2006, 09:22 AM
Post
#7
|
|
![]() One hit wonder! Member Posts: 1 Joined: 5-July 06 From: Lecco Member No.: 5502 LV:7.1.1 ,. ,.
|
what do you mean by "Timeout when mouse is idle"
the timeout will stop the mouse tracking by starting the application VI or it will clear it and restart the registration (sorry for my poor english -------------------- BRING IT ON... ragazzo!
Tags
This content has not been tagged yet
|
|
|
|
Jul 18 2006, 06:03 PM
Post
#8
|
|
![]() Extwemely Active Premium Member ![]() Posts: 1594 Joined: 23-January 05 From: Here Member No.: 1431 Using LabVIEW Since:2003 LV:7.0 ,7.1 ,.
|
what do you mean by "Timeout when mouse is idle" Since this isn't a mandatory requirement, that would be up to you. The way I understand it (or at least what I thought before I read that line) is how long does the cursor have to stay in one place before you stop calculating a movement.
the timeout will stop the mouse tracking by starting the application VI or it will clear it and restart the registration -------------------- More than meets the eye...
Tags
This content has not been tagged yet
|
|
|
|
Aug 13 2006, 12:05 PM
Post
#9
|
|
|
1 more post to go! Member Posts: 9 Joined: 6-July 06 Member No.: 5517 Using LabVIEW Since:2004 LV:8.0.1 ,. ,.
|
When the mouse button is released (MG Final) will then display "R1R". I assume that MG Final indicator displays empty string in the very next loop after the mouse button is released. Is that right? Or MG Final should keep displaying the "R1R" in the following loops? Zen Tags
This content has not been tagged yet
|
|
|
|
Aug 14 2006, 02:38 AM
Post
#10
|
|
|
Extremely Active Premium Member ![]() Posts: 362 Joined: 6-August 04 From: Gurnee Illinois Member No.: 584 Using LabVIEW Since:1997 LV:8.5 ,8.2.1 ,7.1
|
I assume that MG Final indicator displays empty string in the very next loop after the mouse button is released. Is that right? Or MG Final should keep displaying the "R1R" in the following loops? Zen MG Final should retain the last MG sequence ("R1R") until the mouse button is pressed again. -------------------- If you are interested in Time saving programming
tools created in LabVIEW then download my Icon Editor Updated July 7th 08 and my SubVI Helper Updated Jan 7th 08 Tags
This content has not been tagged yet
|
|
|
|
Aug 14 2006, 04:24 AM
Post
#11
|
|
|
Enough LAVA to be dangerous Member Posts: 4 Joined: 5-May 06 Member No.: 4934 Using LabVIEW Since:1990 LV:8.2.1 ,7.1.1 ,6.1
|
Hi Folks,
Thanks for the challenge! (you've lured me away from the NI LabVIEW Forum) Any way, it seems obvious (now I'm about to trash a VI that was designed to return a completed "Final" string - wouldn't terminate until a mouse-up or mouse-leave (or caller "Stop"). But the requirement as to the empty-state of Final, while mouse is down, implies that our VI executes immediately, so it seems our VI shouldn't wait for mouse events... Thanks! Tags
This content has not been tagged yet
|
|
|
|
Aug 20 2006, 07:54 PM
Post
#12
|
|
![]() Extwemely Active Premium Member ![]() Posts: 1594 Joined: 23-January 05 From: Here Member No.: 1431 Using LabVIEW Since:2003 LV:7.0 ,7.1 ,.
|
How about sending confirmation emails or publishing the names and dates of the submitted entries so that we know that our submissions got through alright (or didn't)?
-------------------- More than meets the eye...
Tags
This content has not been tagged yet
|
|
|
|
Aug 21 2006, 06:22 AM
Post
#13
|
|
![]() (n0ob)² Member Posts: 756 Joined: 22-October 04 From: Duesseldorf / Germany Member No.: 885 Using LabVIEW Since:2001 LV:8.20 ,7.1.1 ,.
|
How about sending confirmation emails or publishing the names and dates of the submitted entries so that we know that our submissions got through alright (or didn't)? all submissions are collected by mark ("mballa") and posted in a forum, which is not public. I do not assume that mark holds back any submissions -------------------- Tags
This content has not been tagged yet
|
|
|
|