# Version History ## Unreleased ## 3.2.0 * [[JANUS-279](https://jira.skatelescope.org/browse/JANUS-279) & [SPRTS-1005](https://jira.skatelescope.org/browse/SPRTS-1005)] Clear ADC PLL loss of lock status on each poll of ``get_health_status`` * [[JANUS-408](https://jira.skatelescope.org/browse/JANUS-408)] Added hw_lock plugin used for smap, i2c and anaspi (Analog SPI used for PLL and ADCs) accesses * [[JANUS-344](https://jira.skatelescope.org/browse/JANUS-344)] Add support for 48-beam firmware (unreleased) * [[JANUS-411](https://jira.skatelescope.org/browse/JANUS-411)] Bumped SPS Test Suite to 3.0.1 to improve reliability of CI hardware tests Independent Beams and SPEAD Station Beam ## 3.1.1 * [[JANUS-410](https://jira.skatelescope.org/browse/JANUS-410)] Add register addresses to UCP error failure logs ## 3.1.0 * [[JANUS-381](https://jira.skatelescope.org/browse/JANUS-381) & [JANUS-367](https://jira.skatelescope.org/browse/JANUS-367)] Added support for TPM BIOS 1.0.0 - C2C physical layer refactoring * Skipping calibrate_fpga_to_cpld on BIOS 1.0.0 or later * Warning about minimum required FPGA firmware when BIOS 1.0.0 is used but communication check fails * Optimize i2c eeprom implementation * Additional mcu_exec_steps available for debug * Relax voltages.SW_AVDD1 minimum tolerance from -3% to -4% * Add pps_period to tile.initialise (not related to BIOS v1.0.0, required for pps phase calibration with accelerated PPS, backward compatibility preserved) * Added set_thresholds_update with polling to check ack update process * Added critical warning when the TPM BIOS is not provided and extended checks for compatible BIOS and FPGA firmware versions * [[JANUS-293](https://jira.skatelescope.org/browse/JANUS-293)] Added tile health monitor documentation * [[SKB-1011](https://jira.skatelescope.org/browse/SKB-1011)] Memory leak in MccsTile when attempting to connect to TPMs ## 3.0.0 * [[THORN-377](https://jira.skatelescope.org/browse/THORN-377)] Change get_health_status to capture and log exceptions. ## 2.4.0 * [[JANUS-310](https://jira.skatelescope.org/browse/JANUS-310)] Added method to change scan ID * [[JANUS-295](https://jira.skatelescope.org/browse/JANUS-295)] Fix Antenna Buffer ID in Spead header ## 2.3.1 * [[SKB-1089](https://jira.skatelescope.org/browse/SKB-1089)] Add workaround for I2C failure when turning LED after erasing fpga. * [[SKB-1089](https://jira.skatelescope.org/browse/SKB-1089)] Add workaround to prevent accessing FPGA registers when CPLD is not contacted. Doing so can result in decompressions symptoms. ## 2.3.0 * [[JANUS-223](https://jira.skatelescope.org/browse/JANUS-223)] Added methods to specify cal coefficients for blocks of channels (beams) and support for associated FW * [[JANUS-334](https://jira.skatelescope.org/browse/JANUS-334)] Create tile method get_40g_packet_counts ## 2.2.1 * [[JANUS-305](https://jira.skatelescope.org/browse/JANUS-305)] Modified stop_data_transmission() to safely stop continuous channel data ## 2.2.0 * [[JANUS-322](https://jira.skatelescope.org/browse/JANUS-322)] Support for either 6-bit Substation and Subarray ID (firmware < 9.0.0) or 8-bit (firmware >= 9.0.0) ## 2.1.1 * [[JANUS-303](https://jira.skatelescope.org/browse/JANUS-303)] Fix to first call of start_beamformer after initialise starts all configured beams regardless of argument ## 2.1.0 * [[SKB-1079](https://jira.skatelescope.org/browse/SKB-1079)] Add a disconnect method to TPM-API. * [[THORN-343](https://jira.skatelescope.org/browse/THORN-343)] Allow external users to inject their own logger. ## 2.0.0 * [[JANUS-283](https://jira.skatelescope.org/browse/JANUS-283)] Fix incorrect payload_length bug for integrated tile beam in TPM API * [[JANUS-288](https://jira.skatelescope.org/browse/JANUS-288)] Clarify station beamformer beam_id vs subarray_beam_id ## 1.3.0 * [[JANUS-224](https://jira.skatelescope.org/browse/JANUS-224)] Fix to other instances of the reset register in adc_power_meter * [[JANUS-252](https://jira.skatelescope.org/browse/JANUS-252)] Added methods to the ADC plugin and tile.py for reading and clearing the ADC overrange register ## 1.2.0 * [[JANUS-89](https://jira.skatelescope.org/browse/JANUS-89)] Added tile methods and health monitoring point for DSP latency * [[JANUS-224](https://jira.skatelescope.org/browse/JANUS-224)] Fix to typo in reset register in adc_power_meter * [[JANUS-251](https://jira.skatelescope.org/browse/JANUS-251)] Added python auto-formatters (black and isort) * [[JANUS-296](https://jira.skatelescope.org/browse/JANUS-296)] Added methods to configure ADC Test Modes of the AD9695 ADCs ## 1.1.0 * [[JANUS-200](https://jira.skatelescope.org/browse/JANUS-200)] Added support for SKA-Low FPGA firmware 7.0.0 - independent 40GbE destinations for different data products ## 1.0.1 * [[JANUS-292](https://jira.skatelescope.org/browse/JANUS-292) & [SPRTS-625](https://jira.skatelescope.org/browse/SPRTS-625)] Fixed bug with some tile health monitoring points not clearing when read by MCCS * [[SPRTS-590](https://jira.skatelescope.org/browse/SPRTS-590)] Print JESD core status bits in ERROR log if configuration fails ## 1.0.0 * [[JANUS-38](https://jira.skatelescope.org/browse/JANUS-38)] Bump SPS Test Suite used in CI to 2.10.0, MCCS-DAQ to 4.1.2, DAQ Core to 1.2.0 * [[JANUS-38](https://jira.skatelescope.org/browse/JANUS-38)] Revert addition of default IP for CSP destination when none specified * [[JANUS-173](https://jira.skatelescope.org/browse/JANUS-173)] Stylistic changes to GitLab CI YAML ## 1.0.0-rc3 * [[JANUS-277](https://jira.skatelescope.org/browse/JANUS-277)] Added preADU info and bugfix to QSFP EEPROM unavailable * [[JANUS-276](https://jira.skatelescope.org/browse/JANUS-276)] Fix issue with 1G LMC transmission to ports other than 4660 * [[THORN-298](https://jira.skatelescope.org/browse/THORN-298)] Update get_fpga_alm_temp_thresholds, set_tpm_temperature_thresholds methods to align with changes in lower levels ## 1.0.0-rc2 * [[JANUS-275](https://jira.skatelescope.org/browse/JANUS-275)] Fixed issue where set_xg_eth_configuration cannot be used outside initialise * [[JANUS-38](https://jira.skatelescope.org/browse/JANUS-38)] Migrating CI to SPS Test Suite 2.9.0 ## 1.0.0-rc1 * [[JANUS-38](https://jira.skatelescope.org/browse/JANUS-38)] Simplify 40GbE bring-up in tile.py ## 0.11.1 * [[SKB-999](https://jira.skatelescope.org/browse/SKB-999)] Improvements and fixes to tile preADU methods ## 0.11.0 * [[JANUS-236](https://jira.skatelescope.org/browse/JANUS-236)] Support configurable ADC full-scale in TPM API ## 0.10.0 * [[JANUS-219](https://jira.skatelescope.org/browse/JANUS-219)] Implement api methods for beamformer delay table readback * [[JANUS-179](https://jira.skatelescope.org/browse/JANUS-179)] Fix to read_polyfilter_name method for python 3.10 * [[JANUS-184](https://jira.skatelescope.org/browse/JANUS-184)] Implement CSP rounding readback api plugin and tile method * [[JANUS-221](https://jira.skatelescope.org/browse/JANUS-221)] Add new methods to read cal_data table ## 0.9.1 * [[THORN-202](https://jira.skatelescope.org/browse/THORN-202)] Ensure beamformer table reads first do a HW read before returning SW cache. ## 0.9.0 * [[JANUS-196](https://jira.skatelescope.org/browse/JANUS-196)] Add software procedures to enable/disable RFI blanking * [[JANUS-23](https://jira.skatelescope.org/browse/JANUS-23)] Removed VREF_2V5 and corrected voltage and current thresholds for health monitoring * [[JANUS-158](https://jira.skatelescope.org/browse/JANUS-158)] Updated local cache of TPM BIOS versions with v0.6.0 ## 0.8.0 * [[JANUS-123](https://jira.skatelescope.org/browse/JANUS-123)] Added read_polyfilter_name method to tile.py ## 0.7.1 * [[JANUS-220](https://jira.skatelescope.org/browse/JANUS-220)] Patch update for tile get_beamformer_regions to add missing entries in region_array * [[JANUS-242](https://jira.skatelescope.org/browse/JANUS-242)] Migrating CI to SPS Test Suite 2.5.2 & DAQ 3.0.1 ## 0.7.0 * [[JANUS-207](https://jira.skatelescope.org/browse/JANUS-207)] Populate ska-low-sps-tpm-api readthedocs with existing material * [[JANUS-220](https://jira.skatelescope.org/browse/JANUS-220)] Add new methods to read region_array data (region_offset, region_sel, beam_index) * [[JANUS-218](https://jira.skatelescope.org/browse/JANUS-218)] Add new tile method to read rescale_data table (get_channeliser_truncation) ## 0.6.1 * [[JANUS-215](https://jira.skatelescope.org/browse/JANUS-215)] Corrected lock file from v0.6.0 * [[JANUS-191](https://jira.skatelescope.org/browse/JANUS-191)] Update read procedure for rfi_counts in software ## 0.6.0 * [[JANUS-215](https://jira.skatelescope.org/browse/JANUS-215)] manage whole TPM external label * [[JANUS-222](https://jira.skatelescope.org/browse/JANUS-222)] Bump Test suite & DAQ versions used in CI ## 0.5.0 * [[JANUS-189](https://jira.skatelescope.org/browse/JANUS-189)] Implement and test configurable rfi_factor in broadband RFI detect module ## 0.4.0 * [[JANUS-158](https://jira.skatelescope.org/browse/JANUS-158)] ska-low-sps-tpm-bios release v0.6.0 * [[JANUS-164](https://jira.skatelescope.org/browse/JANUS-164)] Add python-lint stage to Team Janus TPM API repository * [[JANUS-175](https://jira.skatelescope.org/browse/JANUS-175)] Migrate changes for TPM BIOS v0.6.0 from PyFABIL & AAVS-System to ska-low-sps-tpm-api * [[JANUS-205](https://jira.skatelescope.org/browse/JANUS-205)] TPM bios 0.6.0 testing fixes * [[JANUS-208](https://jira.skatelescope.org/browse/JANUS-208)] Adopt new RAL Science Vlan for SPS Cabinet ## 0.3.0 * [[THORN-11](https://jira.skatelescope.org/browse/THORN-11)] Add method to configure ramp pattern to API * [[THORN-68](https://jira.skatelescope.org/browse/THORN-68)] Add method to read beam flag state ## 0.2.4 * [[JANUS-177](https://jira.skatelescope.org/browse/JANUS-177)] Bug fix: is_running() checks both start/stop tables and global beamformer registers ## 0.2.3 * [[JANUS-177](https://jira.skatelescope.org/browse/JANUS-177)] Readback for start/stop tables (used by beamformer_is_running) and CSP rounding ## 0.2.2 * [[SKB-804](https://jira.skatelescope.org/browse/SKB-804)] Re-Configure the lmc routing in set_lmc_integrated_download in 1G mode. * [[SKB-804](https://jira.skatelescope.org/browse/SKB-804)] Update set_lmc_download to reconfigure lmc_port as well as lmc_ip in 1G mode. ## 0.2.1 * [[JANUS-104](https://jira.skatelescope.org/browse/JANUS-104)] Added global beamformer stop as it is required in DDR test ## 0.2.0 * [[JANUS-104](https://jira.skatelescope.org/browse/JANUS-104)] Added independent beam start-stop times. Changed CBF packet rate ## 0.1.2 * [[SPRTS-436](https://jira.skatelescope.org/browse/SPRTS-436)] Rearrange plugin folder to sort a memory leak in Tile.connect() ## 0.1.1 * [[JANUS-143](https://jira.skatelescope.org/browse/JANUS-143)] Bumped Test Suite used in CI to v2.1.0 and pinned other CI dependencies * [[JANUS-152](https://jira.skatelescope.org/browse/JANUS-152)] Add readthedocs infrastructure for ska-low-sps-tpm-api repository * [[JANUS-160](https://jira.skatelescope.org/browse/JANUS-160)] Add docs-build stage to Team Janus TPM API repository * [[JANUS-166](https://jira.skatelescope.org/browse/JANUS-166)] Fix typo in station_beam plugin ## 0.1.0 * [[JANUS-107](https://jira.skatelescope.org/browse/JANUS-107)] Migrate PyFABIL to ska-low-sps-tpm-api repo * [[JANUS-108](https://jira.skatelescope.org/browse/JANUS-108)] Migrate AAVS-System tile control interface to ska-low-sps-tpm-api repo * [[JANUS-126](https://jira.skatelescope.org/browse/JANUS-126)] Make first release of ska-low-sps-tpm-api