docs: protected int readRegister(int register) throws IOException {
  
          device.write((byte)register);
  
          // create data buffer for receive data
          byte buffer[] = new byte[2];  // receive 16 bits (2 bytes)
          int byteCount = 0;
          try
          {
              byteCount = device.read(buffer, 0, 2);
          }
          catch (IOException e)
          {
              e.printStackTrace();
          }
  
          if(byteCount == 2){
  
              //System.out.println("-----------------------------------------------");
              //System.out.println("[RX] " + bytesToHex(buffer));
              //System.out.println("-----------------------------------------------");
              short value = getShort(buffer, 0);
  
              // Shift 12-bit results right 4 bits for the ADS1015
              // No-shift required for the ADS1115
              if(bitShift > 0){
                  value = (short) (value >> bitShift);
              }
  
              return value;
          }
          else{
              return 0;
          }
      }