package ch.hevs.isi.field; import ch.hevs.isi.core.DataPoint; import ch.hevs.isi.core.FloatDataPoint; import java.util.HashMap; public class FloatRegister extends ModbusRegister{ private Float value; private FloatDataPoint fdp; /** * public constructor of the Float Register * * @param label label of the datapoint * @param isOutPut true if it is an output datapoint * @param address modbus address of the datapoint * @param range range of the datapoint value * @param offset offset of the datapoint value */ public FloatRegister(String label, boolean isOutPut, int address, float range, float offset) { this.fdp = new FloatDataPoint(label, isOutPut); //create an empty datapoint for the NullPointerException updateMapOfRegisters(label,address); //add the address to the map } @Override public void read() { fdp.setValue(ModbusAccessor.getMySelf().readFloat(this.getAddress())); //read the value } @Override public void write(DataPoint dp) { fdp = (FloatDataPoint) dp; //make the empty datapoint to the desired datapoint, which is to be written on the address value = fdp.getValue(); //store the value of the datapoint ModbusAccessor.getMySelf().writeFloat(this.getAddress(), fdp.getValue()); //write the desired value on the modbus address } }