Not signed in (Sign In)

Vanilla 1.1.5a is a product of Lussumo. More Information: Documentation, Community Support.

    •  
      CommentAuthormsmoritz
    • CommentTimeFeb 6th 2010
     
    We're halfway through a 10 event series here in Providence, RI and have had recurring questions from the starters and riders about when to start pedaling. We've been telling people to pedal when they see Go! on the screen, but from observation at our last event where we connected a second set of sensors we noticed that the lights on the sensors went green about the same time as the screen refreshed to the race display without the countdown overlay, which is about 1 second after the Go! appears.

    Is there a way to better synchronize the opensprints countdown with the sensors being enabled?

    I think that it might make the races more interesting to capture the acceleration curve of the riders as well as their ability to maintain a high cadence for the entire sprint (500m in our case). From tinkering and reading, it looks like the arduino is doing a countdown simultaneous to the opensprints software, but that the opensprints could use a second second.

    From a design perspective, wouldn't it be better to have a single timer running through opensprints that sends a race start command that as soon as it hits the arduino enables the sensors and starts collecting ticks?

    Thanks!

    Also, I'll be doing some hacking to add some functionality. Planning to add a "test mode" where you can basically just enable the sensors for testing without setting up a race. Mostly to use during setup to make sure the sensors are registering, etc. I haven't tried it yet, but I've been thinking about implementing a speed graph like Ed has done in GoldSprintsFX as well.

    Thanks for all the great work.

    matt
    •  
      CommentAuthorjonfen
    • CommentTimeFeb 6th 2010 edited
     
    msmoritz:from observation at our last event where we connected a second set of sensors we noticed that the lights on the sensors went green about the same time as the screen refreshed to the race display without the countdown overlay, which is about 1 second after the Go! appears.

    Is there a way to better synchronize the opensprints countdown with the sensors being enabled?

    I think that it might make the races more interesting to capture the acceleration curve of the riders as well as their ability to maintain a high cadence for the entire sprint (500m in our case). From tinkering and reading, it looks like the arduino is doing a countdown simultaneous to the opensprints software, but that the opensprints could use a second second.


    The acceleration curve would be a great mod.

    As for the dual countdowns, you are correct. Due to the fact the Arduino is programmed with a singular focus to count in realtime, and the computer has may factors that go into what processes have priority -- there will always be a slight delay. The countdown on the Arduino is the one that matters, the CPU tells the Arduino when to start, but the Arduino handles the count down, and decides who won. As George Bush Jr. would say, "it is the decider" The projector is just for the crowd, so getting it to appear close is all that matters. Again, the results come from the Arduino.

    That being said, you can tweak that sync appearance:

    Before you follow the instructions below, tweak the lastCountDown variable in line 128 of basic_msg.pde

    lastCountDown = 4;

    Instructions: Update Arduino with OpenSprints Firmware

    NOTE: You will need to re-upload the firmware each time you make a change to this file.


    From a design perspective, wouldn't it be better to have a single timer running through opensprints that sends a race start command that as soon as it hits the arduino enables the sensors and starts collecting ticks?


    Again, you are dealing with syncing two different processors. Your CPU, regardless of OS, is unreliable for realtime -- which is why we need a microcontroller like the Arduino.


    Also, I'll be doing some hacking to add some functionality. Planning to add a "test mode" where you can basically just enable the sensors for testing without setting up a race. Mostly to use during setup to make sure the sensors are registering, etc. I haven't tried it yet, but I've been thinking about implementing a speed graph like Ed has done in GoldSprintsFX as well.


    Awesome!
    •  
      CommentAuthormsmoritz
    • CommentTimeFeb 9th 2010
     
    I'm not comfortable making changes to the firmware just yet, so I changed the countdown loop to trigger the arduino one second earlier in the countdown loop. That resulted in the arduino starting the race a fraction of a second before the Go! counter appeared. Interestingly, almost all of our racers were subsequently ~1 second slower over the 500m.

    I'm wondering if shoes can probe/wait on output on the USB interface and have the arduino send the countdown to shoes to display, the processing time to draw the number should then be within a few milliseconds. But this starts to become major mods.

    I've got a basic test mode hacked together, going to try to improve it this weekend as well as speed graphs.

    Thanks for the info Jon.