import json
import time
from Channel import read_tag, write_tag

PLC_IP_ADDRESS = "192.168.1.12"

def read_pond_calibration(pond_number):
    """Read all calibration values for a specific pond."""
    last_read_height = -1.0
    cal_values = []
    cal_index = 1
    while last_read_height != 0 and cal_index <=10:
        cal_tag_height = "pond{}CalibrationHeight[{}]".format(pond_number, cal_index)
        cal_tag_volume = "pond{}CalibrationVolume[{}]".format(pond_number, cal_index)
        print(cal_tag_height, cal_tag_volume)
        read_height = read_tag(PLC_IP_ADDRESS, cal_tag_height, plc_type="Micro800")
        time.sleep(2)
        read_volume = read_tag(PLC_IP_ADDRESS, cal_tag_volume, plc_type="Micro800")
        time.sleep(2)
        print(read_height, read_volume)
        if read_height and read_volume:
            if read_height[0] > 0.0:
                cal_values.append({"height": read_height[0], "volume": read_volume[0]})
            last_read_height = read_height[0]
        cal_index += 1
    return cal_values
