//Driver I2C pour Tini Board firmware 1.02p3
/**
*@author: Regnier Bruno
*@version: 1.0 
*@date: 15/01/01
*/


public class PortI2C
{

  /**
  *Méthode static permettant l'envoie l'écriture d'une donnée sur un composant 
  */
  public static native boolean readWithOutAck(byte tempo,byte adresse,byte[] valeur);
  public static native boolean readWithAck(byte tempo,byte adresse,byte[] valeur);
  public static native boolean write(byte tempo,byte adresse,byte[] valeur);
  public static native boolean isExist(byte tempo,byte adresse);

  private byte tempo=1;
  private byte adresse=1; 	
		
  public PortI2C()
  {
  	init();
  }

  public PortI2C(byte tempo, byte adresse)
  {
	this.tempo=tempo;
	this.adresse=adresse;
	init();
  }
  
  private void init()
  {
  	System.loadLibrary("porti2c.tlib");
  }
  
  public boolean write(byte[] valeur)
  {
  	return write(tempo,adresse,valeur);
  }

  public boolean readWithAck(byte[] valeur)
  {
  	return readWithAck(tempo,adresse,valeur);
  }

  public boolean read(byte[] valeur)
  {
  	return readWithOutAck(tempo,adresse,valeur);
  }

  public void setParameters(byte adresse,byte tempo)
  {
  	this.adresse=adresse;
	this.tempo=tempo;
  }

  public boolean isExist()
  {
  	return isExist(tempo,adresse);
  }

}
