LPL Topics
Event Handling
23-34
Using the LI-6400
23
Figure 23-15 illustrates (in Òpseudo-LPLÓ) how we might structure an LPL
program to handle three types of events. Essentially, we sit in a tight loop
waiting for something to happen, and when it does, we deal with it. The func-
tion
HandleKeys
, for example, would have to get the keystroke, and process
it.
In order for this outline to work as an LPL program, weÕd have to fill in the
routines such as
ClockReady?
, to signal us at desired times or time intervals.
Fortunately, LPL hides much of this work from the programmer. It turns out
that to actually implement the outline in Figure 23-15, one only needs to a)
register the functions to be called, and b) write those functions. Figure 23-16
illustrates how this actually looks in LPL.
We register the functions to be called using the
ON...
LPL keywords.
:FCT
EventLoop
{
LOOP
KeysReady? IF HandleKeys THEN
ClockReady? IF HandleClock THEN
A/DReady? IF HandleA/D THEN
...
ENDLOOP
}
KeysReady? {...}
ClockReady? {...}
A/DReady? {...}
HandleKeys {
GETKEY
... }
HandleClock { ... }
HandleA/D { ... }
Figure 23-15. Illustration of the hard way to detect events
:FCT
Main
{
&HandleKeys
ONKBD
&HandleClock
ONTIC
&HandleA/D 1
ONA2D
IDLE
}
HandleKeys {
GETKEY
... }
HandleClock {...}
HandleA/D {...}
Figure 23-16. Programming for events in LPL.
Summary of Contents for LI-6400
Page 1: ...Using the LI 6400 Portable Photosynthesis System ...
Page 15: ...Part I The Basics ...
Page 16: ......
Page 174: ...Making Measurements Answers to Questions 4 56 Using the LI 6400 4 ...
Page 175: ...Part II Useful Details ...
Page 176: ......
Page 200: ...Standard Tools Power ON Hooks 5 24 Using the LI 6400 5 ...
Page 214: ...Real Time Data Real Time Graphics 6 14 Using the LI 6400 6 ...
Page 234: ...Environmental Control Light Control 7 20 Using the LI 6400 7 ...
Page 244: ...Light Sensor Considerations Gallium Arsenide Phosphide GaAsP Sensor 8 10 Using the LI 6400 8 ...
Page 288: ...Data Logging Making Your Own AutoPrograms 9 44 Using the LI 6400 9 ...
Page 289: ...Part III Working With Files ...
Page 290: ......
Page 312: ...The LPL File System Troubleshooting 10 22 Using the LI 6400 10 ...
Page 340: ...Downloading Files Using a Data Capture Program 11 28 Using the LI 6400 11 ...
Page 375: ...Part IV Configuration Issues ...
Page 376: ......
Page 420: ...Defining User Variables Old Style vs New Style 15 18 Using the LI 6400 15 ...
Page 454: ...Using an Energy Balance Further Reading 17 12 Using the LI 6400 17 ...
Page 455: ...Part V Maintenance Troubleshooting ...
Page 456: ......
Page 572: ...Troubleshooting Useful Information 20 46 Using the LI 6400 20 ...
Page 593: ...Part VI Programming ...
Page 594: ......
Page 622: ...Programming with LPL Compiler Directives 22 28 Using the LI 6400 22 ...
Page 846: ...Index I 16 Using the LI 6400 ...