Milestone #22493: PIP2IT BPM Project
Refactor to store positions inside of Readings
Right now we only store raw ADC data (usually magnitudes) inside of a Reading. Positions are calculated when data is copied out of a reading for display/transfer to ACNET. This speeds up readout but is inefficient because the same calculations are done each time the data is displayed/transferred.
Refactor to store the positions in the Reading buffer, alongside the raw ADC data. For the purpose of this task the position should be calculated in a lazy fashion. The first time position data is requested the positions are calculated and stored in the Reading. Subsequent requests for position data will read positions directly from the buffer. Improvements to when the positions are calculated will be done in a separate task.