// SpruceMeasure.bcpl
// See also
// SpruceMeasureMl.
// Either these two files or
// SpruceMeasureDummyMl
// are loaded with Sprint. They implement the routines needed to record information about engine
// control and imaging behavior for later analysis. Other routines involved are:
// SharedStatics -- define use of #20000 bit
// SpruceShow -- allocate room for measureTable, conditioned by #20000 bit
// SprucePrint -- invoke appropriate calls to initialize, close, invoke measurement
// SpruceEarMl -- Ticker code invokes TickMeasure if measuring
// outgoing procedures
external // Internal
[
Measure
CloseMeasure
]
external // external
[
CallSwat
DebugSystem
DisableInterrupts
EnableInterrupts
measuring
measureTable
TickMeasure
]
let Measure(index, value) be if (DebugSystem丠) ne 0 then
[ let adr = #100+index; DisableInterrupts(); @adr = value; TickMeasure(); EnableInterrupts() ]
and CloseMeasure() be if (DebugSystem丠) ne 0 then
[ measuring = false; @#721 = measureTable; CallSwat("Swatee ready for analysis") ]
// March 12, 1979 9:59 PM, created by Swinehart
//