A Performance Analysis System for the Sport of Bowling
A Performance Analysis System for the Sport of Bowling
A Performance Analysis System for the Sport of Bowling
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.7.2 Start-Up<br />
The SMARTDOT module spends <strong>the</strong> vast majority <strong>of</strong> its time in an ultra-low power sleep<br />
mode, which draws less than 1 µAmp. Finger pressure applied to <strong>the</strong> insert wakes <strong>the</strong><br />
module from its sleep. Since <strong>the</strong> bowler's finger must still be in <strong>the</strong> insert immediately<br />
after start-up, if SMARTDOT detects too much light at start-up, <strong>the</strong> release is presumed to<br />
be invalid (<strong>for</strong> instance, caused by ano<strong>the</strong>r ball striking it on <strong>the</strong> ball return), and <strong>the</strong><br />
module shuts down (goes back to sleep).<br />
If it is dark enough after start-up, SMARTDOT continues sampling <strong>the</strong> ambient light<br />
level, waiting <strong>for</strong> <strong>the</strong> release <strong>of</strong> <strong>the</strong> ball (indicated by <strong>the</strong> measured light level exceeding a<br />
configurable "release" level). The release process takes several seconds, while <strong>the</strong><br />
bowler picks up <strong>the</strong> ball from <strong>the</strong> ball return and subsequently delivers it to <strong>the</strong> lane<br />
during <strong>the</strong>ir approach. If release is not detected within one second <strong>of</strong> activation, <strong>the</strong><br />
module shuts down. Since <strong>the</strong> bowler grips <strong>the</strong> inserts throughout <strong>the</strong>ir approach, <strong>the</strong><br />
module may experience several "false" start-ups be<strong>for</strong>e <strong>the</strong> actual release occurs. Refer<br />
to Figure A-1a (Start-Up Task Flowchart) <strong>for</strong> <strong>the</strong> sequence <strong>of</strong> events at module start-up.<br />
2.7.3 Pre-Sampling<br />
As part <strong>of</strong> <strong>the</strong> actual release, <strong>the</strong> bowler applies significant pressure to <strong>the</strong> inserts<br />
immediately be<strong>for</strong>e release. The module is again activated (several hundred milliseconds<br />
be<strong>for</strong>e release), giving SMARTDOT sufficient time to see <strong>the</strong> ambient light release point.<br />
Since <strong>the</strong> module detected a valid pre-release light level at start-up, it looks <strong>for</strong> <strong>the</strong><br />
release light level <strong>for</strong> up to one second. While waiting <strong>for</strong> release, <strong>the</strong> module stores <strong>the</strong><br />
pre-release light samples in an 8-byte circular buffer. This "pre-sampling" allows <strong>the</strong><br />
MASTER application to identify <strong>the</strong> precise moment <strong>of</strong> release. See Figure A-1b (Pre-<br />
Sampling Task Flowchart) <strong>for</strong> <strong>the</strong> pre-sampling sequence <strong>of</strong> events.<br />
The wave<strong>for</strong>m is sampled at 240 Hz, but <strong>the</strong> sample data is collected and stored at a 120<br />
Hz rate. In order to cancel <strong>the</strong> effects <strong>of</strong> <strong>the</strong> 120 Hz AC ripple superimposed on <strong>the</strong><br />
wave<strong>for</strong>m by <strong>the</strong> overhead fluorescent lights, two consecutive 240 Hz samples are<br />
averaged toge<strong>the</strong>r to yield a single 120 Hz sample. The maximum stored sample value is<br />
clipped to 127 (0x7F) so that <strong>the</strong> high-order bit <strong>of</strong> each sample is available <strong>for</strong> storing <strong>the</strong><br />
impact status <strong>for</strong> that sample. Refer to Figure A-2 (Light Sample ISR Flowchart).<br />
2.7.4 Wave<strong>for</strong>m Discrimination and Validation<br />
The SMARTDOT module always runs in one <strong>of</strong> two major operational states: it samples,<br />
validates, and stores <strong>the</strong> ambient light wave<strong>for</strong>m; or it communicates with <strong>the</strong> COMM<br />
wand. While <strong>the</strong> module samples and stores <strong>the</strong> wave<strong>for</strong>m, it also executes a routine that<br />
discriminates between wave<strong>for</strong>ms that result from <strong>the</strong> ball rolling down <strong>the</strong> lane, <strong>the</strong><br />
MASTER attempting to make contact, and spurious activations.<br />
After detecting <strong>the</strong> actual release <strong>of</strong> <strong>the</strong> ball, <strong>the</strong> module continues to sample <strong>the</strong><br />
wave<strong>for</strong>m and collect data in its 8-byte RAM sample buffer (<strong>the</strong> same one used <strong>for</strong><br />
storing <strong>the</strong> pre-samples), transferring <strong>the</strong> buffer contents to <strong>the</strong> active scratch pad in<br />
external EEPROM while scanning <strong>the</strong> sampled data <strong>for</strong> a pattern consistent with <strong>the</strong> ball<br />
rolling down <strong>the</strong> lane. If <strong>the</strong> presence <strong>of</strong> a "valid" wave<strong>for</strong>m (one that looks like <strong>the</strong> ball<br />
is rolling) is not detected within 600 msecs (72 samples plus <strong>the</strong> 8 pre-samples) following<br />
release, <strong>the</strong> module automatically switches from sampling <strong>the</strong> wave<strong>for</strong>m to its<br />
communication routines, and attempts to contact <strong>the</strong> COMM wand. Refer to Figure A-3<br />
(Sampling Task Flowchart) and Figure A-4 (Discrimination Task Flowchart).<br />
24