The current model values have to be down loaded to the embedded systems at a time and in a manner such that the normal workings of those systems are not affected. Further the protocol should be such that higher level program must know in advance at what instant of time these new values will be made effective by the low level software. For this purpose, two basic norms are followed.
When `acq30' is started, it scans a set of files (that could also be specified via user commands) that describe the correlator hardware configuration. These files contain information such as what are the coordinates of the antennas, which antenna is connected to which samplers, which samplers is connected to which FFT pipeline, and which FFT pipelines are connected to which MAC chips. From this information `acq30' builds a complete mapping of all the connectivities in the correlator. `acq30' reads the data from the shared memory created by `acq'. Recall that in this shared memory one has 'raw' data, i.e. the data is organized into three streams (one per rack) and in each stream the ordering depends on the ordering of the MAC chips in that rack. `acq30' merges these three streams into one stream using the sequence number information planted in each data block by `acq' (see above). Further it also notes the common IST arrival time of the data corresponding to a given STA sequence. It was originally intended that the merging of the three streams of data into one stream would be effected by the embedded software of the correlator, but this was not realized. Once the data has been merged into one stream, `acq30' uses its knowledge of the correlator connectivity, to determine which piece of the data corresponds to which antennas, and which samplers, and which FFT pipelines. The `acq30' program however has no way of determining whether the specific antennas whose data is being read are all pointing to the specified source or not. `acq30' simply trusts that when a scan is started (see below) the antennas are pointing at the specified source. Given the source position and the antenna co-ordinates, `acq30' computes the appropriate delay, fringe stop and FSTC values. The calculation of such quantities for a given point of time is referred to as `model calculation', and the values as `model parameters' or `model values'. For as long as a given scan continues, `acq30' computes the model parameters periodically and sends them to the appropriate program (corr_config/fstop) to be set. From its mapping of antennas to samplers to FFT pipelines, `acq30' can determining which delay value to send to which delay control card etc.
`acq30' also converts the data format from the `MAC format' described above (i.e. 4 bytes for each complex word) to the IEEE standard floating point format. The Long Term Accumulation (LTA) is also performed by this program. The observer specifies the number of STA cycles for which the data should be further summed before recording. This summation is carried out at the same point as the conversion to IEEE floating point format. After performing LTA `acq30' sends the resulting data on the network to a separate program `collect' which runs on another computer (the `Data Recording Host' in Figure 26.2). `collect' makes this data available to other monitoring and recording programs.
`acq30' accepts (and passes on to down stream programs) several user commands, of which the four major ones are: