//*********************
//Fonctions de retour flex
//*********************
function JretourParamURL(str) {
	document.getElementById("FINAL_TTN").retourParamURLResult(str);
}

function JDS1921or22Equip(str) {
	document.getElementById("FINAL_TTN").DS1921or22EquipResult(str);
}

function JDS1921or22Releve(str) {
	document.getElementById("FINAL_TTN").DS1921or22ReleveResult(str);
}

function JMissionEquip(str) {
	document.getElementById("FINAL_TTN").MissionEquipResult(str);
}

function JMissionThermo(str) {
	document.getElementById("FINAL_TTN").MissionThermoResult(str);
}

function JMission22Equip(str) {
	document.getElementById("FINAL_TTN").Mission22EquipResult(str);
}

function JMission23Equip(str) {
	document.getElementById("FINAL_TTN").Mission23EquipResult(str);
}

function JMission23Thermo(str) {
	document.getElementById("FINAL_TTN").Mission23ThermoResult(str);
}

function JMission22Thermo(str) {
	document.getElementById("FINAL_TTN").Mission22ThermoResult(str);
}

function JverifTB(str) {
	document.getElementById("FINAL_TTN").verifTBResult(str);
}

function JDownload(str) {
	document.getElementById("FINAL_TTN").DownloadResult(str);
}

function JDownload22(str) {
	document.getElementById("FINAL_TTN").Download22Result(str);
}

function JDownload23(str) {
	document.getElementById("FINAL_TTN").Download23Result(str);
}

//********************************
//Fonction interne au fichier javascript
//********************************
function retourParamURL()
{	
	JretourParamURL(document.location.href);
	return true;
}

function checkAccess()
{
   // get the 1-Wire access provider
   if(access==null)
   {
      JDS1921or22Equip("NoDriver");
      return false;
   }
   return true;
}

function completeA2(nombre) {
	return ((nombre <= 9) ? "0" : "") + nombre;
}

function completeA2Mois(nombre) {
	nombre=nombre+1;
	return ((nombre <= 9) ? "0" : "") + nombre;
}

function unixtimetodate(madate) {
	var today = new Date(madate);
	var dateString = today.getYear()+"-"+completeA2(today.getMonth()+1)+"-"+completeA2(today.getDate())+" "+completeA2(today.getHours())+":"+completeA2(today.getMinutes());

	return dateString;

}

function unixtimetodatesec(madate) {
	var today = new Date(madate);
	var dateString = today.getYear()+"-"+completeA2(today.getMonth()+1)+"-"+completeA2(today.getDate())+" "+completeA2(today.getHours())+":"+completeA2(today.getMinutes())+":"+completeA2(today.getSeconds());

	return dateString;
}

function Remplace(expr,a,b)
{
	var i=0
    while (i!=-1) {
         i=expr.indexOf(a,i);
         if (i>=0) {
            expr=expr.substring(0,i)+b+expr.substring(i+a.length);
            i+=b.length;
         }
      }
      return expr
}

function ValeurAlarm(case1,case2,case3,case4,case5,case6,case7,case8,type)
{
	var valeur=(case1*1)+(case2*2)+(case3*4)+(case4*8)+(case5*16)+(case6*32)+(case7*64)+(case8*128);

	if (type=="22L")
	{
		valeur=(valeur/2)-41;
	}
	
	if (type=="22T")
	{
		valeur=(valeur/2)-1;
	}
	
	if (type=="23")
	{
		valeur=(valeur/2)-41;;
	}
	
	if (type=="23hum")
	{
		valeur=Math.round((((valeur*5.02)/256)-0.958)/0.0307);
	}
	
	return valeur;
}

function ConversionTemperature(temperature,precisionbouton)
{
	if (temperature>0)
	{
		coeff=temperature/precisionbouton;
		if ((parseFloat(coeff)-parseInt(coeff))>=0.5)
		{
			smachaine=coeff.toString();
			smachaine=smachaine.substring(0,smachaine.lastIndexOf("."));
			coeff=smachaine;
			valeurretournee=Math.round(precisionbouton*(Math.abs(coeff)+1)*10)/10;
		}else{
			smachaine=coeff.toString();
			smachaine=smachaine.substring(0,smachaine.lastIndexOf("."));
			coeff=smachaine;
			valeurretournee=Math.round(precisionbouton*Math.abs(coeff)*10)/10;
		}
	}else{
		coeff=temperature/precisionbouton;
		if ((Math.abs(parseFloat(coeff)-parseInt(coeff)))>=0.5)
		{
			smachaine=coeff.toString();
			smachaine=smachaine.substring(0,smachaine.lastIndexOf("."));
			coeff=smachaine;
			valeurretournee=Math.round(precisionbouton*(parseInt(coeff)-1)*10)/10;
		}else{
			smachaine=coeff.toString();
			smachaine=smachaine.substring(0,smachaine.lastIndexOf("."));
			coeff=smachaine;
			valeurretournee=Math.round(precisionbouton*parseInt(coeff)*10)/10;
		}
	}

	return valeurretournee;
}

function ConversionHumidite(humidite,precisionbouton)
{
	//alert(humidite+" "+precisionbouton);
	if (precisionbouton==0.5)
	{
		precisionbouton=1;
	}
	coeff=humidite/precisionbouton;
	if ((parseFloat(coeff)-parseInt(coeff))>=0.5)
	{
		//alert("ici");
		smachaine=coeff.toString();
		//alert(smachaine);
		smachaine=smachaine.substring(0,smachaine.lastIndexOf("."));
		//alert(smachaine);
		coeff=smachaine;
		valeurretournee=Math.round(precisionbouton*(Math.abs(coeff)+1)*10)/10;
		//alert(valeurretournee);
	}else{
		//alert("la");
		smachaine=coeff.toString();
		smachaine=smachaine.substring(0,smachaine.lastIndexOf("."));
		coeff=smachaine;
		valeurretournee=Math.round(precisionbouton*Math.abs(coeff)*10)/10;
	}
	
	if(valeurretournee>100)
	{
		valeurretournee=100;
	}
	
	return valeurretournee;
}

//********************************************************
//Fonction permettant de savoir si il s'agit d'un DS1921 ou DS1922
//********************************************************

function DS1921or22Equip()
{
	var typebouton="";
	// get the default adapter
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JDS1921or22Equip("NoAdapter");
		//all finished
		adapter.endExclusive();
		
		// free port used by adapter
		adapter.freePort();
		return;
	}
	adapter.beginExclusive(true);
	try
	{
		//setup adapter to search for Thermochrons
		adapter.targetFamily(0x21);
		adapter.reset();
		adapter.setSearchAllDevices();
		
		//get first Thermochron on the 1-Wire net
		var next = adapter.findFirstDevice();
		if (!next)
		{
			adapter.targetFamily(0x41);
			adapter.reset();
			adapter.setSearchAllDevices();
			var next1 = adapter.findFirstDevice();
			if (!next1)
			{
				adapter.targetFamily(0x10);
				adapter.reset();
				adapter.setSearchAllDevices();
				var next1 = adapter.findFirstDevice();
				if (!next1)
				{
					JDS1921or22Equip("Nobutton");
					//all finished
					adapter.endExclusive();
					
					// free port used by adapter
					adapter.freePort();
					return;
				}else{
					typebouton="DS1920";
					//set up 1-Wire container
					owcDS1920.setupContainer(adapter, adapter.getAddressAsString());
				
					//put the part into overdrive...make it sizzle!
					owcDS1920.setSpeed(adapter.SPEED_OVERDRIVE, false);
			
					var sumStr
					sumStr = owcDS1920.getAddressAsString();
					//Display mission summary
					//alert(sumStr);
					JDS1921or22Equip(typebouton+" : "+sumStr);
				}
			}else{
				typebouton="DS1922";
				//set up 1-Wire container
				owcDS1922.setupContainer(adapter, adapter.getAddressAsString());
				
				//put the part into overdrive...make it sizzle!
				owcDS1922.setSpeed(adapter.SPEED_OVERDRIVE, false);
				owcDS1922.readDevice();
				typebouton=owcDS1922.getName();
				if (typebouton=="DS2422")
				{
					typebouton="DS1922L";
				}
				if (typebouton=="DS1922H")
				{
					typebouton="DS1923";
				}
				var sumStr
				sumStr = owcDS1922.getAddressAsString();
				//Display mission summary
				//alert(sumStr);
				JDS1921or22Equip(typebouton+" : "+sumStr);
			}
		}else{
			typebouton="DS1921";
			//set up 1-Wire container
			owc.setupContainer(adapter, adapter.getAddressAsString());
				
			//put the part into overdrive...make it sizzle!
			owc.setSpeed(adapter.SPEED_OVERDRIVE, false);
			
			var sumStr
			sumStr = owc.getAddressAsString();
			//Display mission summary
			//alert(sumStr);
			JDS1921or22Equip(typebouton+" : "+sumStr);
		}
	}
	catch(e)
	{
		JDS1921or22Equip("PbButton");
	}
	
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();
}

function verifTB(mode)
{
	var typebouton="";
	// get the default adapter
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JverifTB("NoAdapter");
		//all finished
		adapter.endExclusive();
		
		// free port used by adapter
		adapter.freePort();
		return;
	}
	adapter.beginExclusive(true);
	try
	{
		//setup adapter to search for Thermochrons
		adapter.targetFamily(0x21);
		adapter.reset();
		adapter.setSearchAllDevices();
		
		//get first Thermochron on the 1-Wire net
		var next = adapter.findFirstDevice();
		if (!next)
		{
			adapter.targetFamily(0x41);
			adapter.reset();
			adapter.setSearchAllDevices();
			var next1 = adapter.findFirstDevice();
			if (!next1)
			{
				JverifTB("Nobutton");
				//all finished
				adapter.endExclusive();
				
				// free port used by adapter
				adapter.freePort();
				return;
			}else{
				typebouton="DS1922";
				//set up 1-Wire container
				owcDS1922.setupContainer(adapter, adapter.getAddressAsString());
				
				//put the part into overdrive...make it sizzle!
				owcDS1922.setSpeed(adapter.SPEED_OVERDRIVE, false);
				owcDS1922.readDevice();
				typebouton=owcDS1922.getName();
				if (typebouton=="DS2422")
				{
					typebouton="DS1922L";
				}
				if (typebouton=="DS1922H")
				{
					typebouton="DS1923";
				}
				var sumStr
				sumStr = owcDS1922.getAddressAsString();
				//Display mission summary
				//alert(sumStr);
				JverifTB(mode+" : "+sumStr);
				}
			}else{
				typebouton="DS1921";
				//set up 1-Wire container
				owc.setupContainer(adapter, adapter.getAddressAsString());
				
				//put the part into overdrive...make it sizzle!
				owc.setSpeed(adapter.SPEED_OVERDRIVE, false);
			
				var sumStr
				sumStr = owc.getAddressAsString();
				//Display mission summary
				//alert(sumStr);
				JverifTB(mode+" : "+sumStr);
			}
		}
	catch(e)
	{
		JverifTB("PbButton");
	}
	
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();
}

function DS1921or22Releve()
{
	var typebouton="";
	// get the default adapter
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JDS1921or22Releve("NoAdapter");
		//all finished
		adapter.endExclusive();
		
		// free port used by adapter
		adapter.freePort();
		return;
	}
	adapter.beginExclusive(true);
	try
	{
		//setup adapter to search for Thermochrons
		adapter.targetFamily(0x21);
		adapter.reset();
		adapter.setSearchAllDevices();
		
		//get first Thermochron on the 1-Wire net
		var next = adapter.findFirstDevice();
		if (!next)
		{
			adapter.targetFamily(0x41);
			adapter.reset();
			adapter.setSearchAllDevices();
			var next1 = adapter.findFirstDevice();
			if (!next1)
			{
				JDS1921or22Releve("Nobutton");
				//all finished
				adapter.endExclusive();
				
				// free port used by adapter
				adapter.freePort();
				return;
				}else{
				typebouton="DS1922";
				//set up 1-Wire container
				owcDS1922.setupContainer(adapter, adapter.getAddressAsString());
				
				//put the part into overdrive...make it sizzle!
				owcDS1922.setSpeed(adapter.SPEED_OVERDRIVE, false);
				owcDS1922.readDevice();
				typebouton=owcDS1922.getName();
				if (typebouton=="DS2422")
				{
					typebouton="DS1922L";
				}
				if (typebouton=="DS1922H")
				{
					typebouton="DS1923";
				}
				var sumStr
				sumStr = owcDS1922.getAddressAsString();
				//Display mission summary
				//alert(sumStr);
				JDS1921or22Releve(sumStr);
				}
			}else{
				typebouton="DS1921";
				//set up 1-Wire container
				owc.setupContainer(adapter, adapter.getAddressAsString());
				
				//put the part into overdrive...make it sizzle!
				owc.setSpeed(adapter.SPEED_OVERDRIVE, false);
			
				var sumStr
				sumStr = owc.getAddressAsString();
				//Display mission summary
				//alert(sumStr);
				JDS1921or22Releve(sumStr);
			}
		}
	catch(e)
	{
		JDS1921or22Releve("PbButton");
	}
	
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();
}

//*************************************
//Fonction permettant de missionné un bouton
//*************************************

function MissionEquip(freq,setupdelay,synchro,rollover,highalarm,lowalarm,texte,nbcaract)
{
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JMissionEquip("NoAdapter");
		//all finished
		adapter.endExclusive();
		
		// free port used by adapter
		adapter.freePort();
		return;
	}
	
	adapter.beginExclusive(true);
	try
	{
		//setup adapter to search for Thermochrons
		adapter.targetFamily(0x21);
		adapter.reset();
		adapter.setSearchAllDevices();
		
		//get first Thermochron on the 1-Wire net
		var next = adapter.findFirstDevice();
		
		//set up 1-Wire container
		owc.setupContainer(adapter, adapter.getAddressAsString());
		
		//put the part into overdrive...make it sizzle!
		owc.setSpeed(adapter.SPEED_OVERDRIVE, false);
		
		var t1 = (new Date()).getTime();
		
		owc.disablemission();
		owc.clearmemory();
		var state = owc.readDevice();
		
		owc.setFlag(owc.STATUS_REGISTER,owc.TIMER_ALARM_FLAG,0,state);
		owc.setFlag(owc.STATUS_REGISTER,owc.TEMPERATURE_HIGH_FLAG,0,state);
		owc.setFlag(owc.STATUS_REGISTER,owc.TEMPERATURE_LOW_FLAG,0,state);
		owc.writeByte(owc.STATUS_REGISTER,0x80);
		
		if (rollover==1)
		{
			owc.setFlag(owc.CONTROL_REGISTER, owc.ROLLOVER_ENABLE_FLAG, 1, state);
		}else{
			owc.setFlag(owc.CONTROL_REGISTER, owc.ROLLOVER_ENABLE_FLAG, 0, state);	
		}
		
		owc.setTemperatureAlarm(owc.ALARM_HIGH,highalarm,state);
		if (synchro==1)
		{
			owc.setClock(t1,state);
		}
		owc.setTemperatureAlarm(owc.ALARM_LOW,lowalarm,state);
		owc.setMissionStartDelay(setupdelay,state);
		owc.setClockRunEnable(1,state);
		owc.writeDevice(state);
		owc.enableMission(freq);	
	}
	catch(e)
	{
		JMissionEquip("PbButton");
	}	
	texte=Remplace(texte,"<t>","\\t");
	texte=Remplace(texte,"<n>","\\n");
	texte=chars_from_hex(hex_from_dec(nbcaract))+texte;
	var crc16=compute(texte);
	texte=texte+chars_from_hex(crc16.slice(2,4))+chars_from_hex(crc16.slice(0,2));

	//Ecriture du texte dans le bouton
	var mb = null;
	var bank_enum = null;
	var str="nok";
	var strNVRAM;
	var i;
	var l;
	bank_enum=owc.getMemoryBanks();
	while (bank_enum.hasMoreElements())
	{
		mb=bank_enum.nextElement();
		if (mb.isPagedMemoryBank())
		{
			if (mb.isGeneralPurposeMemory())
			{
				l=texte.length;		
				ByteArray.setSize(l);
				for (i = 0; i < (l); i++)
				{
					ByteArray.setAt(i,charToByte(texte.substr(i,1)));
				}
				mb.write(0, ByteArray, 0, ByteArray.getSize());

				str="ok";
			}
		}
	}
	//alert(str);
	
	//all finished
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();
	
	JMissionEquip("Mission Start");
}

function MissionThermo(freq,setupdelay,synchro,rollover,highalarm,lowalarm,texte,nbcaract)
{
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JMissionThermo("NoAdapter");
		//all finished
		adapter.endExclusive();
		
		// free port used by adapter
		adapter.freePort();
		return;
	}
	
	adapter.beginExclusive(true);
	try
	{
		//setup adapter to search for Thermochrons
		adapter.targetFamily(0x21);
		adapter.reset();
		adapter.setSearchAllDevices();
		
		//get first Thermochron on the 1-Wire net
		var next = adapter.findFirstDevice();
		
		//set up 1-Wire container
		owc.setupContainer(adapter, adapter.getAddressAsString());
		
		//put the part into overdrive...make it sizzle!
		owc.setSpeed(adapter.SPEED_OVERDRIVE, false);
		
		var t1 = (new Date()).getTime();
		
		owc.disablemission();
		owc.clearmemory();
		var state = owc.readDevice();
		
		owc.setFlag(owc.STATUS_REGISTER,owc.TIMER_ALARM_FLAG,0,state);
		owc.setFlag(owc.STATUS_REGISTER,owc.TEMPERATURE_HIGH_FLAG,0,state);
		owc.setFlag(owc.STATUS_REGISTER,owc.TEMPERATURE_LOW_FLAG,0,state);
		owc.writeByte(owc.STATUS_REGISTER,0x80);
		
		if (rollover==1)
		{
			owc.setFlag(owc.CONTROL_REGISTER, owc.ROLLOVER_ENABLE_FLAG, 1, state);
		}else{
			owc.setFlag(owc.CONTROL_REGISTER, owc.ROLLOVER_ENABLE_FLAG, 0, state);	
		}
		
		owc.setTemperatureAlarm(owc.ALARM_HIGH,highalarm,state);
		if (synchro==1)
		{
			owc.setClock(t1,state);
		}
		owc.setTemperatureAlarm(owc.ALARM_LOW,lowalarm,state);
		owc.setMissionStartDelay(setupdelay,state);
		owc.setClockRunEnable(1,state);
		owc.writeDevice(state);
		owc.enableMission(freq);	
	}
	catch(e)
	{
		JMissionThermo("PbButton");
	}	
	texte=Remplace(texte,"<t>","\\t");
	texte=Remplace(texte,"<n>","\\n");
	texte=chars_from_hex(hex_from_dec(nbcaract))+texte;
	var crc16=compute(texte);
	texte=texte+chars_from_hex(crc16.slice(2,4))+chars_from_hex(crc16.slice(0,2));

	//Ecriture du texte dans le bouton
	var mb = null;
	var bank_enum = null;
	var str="nok";
	var strNVRAM;
	var i;
	var l;
	bank_enum=owc.getMemoryBanks();
	while (bank_enum.hasMoreElements())
	{
		mb=bank_enum.nextElement();
		if (mb.isPagedMemoryBank())
		{
			if (mb.isGeneralPurposeMemory())
			{
				l=texte.length;		
				ByteArray.setSize(l);
				for (i = 0; i < (l); i++)
				{
					ByteArray.setAt(i,charToByte(texte.substr(i,1)));
				}
				mb.write(0, ByteArray, 0, ByteArray.getSize());

				str="ok";
			}
		}
	}
	//alert(str);
	
	//all finished
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();
	
	JMissionThermo("Mission Start");
}

function Mission22Equip(mafrequence,mondelai,synchro,rollover,highalarm,lowalarm,texte,nbcaract,suta,sampleminorsec,maresolution)
{	
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JMission22Equip("NoAdapter");
		//alert("NoAdapter");
		//all finished
		adapter.endExclusive();
		
		// free port used by adapter
		adapter.freePort();
		return;
	}
	
	adapter.beginExclusive(true);
	try
	{
		//setup adapter to search for Thermochrons
		adapter.targetFamily(0x41);
		adapter.reset();
		adapter.setSearchAllDevices();

		//get first Thermochron on the 1-Wire net
		var next = adapter.findFirstDevice();

		//set up 1-Wire container
		owcDS1922.setupContainer(adapter, adapter.getAddressAsString());
		
		//put the part into overdrive...make it sizzle!
		owcDS1922.setSpeed(adapter.SPEED_OVERDRIVE, false);
		owcDS1922.readDevice();
		typebouton=owcDS1922.getName();
		var t1 = (new Date()).getTime();
		
		owcDS1922.stopMission();
		owcDS1922.clearMemory();
		owcDS1922.clearMissionResults();
		
		var state = owcDS1922.readDevice();


		owcDS1922.setFlag(19,32,0,state);			
		if (rollover==1)
		{
			owcDS1922.setFlag(19,16,1,state);
		}else{
			owcDS1922.setFlag(19,16,0,state);
		}

		if (maresolution==1)
		{
			owcDS1922.setFlag(19,4,0,state);
		}else{
			owcDS1922.setFlag(19,4,1,state);
		}
		owcDS1922.setFlag(18,2,0,state);
		
		if (suta==1)
		{
			owcDS1922.setFlag(19,32,1,state);
		}else{
			owcDS1922.setFlag(19,32,0,state);
		}

		//Mise en place du sample Rate
		if (sampleminorsec==0)
		{
			owcDS1922.setFlag(18,2,0,state);
		}else{
			owcDS1922.setFlag(18,2,1,state);
		}

		//traitement pour la mise en place de la fréquence de mesure.
		if ((mafrequence-8192)>=0)
		{
			owcDS1922.setFlag(7,32,1,state);
			mafrequence=mafrequence-8192;
		}else{
			owcDS1922.setFlag(7,32,0,state);
		}
		
		if ((mafrequence-4096)>=0)
		{
			owcDS1922.setFlag(7,16,1,state);
			mafrequence=mafrequence-4096;
		}else{
			owcDS1922.setFlag(7,16,0,state);
		}
		
		if ((mafrequence-2048)>=0)
		{
			owcDS1922.setFlag(7,8,1,state);
			mafrequence=mafrequence-2048;
		}else{
			owcDS1922.setFlag(7,8,0,state);
		}
		
		if ((mafrequence-1024)>=0)
		{
			owcDS1922.setFlag(7,4,1,state);
			mafrequence=mafrequence-1024;
		}else{
			owcDS1922.setFlag(7,4,0,state);
		}
		
		if ((mafrequence-512)>=0)
		{
			owcDS1922.setFlag(7,2,1,state);
			mafrequence=mafrequence-512;
		}else{
			owcDS1922.setFlag(7,2,0,state);
		}
		
		if ((mafrequence-256)>=0)
		{
			owcDS1922.setFlag(7,1,1,state);
			mafrequence=mafrequence-256;
		}else{
			owcDS1922.setFlag(7,1,0,state);
		}
	
		if ((mafrequence-128)>=0)
		{
			owcDS1922.setFlag(6,128,1,state);
			mafrequence=mafrequence-128;
		}else{
			owcDS1922.setFlag(6,128,0,state);
		}

		if ((mafrequence-64)>=0)
		{
			owcDS1922.setFlag(6,64,1,state);
			mafrequence=mafrequence-64;
		}else{
			owcDS1922.setFlag(6,64,0,state);
		}
				
		if ((mafrequence-32)>=0)
		{
			owcDS1922.setFlag(6,32,1,state);
			mafrequence=mafrequence-32;
		}else{
			owcDS1922.setFlag(6,32,0,state);
		}

		if ((mafrequence-16)>=0)
		{
			owcDS1922.setFlag(6,16,1,state);
			mafrequence=mafrequence-16;
		}else{
			owcDS1922.setFlag(6,16,0,state);
		}

		if ((mafrequence-8)>=0)
		{
			owcDS1922.setFlag(6,8,1,state);
			mafrequence=mafrequence-8;
		}else{
			owcDS1922.setFlag(6,8,0,state);
		}
		
		if ((mafrequence-4)>=0)
		{
			owcDS1922.setFlag(6,4,1,state);
			mafrequence=mafrequence-4;
		}else{
			owcDS1922.setFlag(6,4,0,state);
		}
		
		if ((mafrequence-2)>=0)
		{
			owcDS1922.setFlag(6,2,1,state);
			mafrequence=mafrequence-2;
		}else{
			owcDS1922.setFlag(6,2,0,state);
		}
	
		if ((mafrequence-1)>=0)
		{
			owcDS1922.setFlag(6,1,1,state);
			mafrequence=mafrequence-1;
		}else{
			owcDS1922.setFlag(6,1,0,state);
		}
		
		//passage pour le compte à rebours		
		if(mondelai-Math.pow(2,23)>=0)
		{
			owcDS1922.setflag(24,128,1,state);
			mondelai=mondelai-Math.pow(2,23);
		}else{
			owcDS1922.setflag(24,128,0,state);
		}
		
		if(mondelai-Math.pow(2,22)>=0)
		{
			owcDS1922.setflag(24,64,1,state);
			mondelai=mondelai-Math.pow(2,22);
		}else{
			owcDS1922.setflag(24,64,0,state);
		}

		if(mondelai-Math.pow(2,21)>=0)
		{
			owcDS1922.setflag(24,32,1,state);
			mondelai=mondelai-Math.pow(2,21);
		}else{
			owcDS1922.setflag(24,32,0,state);
		}

		if(mondelai-Math.pow(2,20)>=0)
		{
			owcDS1922.setflag(24,16,1,state);
			mondelai=mondelai-Math.pow(2,20);
		}else{
			owcDS1922.setflag(24,16,0,state);
		}
		if(mondelai-Math.pow(2,19)>=0)
		{
			owcDS1922.setflag(24,8,1,state);
			mondelai=mondelai-Math.pow(2,19);
		}else{
			owcDS1922.setflag(24,8,0,state);
		}
		if(mondelai-Math.pow(2,18)>=0)
		{
			owcDS1922.setflag(24,4,1,state);
			mondelai=mondelai-Math.pow(2,18);
		}else{
			owcDS1922.setflag(24,4,0,state);
		}
		if(mondelai-Math.pow(2,17)>=0)
		{
			owcDS1922.setflag(24,2,1,state);
			mondelai=mondelai-Math.pow(2,17);
		}else{
			owcDS1922.setflag(24,2,0,state);
		}
		if(mondelai-Math.pow(2,16)>=0)
		{
			owcDS1922.setflag(24,1,1,state);
			mondelai=mondelai-Math.pow(2,16);
		}else{
			owcDS1922.setflag(24,1,0,state);
		}
		if(mondelai-Math.pow(2,15)>=0)
		{
			owcDS1922.setflag(23,128,1,state);
			mondelai=mondelai-Math.pow(2,15);
		}else{
			owcDS1922.setflag(23,128,0,state);
		}
		if(mondelai-Math.pow(2,14)>=0)
		{
			owcDS1922.setflag(23,64,1,state);
			mondelai=mondelai-Math.pow(2,14);
		}else{
			owcDS1922.setflag(23,64,0,state);
		}
		if(mondelai-Math.pow(2,13)>=0)
		{
			owcDS1922.setflag(23,32,1,state);
			mondelai=mondelai-Math.pow(2,13);
		}else{
			owcDS1922.setflag(23,32,0,state);
		}
		if(mondelai-Math.pow(2,12)>=0)
		{
			owcDS1922.setflag(23,16,1,state);
			mondelai=mondelai-Math.pow(2,12);
		}else{
			owcDS1922.setflag(23,16,0,state);
		}
		if(mondelai-Math.pow(2,11)>=0)
		{
			owcDS1922.setflag(23,8,1,state);
			mondelai=mondelai-Math.pow(2,11);
		}else{
			owcDS1922.setflag(23,8,0,state);
		}
		if(mondelai-Math.pow(2,10)>=0)
		{
			owcDS1922.setflag(23,4,1,state);
			mondelai=mondelai-Math.pow(2,10);
		}else{
			owcDS1922.setflag(23,4,0,state);
		}
		if(mondelai-Math.pow(2,9)>=0)
		{
			owcDS1922.setflag(23,2,1,state);
			mondelai=mondelai-Math.pow(2,9);
		}else{
			owcDS1922.setflag(23,2,0,state);
		}
		if(mondelai-Math.pow(2,8)>=0)
		{
			owcDS1922.setflag(23,1,1,state);
			mondelai=mondelai-Math.pow(2,8);
		}else{
			owcDS1922.setflag(23,1,0,state);
		}
		if(mondelai-Math.pow(2,7)>=0)
		{
			owcDS1922.setflag(22,128,1,state);
			mondelai=mondelai-Math.pow(2,7);
		}else{
			owcDS1922.setflag(22,128,0,state);
		}
		if(mondelai-Math.pow(2,6)>=0)
		{
			owcDS1922.setflag(22,64,1,state);
			mondelai=mondelai-Math.pow(2,6);
		}else{
			owcDS1922.setflag(22,64,0,state);
		}
		if(mondelai-Math.pow(2,5)>=0)
		{
			owcDS1922.setflag(22,32,1,state);
			mondelai=mondelai-Math.pow(2,5);
		}else{
			owcDS1922.setflag(22,32,0,state);
		}
		if(mondelai-Math.pow(2,4)>=0)
		{
			owcDS1922.setflag(22,16,1,state);
			mondelai=mondelai-Math.pow(2,4);
		}else{
			owcDS1922.setflag(22,16,0,state);
		}
		if(mondelai-Math.pow(2,3)>=0)
		{
			owcDS1922.setflag(22,8,1,state);
			mondelai=mondelai-Math.pow(2,3);
		}else{
			owcDS1922.setflag(22,8,0,state);
		}
		if(mondelai-Math.pow(2,2)>=0)
		{
			owcDS1922.setflag(22,4,1,state);
			mondelai=mondelai-Math.pow(2,2);
		}else{
			owcDS1922.setflag(22,4,0,state);
		}
		if(mondelai-Math.pow(2,1)>=0)
		{
			owcDS1922.setflag(22,2,1,state);
			mondelai=mondelai-Math.pow(2,1);
		}else{
			owcDS1922.setflag(22,2,0,state);
		}
		if(mondelai-Math.pow(2,0)>=0)
		{
			owcDS1922.setflag(22,1,1,state);
			mondelai=mondelai-Math.pow(2,0);
		}else{
			owcDS1922.setflag(22,1,0,state);
		}
			
		
		if (typebouton=="DS1922T")
		{
			lowalarm=(lowalarm-1+2)*2;
		}else{
			lowalarm=(lowalarm-1+42)*2;
		}
		if (lowalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(8,128,1,state);
			lowalarm=lowalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(8,128,0,state);
		}

		if (lowalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(8,64,1,state);
			lowalarm=lowalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(8,64,0,state);
		}
				
		if (lowalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(8,32,1,state);
			lowalarm=lowalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(8,32,0,state);
		}
				
		if (lowalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(8,16,1,state);
			lowalarm=lowalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(8,16,0,state);
		}
				
		if (lowalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(8,8,1,state);
			lowalarm=lowalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(8,8,0,state);
		}
				
		if (lowalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(8,4,1,state);
			lowalarm=lowalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(8,4,0,state);
		}
			
		if (lowalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(8,2,1,state);
			lowalarm=lowalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(8,2,0,state);
		}
			
		if (lowalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(8,1,1,state);
			lowalarm=lowalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(8,1,0,state);
		}
				
		//////////////////////////////////
		//Mise en place alarme haute
		if (typebouton=="DS1922T")
		{
			highalarm=(highalarm-1+2)*2;
		}else{
			highalarm=(highalarm-1+42)*2;
		}
		if (highalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(9,128,1,state);
			highalarm=highalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(9,128,0,state);
		}
		if (highalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(9,64,1,state);
			highalarm=highalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(9,64,0,state);
		}
		if (highalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(9,32,1,state);
			highalarm=highalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(9,32,0,state);
		}
				
		if (highalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(9,16,1,state);
			highalarm=highalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(9,16,0,state);
		}
				
		if (highalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(9,8,1,state);
			highalarm=highalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(9,8,0,state);
		}
			
		if (highalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(9,4,1,state);
			highalarm=highalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(9,4,0,state);
		}

		if (highalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(9,2,1,state);
			highalarm=highalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(9,2,0,state);
		}

		if (highalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(9,1,1,state);
			highalarm=highalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(9,1,0,state);
		}

		owcDS1922.setFlag(owcDS1922.MISSION_CONTROL_REGISTER,owcDS1922.MCR_BIT_ENABLE_TEMPERATURE_LOGGING,1,state);
		owcDS1922.setFlag(19,1,1,state);
		owcDS1922.setFlag(19,2,0,state);
		owcDS1922.setTemperatureCalibrationRegisterUsage(1);
	
		if (synchro==1)
		{
			owcDS1922.setClock(t1,state);
		}
		
		owcDS1922.setClockRunEnable(1,state);
		owcDS1922.writeDevice(state);
		owcDS1922.startMission();

	}
	catch(e)
	{
		JMission22Equip("PbButton");
	}

	texte=Remplace(texte,"<t>","\\t");
	texte=Remplace(texte,"<n>","\\n");

	texte=chars_from_hex(hex_from_dec(nbcaract))+texte;
	var crc16=compute(texte);
	texte=texte+chars_from_hex(crc16.slice(2,4))+chars_from_hex(crc16.slice(0,2));

	//Ecriture du texte dans le bouton
	var mb = null;
	var bank_enum = null;
	var str="nok";
	var strNVRAM;
	var i;
	var l;
	bank_enum=owcDS1922.getMemoryBanks();
	while (bank_enum.hasMoreElements())
	{
		mb=bank_enum.nextElement();
		if (mb.isPagedMemoryBank())
		{
			if (mb.isGeneralPurposeMemory())
			{
				l=texte.length;		
				ByteArray.setSize(l);
				for (i = 0; i < (l); i++)
				{
					ByteArray.setAt(i,charToByte(texte.substr(i,1)));
				}
				mb.write(0, ByteArray, 0, ByteArray.getSize());
				str="ok";
			}
		}
	}
	
	//all finished
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();

	JMission22Equip("Mission Start");
}

function Mission22Thermo(mafrequence,mondelai,synchro,rollover,highalarm,lowalarm,texte,nbcaract,suta,sampleminorsec,maresolution)
{	
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JMission22Thermo("NoAdapter");
		//alert("NoAdapter");
		//all finished
		adapter.endExclusive();
		
		// free port used by adapter
		adapter.freePort();
		return;
	}
	
	adapter.beginExclusive(true);
	try
	{
		//setup adapter to search for Thermochrons
		adapter.targetFamily(0x41);
		adapter.reset();
		adapter.setSearchAllDevices();

		//get first Thermochron on the 1-Wire net
		var next = adapter.findFirstDevice();

		//set up 1-Wire container
		owcDS1922.setupContainer(adapter, adapter.getAddressAsString());
		
		//put the part into overdrive...make it sizzle!
		owcDS1922.setSpeed(adapter.SPEED_OVERDRIVE, false);
		owcDS1922.readDevice();
		typebouton=owcDS1922.getName();
		var t1 = (new Date()).getTime();
		
		owcDS1922.stopMission();
		owcDS1922.clearMemory();
		owcDS1922.clearMissionResults();
		
		var state = owcDS1922.readDevice();


		owcDS1922.setFlag(19,32,0,state);			
		if (rollover==1)
		{
			owcDS1922.setFlag(19,16,1,state);
		}else{
			owcDS1922.setFlag(19,16,0,state);
		}

		if (maresolution==1)
		{
			owcDS1922.setFlag(19,4,0,state);
		}else{
			owcDS1922.setFlag(19,4,1,state);
		}
		owcDS1922.setFlag(18,2,0,state);
		
		if (suta==1)
		{
			owcDS1922.setFlag(19,32,1,state);
		}else{
			owcDS1922.setFlag(19,32,0,state);
		}

		//Mise en place du sample Rate
		if (sampleminorsec==0)
		{
			owcDS1922.setFlag(18,2,0,state);
		}else{
			owcDS1922.setFlag(18,2,1,state);
		}

		//traitement pour la mise en place de la fréquence de mesure.
		if ((mafrequence-8192)>=0)
		{
			owcDS1922.setFlag(7,32,1,state);
			mafrequence=mafrequence-8192;
		}else{
			owcDS1922.setFlag(7,32,0,state);
		}
		
		if ((mafrequence-4096)>=0)
		{
			owcDS1922.setFlag(7,16,1,state);
			mafrequence=mafrequence-4096;
		}else{
			owcDS1922.setFlag(7,16,0,state);
		}
		
		if ((mafrequence-2048)>=0)
		{
			owcDS1922.setFlag(7,8,1,state);
			mafrequence=mafrequence-2048;
		}else{
			owcDS1922.setFlag(7,8,0,state);
		}
		
		if ((mafrequence-1024)>=0)
		{
			owcDS1922.setFlag(7,4,1,state);
			mafrequence=mafrequence-1024;
		}else{
			owcDS1922.setFlag(7,4,0,state);
		}
		
		if ((mafrequence-512)>=0)
		{
			owcDS1922.setFlag(7,2,1,state);
			mafrequence=mafrequence-512;
		}else{
			owcDS1922.setFlag(7,2,0,state);
		}
		
		if ((mafrequence-256)>=0)
		{
			owcDS1922.setFlag(7,1,1,state);
			mafrequence=mafrequence-256;
		}else{
			owcDS1922.setFlag(7,1,0,state);
		}
	
		if ((mafrequence-128)>=0)
		{
			owcDS1922.setFlag(6,128,1,state);
			mafrequence=mafrequence-128;
		}else{
			owcDS1922.setFlag(6,128,0,state);
		}

		if ((mafrequence-64)>=0)
		{
			owcDS1922.setFlag(6,64,1,state);
			mafrequence=mafrequence-64;
		}else{
			owcDS1922.setFlag(6,64,0,state);
		}
				
		if ((mafrequence-32)>=0)
		{
			owcDS1922.setFlag(6,32,1,state);
			mafrequence=mafrequence-32;
		}else{
			owcDS1922.setFlag(6,32,0,state);
		}

		if ((mafrequence-16)>=0)
		{
			owcDS1922.setFlag(6,16,1,state);
			mafrequence=mafrequence-16;
		}else{
			owcDS1922.setFlag(6,16,0,state);
		}

		if ((mafrequence-8)>=0)
		{
			owcDS1922.setFlag(6,8,1,state);
			mafrequence=mafrequence-8;
		}else{
			owcDS1922.setFlag(6,8,0,state);
		}
		
		if ((mafrequence-4)>=0)
		{
			owcDS1922.setFlag(6,4,1,state);
			mafrequence=mafrequence-4;
		}else{
			owcDS1922.setFlag(6,4,0,state);
		}
		
		if ((mafrequence-2)>=0)
		{
			owcDS1922.setFlag(6,2,1,state);
			mafrequence=mafrequence-2;
		}else{
			owcDS1922.setFlag(6,2,0,state);
		}
	
		if ((mafrequence-1)>=0)
		{
			owcDS1922.setFlag(6,1,1,state);
			mafrequence=mafrequence-1;
		}else{
			owcDS1922.setFlag(6,1,0,state);
		}
		
		//passage pour le compte à rebours		
		if(mondelai-Math.pow(2,23)>=0)
		{
			owcDS1922.setflag(24,128,1,state);
			mondelai=mondelai-Math.pow(2,23);
		}else{
			owcDS1922.setflag(24,128,0,state);
		}
		
		if(mondelai-Math.pow(2,22)>=0)
		{
			owcDS1922.setflag(24,64,1,state);
			mondelai=mondelai-Math.pow(2,22);
		}else{
			owcDS1922.setflag(24,64,0,state);
		}

		if(mondelai-Math.pow(2,21)>=0)
		{
			owcDS1922.setflag(24,32,1,state);
			mondelai=mondelai-Math.pow(2,21);
		}else{
			owcDS1922.setflag(24,32,0,state);
		}

		if(mondelai-Math.pow(2,20)>=0)
		{
			owcDS1922.setflag(24,16,1,state);
			mondelai=mondelai-Math.pow(2,20);
		}else{
			owcDS1922.setflag(24,16,0,state);
		}
		if(mondelai-Math.pow(2,19)>=0)
		{
			owcDS1922.setflag(24,8,1,state);
			mondelai=mondelai-Math.pow(2,19);
		}else{
			owcDS1922.setflag(24,8,0,state);
		}
		if(mondelai-Math.pow(2,18)>=0)
		{
			owcDS1922.setflag(24,4,1,state);
			mondelai=mondelai-Math.pow(2,18);
		}else{
			owcDS1922.setflag(24,4,0,state);
		}
		if(mondelai-Math.pow(2,17)>=0)
		{
			owcDS1922.setflag(24,2,1,state);
			mondelai=mondelai-Math.pow(2,17);
		}else{
			owcDS1922.setflag(24,2,0,state);
		}
		if(mondelai-Math.pow(2,16)>=0)
		{
			owcDS1922.setflag(24,1,1,state);
			mondelai=mondelai-Math.pow(2,16);
		}else{
			owcDS1922.setflag(24,1,0,state);
		}
		if(mondelai-Math.pow(2,15)>=0)
		{
			owcDS1922.setflag(23,128,1,state);
			mondelai=mondelai-Math.pow(2,15);
		}else{
			owcDS1922.setflag(23,128,0,state);
		}
		if(mondelai-Math.pow(2,14)>=0)
		{
			owcDS1922.setflag(23,64,1,state);
			mondelai=mondelai-Math.pow(2,14);
		}else{
			owcDS1922.setflag(23,64,0,state);
		}
		if(mondelai-Math.pow(2,13)>=0)
		{
			owcDS1922.setflag(23,32,1,state);
			mondelai=mondelai-Math.pow(2,13);
		}else{
			owcDS1922.setflag(23,32,0,state);
		}
		if(mondelai-Math.pow(2,12)>=0)
		{
			owcDS1922.setflag(23,16,1,state);
			mondelai=mondelai-Math.pow(2,12);
		}else{
			owcDS1922.setflag(23,16,0,state);
		}
		if(mondelai-Math.pow(2,11)>=0)
		{
			owcDS1922.setflag(23,8,1,state);
			mondelai=mondelai-Math.pow(2,11);
		}else{
			owcDS1922.setflag(23,8,0,state);
		}
		if(mondelai-Math.pow(2,10)>=0)
		{
			owcDS1922.setflag(23,4,1,state);
			mondelai=mondelai-Math.pow(2,10);
		}else{
			owcDS1922.setflag(23,4,0,state);
		}
		if(mondelai-Math.pow(2,9)>=0)
		{
			owcDS1922.setflag(23,2,1,state);
			mondelai=mondelai-Math.pow(2,9);
		}else{
			owcDS1922.setflag(23,2,0,state);
		}
		if(mondelai-Math.pow(2,8)>=0)
		{
			owcDS1922.setflag(23,1,1,state);
			mondelai=mondelai-Math.pow(2,8);
		}else{
			owcDS1922.setflag(23,1,0,state);
		}
		if(mondelai-Math.pow(2,7)>=0)
		{
			owcDS1922.setflag(22,128,1,state);
			mondelai=mondelai-Math.pow(2,7);
		}else{
			owcDS1922.setflag(22,128,0,state);
		}
		if(mondelai-Math.pow(2,6)>=0)
		{
			owcDS1922.setflag(22,64,1,state);
			mondelai=mondelai-Math.pow(2,6);
		}else{
			owcDS1922.setflag(22,64,0,state);
		}
		if(mondelai-Math.pow(2,5)>=0)
		{
			owcDS1922.setflag(22,32,1,state);
			mondelai=mondelai-Math.pow(2,5);
		}else{
			owcDS1922.setflag(22,32,0,state);
		}
		if(mondelai-Math.pow(2,4)>=0)
		{
			owcDS1922.setflag(22,16,1,state);
			mondelai=mondelai-Math.pow(2,4);
		}else{
			owcDS1922.setflag(22,16,0,state);
		}
		if(mondelai-Math.pow(2,3)>=0)
		{
			owcDS1922.setflag(22,8,1,state);
			mondelai=mondelai-Math.pow(2,3);
		}else{
			owcDS1922.setflag(22,8,0,state);
		}
		if(mondelai-Math.pow(2,2)>=0)
		{
			owcDS1922.setflag(22,4,1,state);
			mondelai=mondelai-Math.pow(2,2);
		}else{
			owcDS1922.setflag(22,4,0,state);
		}
		if(mondelai-Math.pow(2,1)>=0)
		{
			owcDS1922.setflag(22,2,1,state);
			mondelai=mondelai-Math.pow(2,1);
		}else{
			owcDS1922.setflag(22,2,0,state);
		}
		if(mondelai-Math.pow(2,0)>=0)
		{
			owcDS1922.setflag(22,1,1,state);
			mondelai=mondelai-Math.pow(2,0);
		}else{
			owcDS1922.setflag(22,1,0,state);
		}
		
		if (typebouton=="DS1922T")
		{
			lowalarm=(lowalarm-1+2)*2;
		}else{
			lowalarm=(lowalarm-1+42)*2;
		}
		if (lowalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(8,128,1,state);
			lowalarm=lowalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(8,128,0,state);
		}

		if (lowalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(8,64,1,state);
			lowalarm=lowalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(8,64,0,state);
		}
				
		if (lowalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(8,32,1,state);
			lowalarm=lowalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(8,32,0,state);
		}
				
		if (lowalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(8,16,1,state);
			lowalarm=lowalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(8,16,0,state);
		}
				
		if (lowalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(8,8,1,state);
			lowalarm=lowalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(8,8,0,state);
		}
				
		if (lowalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(8,4,1,state);
			lowalarm=lowalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(8,4,0,state);
		}
			
		if (lowalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(8,2,1,state);
			lowalarm=lowalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(8,2,0,state);
		}
			
		if (lowalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(8,1,1,state);
			lowalarm=lowalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(8,1,0,state);
		}
				
		//////////////////////////////////
		//Mise en place alarme haute
		if (typebouton=="DS1922T")
		{
			highalarm=(highalarm-1+2)*2;
		}else{
			highalarm=(highalarm-1+42)*2;
		}
		if (highalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(9,128,1,state);
			highalarm=highalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(9,128,0,state);
		}
		if (highalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(9,64,1,state);
			highalarm=highalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(9,64,0,state);
		}
		if (highalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(9,32,1,state);
			highalarm=highalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(9,32,0,state);
		}
				
		if (highalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(9,16,1,state);
			highalarm=highalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(9,16,0,state);
		}
				
		if (highalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(9,8,1,state);
			highalarm=highalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(9,8,0,state);
		}
			
		if (highalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(9,4,1,state);
			highalarm=highalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(9,4,0,state);
		}

		if (highalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(9,2,1,state);
			highalarm=highalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(9,2,0,state);
		}

		if (highalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(9,1,1,state);
			highalarm=highalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(9,1,0,state);
		}

		owcDS1922.setFlag(owcDS1922.MISSION_CONTROL_REGISTER,owcDS1922.MCR_BIT_ENABLE_TEMPERATURE_LOGGING,1,state);
		owcDS1922.setFlag(19,1,1,state);
		owcDS1922.setFlag(19,2,0,state);
		owcDS1922.setTemperatureCalibrationRegisterUsage(1);
	
		if (synchro==1)
		{
			owcDS1922.setClock(t1,state);
		}
		
		owcDS1922.setClockRunEnable(1,state);
		owcDS1922.writeDevice(state);
		owcDS1922.startMission();

	}
	catch(e)
	{
		JMission22Thermo("PbButton");
	}

	texte=Remplace(texte,"<t>","\\t");
	texte=Remplace(texte,"<n>","\\n");

	texte=chars_from_hex(hex_from_dec(nbcaract))+texte;
	var crc16=compute(texte);
	texte=texte+chars_from_hex(crc16.slice(2,4))+chars_from_hex(crc16.slice(0,2));

	//Ecriture du texte dans le bouton
	var mb = null;
	var bank_enum = null;
	var str="nok";
	var strNVRAM;
	var i;
	var l;
	bank_enum=owcDS1922.getMemoryBanks();
	while (bank_enum.hasMoreElements())
	{
		mb=bank_enum.nextElement();
		if (mb.isPagedMemoryBank())
		{
			if (mb.isGeneralPurposeMemory())
			{
				l=texte.length;		
				ByteArray.setSize(l);
				for (i = 0; i < (l); i++)
				{
					ByteArray.setAt(i,charToByte(texte.substr(i,1)));
				}
				mb.write(0, ByteArray, 0, ByteArray.getSize());
				str="ok";
			}
		}
	}
	
	//all finished
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();

	JMission22Thermo("Mission Start");
}

//************************************
//Fonction permettant de relever les boutons
//************************************

function Download()
{
	// get the default adapter
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JDownload("NoAdapter");
		adapter.endExclusive();
		adapter.freePort();
		return;
	}
	
	adapter.beginExclusive(true);
	try
	{
		adapter.targetFamily(0x21);
		adapter.reset();
		adapter.setSearchAllDevices();
		
		var next = adapter.findFirstDevice();
		
		if (!next)
      	{
        	JDownload("NoButton");
        }
         
		owc.setupContainer(adapter, adapter.getAddressAsString());
		
		owc.setSpeed(adapter.SPEED_OVERDRIVE, false);
		
		var state = owc.readDevice();
		
		var sn					= owc.getAddressAsString();
		var mission_in_progress = owc.getFlag(owc.STATUS_REGISTER, owc.MISSION_IN_PROGRESS_FLAG);
		
		var case1;
		var case2;
		var case3;
		var case4;
		var case5;
		var case6;
		var case7;
		var case8;
		
		//Récupération de l'année :
		var year;
		case1=owc.getflag(25,1,state);
		case2=owc.getflag(25,2,state);
		case3=owc.getflag(25,4,state);
		case4=owc.getflag(25,8,state);
		case5=owc.getflag(25,16,state);
		case6=owc.getflag(25,32,state);
		case7=owc.getflag(25,64,state);
		case8=owc.getflag(25,128,state);
		year=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2)+(case7*4)+(case8*8))*10+2000;
	
		//Récupération du mois :
		var month;
		case1=owc.getflag(24,1,state);
		case2=owc.getflag(24,2,state);
		case3=owc.getflag(24,4,state);
		case4=owc.getflag(24,8,state);
		case5=owc.getflag(24,16,state);
		month=(case1*1)+(case2*2)+(case3*4)+(case4*8)+(case5*1)*10;
	
		//Récupération du jour :
		var day;
		case1=owc.getflag(23,1,state);
		case2=owc.getflag(23,2,state);
		case3=owc.getflag(23,4,state);
		case4=owc.getflag(23,8,state);
		case5=owc.getflag(23,16,state);
		case6=owc.getflag(23,32,state);
		day=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2))*10;
	
		//Récupération de l'heure :
		var hour;
		case1=owc.getflag(22,1,state);
		case2=owc.getflag(22,2,state);
		case3=owc.getflag(22,4,state);
		case4=owc.getflag(22,8,state);
		case5=owc.getflag(22,16,state);
		case6=owc.getflag(22,32,state);
		hour=(case1*1)+(case2*2)+(case3*4)+(case4*8)+(case5*10)+(case6*20);
	
		//Récupération des minutes :
		var min;
		case1=owc.getflag(21,1,state);
		case2=owc.getflag(21,2,state);
		case3=owc.getflag(21,4,state);
		case4=owc.getflag(21,8,state);
		case5=owc.getflag(21,16,state);
		case6=owc.getflag(21,32,state);
		case7=owc.getflag(21,64,state);
		min=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2)+(case7*4))*10;
	
		var debmission = year+"-"+completeA2(month)+"-"+completeA2(day)+" "+completeA2(hour)+":"+completeA2(min);
		
		var rollover            = owc.getFlag(owc.CONTROL_REGISTER, owc.ROLLOVER_ENABLE_FLAG, state);
		var rolloveroccured		= owc.getFirstLogOffset(state);
		
		var mb = null;
		var bank_enum = null;
		var str="nok";
		var strNVRAM;
		var i;
		var l;
		bank_enum=owc.getMemoryBanks();
		while (bank_enum.hasMoreElements())
		{
			mb=bank_enum.nextElement();
			if (mb.isPagedMemoryBank())
			{
				if (mb.isGeneralPurposeMemory())
				{
					ByteArray.setSize(mb.getSize());
					mb.read(0,false,ByteArray,0,ByteArray.getSize());
					
					strNVRAM=ByteArray.toString();

					l=strNVRAM.length;
					str=""
					for (i = 0; i < (l); i++)
					{
						str=str + chars_from_hex(strNVRAM.substr(i*2,2))
					}
				}
			}
		}
		strNVRAM=str;
		var elem=strNVRAM.split("??");
		var elem2=elem[1].split("}}");
		strNVRAM=elem2[0];
				
		//var t1 					= (new Date()).getTime();
		var today = new Date();
		var t1=today.getYear()+"-"+completeA2(today.getMonth()+1)+"-"+completeA2(today.getDate())+" "+completeA2(today.getHours())+":"+completeA2(today.getMinutes());
		var rtc                 = unixtimetodate(parseInt(owc.getClock(state)));		
		var mission_count       = owc.getMissionSamplesCounter(state);
		var device_count        = owc.getDeviceSamplesCounter(state);
		var sample_rate         = owc.getSampleRate(state);
		
		var high_alarm          = owc.getTemperatureAlarm(owc.ALARM_HIGH, state);
		var low_alarm           = owc.getTemperatureAlarm(owc.ALARM_LOW, state);
		
		var current_temp        = 0;
		var time_stamp          = parseInt(owc.getMissionTimeStamp(state));
		var log                 = owc.getTemperatureLog(state);
		mission_count=log.getSize();
		var mission_in_progress_string;
		
		var time = parseInt(time_stamp)
		+ parseInt(owc.getFirstLogOffset(state));
		
		var tempLogStr="";
		
		var date = new Date();
		
		for (var i = 0; i < log.getSize(); i++)
		{
			date.setTime(time);
			var jour=completeA2(date.getDate());
			var mois=completeA2Mois(date.getMonth());
			var annee=date.getYear();
			var heure=completeA2(date.getHours());
			var minute=completeA2(date.getMinutes());
		
			if (i==0)
			{
				tempLogStr += annee+mois+jour+heure+minute+";";
			}
			tempLogStr += owc.decodeTemperature(log.getAt(i)) + "|";
			time += sample_rate * 60 * 1000;
		}
	}
	catch(e)
	{
		JDownload("PbButton");
	}
	
	//all finished
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();
	var retour="";
	var retour=sn+"?!?"+mission_in_progress+"?!?"+debmission+"?!?"+rollover+"?!?"+rolloveroccured+"?!?"+strNVRAM+"?!?"+t1+"?!?"+rtc+"?!?";
	var retour=retour+mission_count+"?!?"+device_count+"?!?"+sample_rate+"?!?"+low_alarm+"?!?"+high_alarm+"?!?"+tempLogStr+"?!?"

	JDownload(retour);
}

function Download22(type)
{
	// get the default adapter
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JDownload22("NoAdapter");
		adapter.endExclusive();
		adapter.freePort();
		return;
	}
	
	adapter.beginExclusive(true);
	try
	{
		adapter.targetFamily(0x41);
		adapter.reset();
		adapter.setSearchAllDevices();
		
		var next = adapter.findFirstDevice();
		
		if (!next)
      	{
			JDownload22("NoButton");
        }
         
		owcDS1922.setupContainer(adapter, adapter.getAddressAsString());
		
		owcDS1922.setSpeed(adapter.SPEED_OVERDRIVE, false);
		
		var state = owcDS1922.readDevice();
		owcDS1922.loadMissionResults();

		var sn					= owcDS1922.getAddressAsString();
		var mission_in_progress = owcDS1922.isMissionRunning();
		var suta				= owcDS1922.isMissionSUTA();
				
		var case1;
		var case2;
		var case3;
		var case4;
		var case5;
		var case6;
		var case7;
		var case8;
		
		//Récupération de l'année :
		var year;
		case1=owcDS1922.getflag(30,1,state);
		case2=owcDS1922.getflag(30,2,state);
		case3=owcDS1922.getflag(30,4,state);
		case4=owcDS1922.getflag(30,8,state);
		case5=owcDS1922.getflag(30,16,state);
		case6=owcDS1922.getflag(30,32,state);
		case7=owcDS1922.getflag(30,64,state);
		case8=owcDS1922.getflag(30,128,state);
		year=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2)+(case7*4)+(case8*8))*10+2000;
	
		//Récupération du mois :
		var month;
		case1=owcDS1922.getflag(29,1,state);
		case2=owcDS1922.getflag(29,2,state);
		case3=owcDS1922.getflag(29,4,state);
		case4=owcDS1922.getflag(29,8,state);
		case5=owcDS1922.getflag(29,16,state);
		month=(case1*1)+(case2*2)+(case3*4)+(case4*8)+(case5*1)*10;
	
		//Récupération du jour :
		var day;
		case1=owcDS1922.getflag(28,1,state);
		case2=owcDS1922.getflag(28,2,state);
		case3=owcDS1922.getflag(28,4,state);
		case4=owcDS1922.getflag(28,8,state);
		case5=owcDS1922.getflag(28,16,state);
		case6=owcDS1922.getflag(28,32,state);
		day=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2))*10;
	
		//Récupération de l'heure :
		var hour;
		case1=owcDS1922.getflag(27,1,state);
		case2=owcDS1922.getflag(27,2,state);
		case3=owcDS1922.getflag(27,4,state);
		case4=owcDS1922.getflag(27,8,state);
		case5=owcDS1922.getflag(27,16,state);
		case6=owcDS1922.getflag(27,32,state);
		hour=(case1*1)+(case2*2)+(case3*4)+(case4*8)+(case5*10)+(case6*20);
	
		//Récupération des minutes :
		var min;
		case1=owcDS1922.getflag(26,1,state);
		case2=owcDS1922.getflag(26,2,state);
		case3=owcDS1922.getflag(26,4,state);
		case4=owcDS1922.getflag(26,8,state);
		case5=owcDS1922.getflag(26,16,state);
		case6=owcDS1922.getflag(26,32,state);
		case7=owcDS1922.getflag(26,64,state);
		min=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2)+(case7*4))*10;
	
		//Récupération des secondes :
		var sec;
		case1=owcDS1922.getflag(25,1,state);
		case2=owcDS1922.getflag(25,2,state);
		case3=owcDS1922.getflag(25,4,state);
		case4=owcDS1922.getflag(25,8,state);
		case5=owcDS1922.getflag(25,16,state);
		case6=owcDS1922.getflag(25,32,state);
		case7=owcDS1922.getflag(25,64,state);
		sec=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2)+(case7*4))*10;
		
		var debmission = year+"-"+completeA2(month)+"-"+completeA2(day)+" "+completeA2(hour)+":"+completeA2(min)+":"+completeA2(sec);
		
		var rollover            = owcDS1922.isMissionRolloverEnabled();
		var rolloveroccured		= owcDS1922.hasMissionRolloverOccurred();
		
		var mb = null;
		var bank_enum = null;
		var str="nok";
		var strNVRAM;
		var i;
		var l;
		bank_enum=owcDS1922.getMemoryBanks();
		while (bank_enum.hasMoreElements())
		{
			mb=bank_enum.nextElement();
			if (mb.isPagedMemoryBank())
			{
				if (mb.isGeneralPurposeMemory())
				{
					ByteArray.setSize(mb.getSize());
					mb.read(0,false,ByteArray,0,ByteArray.getSize());
					
					strNVRAM=ByteArray.toString();

					l=strNVRAM.length;
					str=""
					for (i = 0; i < (l); i++)
					{
						str=str + chars_from_hex(strNVRAM.substr(i*2,2))
					}
				}
			}
		}
		strNVRAM=str;
		var elem2=strNVRAM.split("}}");
		strNVRAM=elem2[0];
				
		//var t1 					= (new Date()).getTime();
		var today = new Date();
		var t1=today.getYear()+"-"+completeA2(today.getMonth()+1)+"-"+completeA2(today.getDate())+" "+completeA2(today.getHours())+":"+completeA2(today.getMinutes())+":"+completeA2(today.getSeconds());
		var rtc                 = unixtimetodatesec(parseInt(owcDS1922.getClock(state)));
		var mission_count       = owcDS1922.getMissionSampleCounttotal(0);
		var device_count        = owcDS1922.getDeviceSampleCount();
		mission_count=owcDS1922.missionSampleCount(0);
		var sample_rate         = owcDS1922.getMissionSampleRate(0);
		
		var samplerateminorsec	= owcDS1922.readByte(0x212);
		if (samplerateminorsec<2)
		{
			sample_rate=sample_rate/60;
		}
		
		var resolution			= owcDS1922.getMissionResolution(0);
		if (resolution==0.0625)
		{
			resolution=0.1;
		}

		case1=owcDS1922.getflag(9,1,state);
		case2=owcDS1922.getflag(9,2,state);
		case3=owcDS1922.getflag(9,4,state);
		case4=owcDS1922.getflag(9,8,state);
		case5=owcDS1922.getflag(9,16,state);
		case6=owcDS1922.getflag(9,32,state);
		case7=owcDS1922.getflag(9,64,state);
		case8=owcDS1922.getflag(9,128,state);
		var high_alarm=ValeurAlarm(case1,case2,case3,case4,case5,case6,case7,case8,type);

		case1=owcDS1922.getflag(8,1,state);
		case2=owcDS1922.getflag(8,2,state);
		case3=owcDS1922.getflag(8,4,state);
		case4=owcDS1922.getflag(8,8,state);
		case5=owcDS1922.getflag(8,16,state);
		case6=owcDS1922.getflag(8,32,state);
		case7=owcDS1922.getflag(8,64,state);
		case8=owcDS1922.getflag(8,128,state);
		var low_alarm=ValeurAlarm(case1,case2,case3,case4,case5,case6,case7,case8,type);
		
		var current_temp        = 0;
		var time_stamp          = parseInt(owcDS1922.getMissionTimeStamp(0));
		
		var mission_in_progress_string;
		var time = parseInt(time_stamp) + parseInt(owcDS1922.getFirstSampleOffset(0));
		var tempLogStr="";
		
		var date = new Date();
		
		for (var i = 0; i < (owcDS1922.missionSampleCount(0)); i++)
		{
			date.setTime(time);
			var jour=completeA2(date.getDate());
			var mois=completeA2Mois(date.getMonth());
			var annee=date.getYear();
			var heure=completeA2(date.getHours());
			var minute=completeA2(date.getMinutes());
			var seconde=completeA2(date.getSeconds());
		
			if (i==0)
			{
				tempLogStr += annee+mois+jour+heure+minute+seconde+";";
			}
			tempLogStr += ConversionTemperature(owcDS1922.getMissionSample(0,i),resolution) + "|";
			time += sample_rate * 60 * 1000;
		}
	}
	catch(e)
	{
		JDownload22("PbButton");
	}
	
	//all finished
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();
	var retour="";
	var retour=sn+"?!?"+mission_in_progress+"?!?"+debmission+"?!?"+rollover+"?!?"+rolloveroccured+"?!?"+strNVRAM+"?!?"+t1+"?!?"+rtc+"?!?";
	retour=retour+mission_count+"?!?"+device_count+"?!?"+sample_rate+"?!?"+low_alarm+"?!?"+high_alarm+"?!?"+tempLogStr+"?!?"+samplerateminorsec+"?!?"+resolution+"?!?"+suta+"?!?";

	JDownload22(retour);
}

//#########################################//
//#########################################//
//######								######//
//######	FONCTIONS SPECIFIQUES AU DS1923	######//
//######								######//
//#########################################//
//#########################################//


function tempo()
{
	//Rien c'est une tempo...
}

function Mission23Equip(mafrequence,mondelai,synchro,rollover,highalarm,lowalarm,highalarmhum,lowalarmhum,texte,nbcaract,suta,sampleminorsec,maresolution)
{	
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JMission23Equip("NoAdapter");
		//alert("NoAdapter");
		//all finished
		adapter.endExclusive();
		
		// free port used by adapter
		adapter.freePort();
		return;
	}
	
	adapter.beginExclusive(true);
	try
	{
		//setup adapter to search for Thermochrons
		adapter.targetFamily(0x41);
		adapter.reset();
		adapter.setSearchAllDevices();

		//get first Thermochron on the 1-Wire net
		var next = adapter.findFirstDevice();

		//set up 1-Wire container
		owcDS1922.setupContainer(adapter, adapter.getAddressAsString());
		
		//put the part into overdrive...make it sizzle!
		owcDS1922.setSpeed(adapter.SPEED_OVERDRIVE, false);

		var t1 = (new Date()).getTime();
				
		owcDS1922.stopMission();
		owcDS1922.clearMemory();
		owcDS1922.clearMissionResults();
		
		var state = owcDS1922.readDevice();

		owcDS1922.setFlag(19,32,0,state);			
		if (rollover==1)
		{
			owcDS1922.setFlag(19,16,1,state);
		}else{
			owcDS1922.setFlag(19,16,0,state);
		}

		if (maresolution==1)
		{
			owcDS1922.setFlag(19,4,0,state);
			//résolution humidité
			owcDS1922.setFlag(19,8,0,state);
		}else{
			owcDS1922.setFlag(19,4,1,state);
			//résolution humidité
			owcDS1922.setFlag(19,8,1,state);
		}
		owcDS1922.setFlag(18,2,0,state);
		
		if (suta==1)
		{
			owcDS1922.setFlag(19,32,1,state);
		}else{
			owcDS1922.setFlag(19,32,0,state);
		}

		//Mise en place du sample Rate
		if (sampleminorsec==0)
		{
			owcDS1922.setFlag(18,2,0,state);
		}else{
			owcDS1922.setFlag(18,2,1,state);
		}

		//traitement pour la mise en place de la fréquence de mesure.
		if ((mafrequence-8192)>=0)
		{
			owcDS1922.setFlag(7,32,1,state);
			mafrequence=mafrequence-8192;
		}else{
			owcDS1922.setFlag(7,32,0,state);
		}
		
		if ((mafrequence-4096)>=0)
		{
			owcDS1922.setFlag(7,16,1,state);
			mafrequence=mafrequence-4096;
		}else{
			owcDS1922.setFlag(7,16,0,state);
		}
		
		if ((mafrequence-2048)>=0)
		{
			owcDS1922.setFlag(7,8,1,state);
			mafrequence=mafrequence-2048;
		}else{
			owcDS1922.setFlag(7,8,0,state);
		}
		
		if ((mafrequence-1024)>=0)
		{
			owcDS1922.setFlag(7,4,1,state);
			mafrequence=mafrequence-1024;
		}else{
			owcDS1922.setFlag(7,4,0,state);
		}
		
		if ((mafrequence-512)>=0)
		{
			owcDS1922.setFlag(7,2,1,state);
			mafrequence=mafrequence-512;
		}else{
			owcDS1922.setFlag(7,2,0,state);
		}
		
		if ((mafrequence-256)>=0)
		{
			owcDS1922.setFlag(7,1,1,state);
			mafrequence=mafrequence-256;
		}else{
			owcDS1922.setFlag(7,1,0,state);
		}
	
		if ((mafrequence-128)>=0)
		{
			owcDS1922.setFlag(6,128,1,state);
			mafrequence=mafrequence-128;
		}else{
			owcDS1922.setFlag(6,128,0,state);
		}

		if ((mafrequence-64)>=0)
		{
			owcDS1922.setFlag(6,64,1,state);
			mafrequence=mafrequence-64;
		}else{
			owcDS1922.setFlag(6,64,0,state);
		}
				
		if ((mafrequence-32)>=0)
		{
			owcDS1922.setFlag(6,32,1,state);
			mafrequence=mafrequence-32;
		}else{
			owcDS1922.setFlag(6,32,0,state);
		}

		if ((mafrequence-16)>=0)
		{
			owcDS1922.setFlag(6,16,1,state);
			mafrequence=mafrequence-16;
		}else{
			owcDS1922.setFlag(6,16,0,state);
		}

		if ((mafrequence-8)>=0)
		{
			owcDS1922.setFlag(6,8,1,state);
			mafrequence=mafrequence-8;
		}else{
			owcDS1922.setFlag(6,8,0,state);
		}
		
		if ((mafrequence-4)>=0)
		{
			owcDS1922.setFlag(6,4,1,state);
			mafrequence=mafrequence-4;
		}else{
			owcDS1922.setFlag(6,4,0,state);
		}
		
		if ((mafrequence-2)>=0)
		{
			owcDS1922.setFlag(6,2,1,state);
			mafrequence=mafrequence-2;
		}else{
			owcDS1922.setFlag(6,2,0,state);
		}
	
		if ((mafrequence-1)>=0)
		{
			owcDS1922.setFlag(6,1,1,state);
			mafrequence=mafrequence-1;
		}else{
			owcDS1922.setFlag(6,1,0,state);
		}
		
		//passage pour le compte à rebours		
		if(mondelai-Math.pow(2,23)>=0)
		{
			owcDS1922.setflag(24,128,1,state);
			mondelai=mondelai-Math.pow(2,23);
		}else{
			owcDS1922.setflag(24,128,0,state);
		}
		
		if(mondelai-Math.pow(2,22)>=0)
		{
			owcDS1922.setflag(24,64,1,state);
			mondelai=mondelai-Math.pow(2,22);
		}else{
			owcDS1922.setflag(24,64,0,state);
		}

		if(mondelai-Math.pow(2,21)>=0)
		{
			owcDS1922.setflag(24,32,1,state);
			mondelai=mondelai-Math.pow(2,21);
		}else{
			owcDS1922.setflag(24,32,0,state);
		}

		if(mondelai-Math.pow(2,20)>=0)
		{
			owcDS1922.setflag(24,16,1,state);
			mondelai=mondelai-Math.pow(2,20);
		}else{
			owcDS1922.setflag(24,16,0,state);
		}
		if(mondelai-Math.pow(2,19)>=0)
		{
			owcDS1922.setflag(24,8,1,state);
			mondelai=mondelai-Math.pow(2,19);
		}else{
			owcDS1922.setflag(24,8,0,state);
		}
		if(mondelai-Math.pow(2,18)>=0)
		{
			owcDS1922.setflag(24,4,1,state);
			mondelai=mondelai-Math.pow(2,18);
		}else{
			owcDS1922.setflag(24,4,0,state);
		}
		if(mondelai-Math.pow(2,17)>=0)
		{
			owcDS1922.setflag(24,2,1,state);
			mondelai=mondelai-Math.pow(2,17);
		}else{
			owcDS1922.setflag(24,2,0,state);
		}
		if(mondelai-Math.pow(2,16)>=0)
		{
			owcDS1922.setflag(24,1,1,state);
			mondelai=mondelai-Math.pow(2,16);
		}else{
			owcDS1922.setflag(24,1,0,state);
		}
		if(mondelai-Math.pow(2,15)>=0)
		{
			owcDS1922.setflag(23,128,1,state);
			mondelai=mondelai-Math.pow(2,15);
		}else{
			owcDS1922.setflag(23,128,0,state);
		}
		if(mondelai-Math.pow(2,14)>=0)
		{
			owcDS1922.setflag(23,64,1,state);
			mondelai=mondelai-Math.pow(2,14);
		}else{
			owcDS1922.setflag(23,64,0,state);
		}
		if(mondelai-Math.pow(2,13)>=0)
		{
			owcDS1922.setflag(23,32,1,state);
			mondelai=mondelai-Math.pow(2,13);
		}else{
			owcDS1922.setflag(23,32,0,state);
		}
		if(mondelai-Math.pow(2,12)>=0)
		{
			owcDS1922.setflag(23,16,1,state);
			mondelai=mondelai-Math.pow(2,12);
		}else{
			owcDS1922.setflag(23,16,0,state);
		}
		if(mondelai-Math.pow(2,11)>=0)
		{
			owcDS1922.setflag(23,8,1,state);
			mondelai=mondelai-Math.pow(2,11);
		}else{
			owcDS1922.setflag(23,8,0,state);
		}
		if(mondelai-Math.pow(2,10)>=0)
		{
			owcDS1922.setflag(23,4,1,state);
			mondelai=mondelai-Math.pow(2,10);
		}else{
			owcDS1922.setflag(23,4,0,state);
		}
		if(mondelai-Math.pow(2,9)>=0)
		{
			owcDS1922.setflag(23,2,1,state);
			mondelai=mondelai-Math.pow(2,9);
		}else{
			owcDS1922.setflag(23,2,0,state);
		}
		if(mondelai-Math.pow(2,8)>=0)
		{
			owcDS1922.setflag(23,1,1,state);
			mondelai=mondelai-Math.pow(2,8);
		}else{
			owcDS1922.setflag(23,1,0,state);
		}
		if(mondelai-Math.pow(2,7)>=0)
		{
			owcDS1922.setflag(22,128,1,state);
			mondelai=mondelai-Math.pow(2,7);
		}else{
			owcDS1922.setflag(22,128,0,state);
		}
		if(mondelai-Math.pow(2,6)>=0)
		{
			owcDS1922.setflag(22,64,1,state);
			mondelai=mondelai-Math.pow(2,6);
		}else{
			owcDS1922.setflag(22,64,0,state);
		}
		if(mondelai-Math.pow(2,5)>=0)
		{
			owcDS1922.setflag(22,32,1,state);
			mondelai=mondelai-Math.pow(2,5);
		}else{
			owcDS1922.setflag(22,32,0,state);
		}
		if(mondelai-Math.pow(2,4)>=0)
		{
			owcDS1922.setflag(22,16,1,state);
			mondelai=mondelai-Math.pow(2,4);
		}else{
			owcDS1922.setflag(22,16,0,state);
		}
		if(mondelai-Math.pow(2,3)>=0)
		{
			owcDS1922.setflag(22,8,1,state);
			mondelai=mondelai-Math.pow(2,3);
		}else{
			owcDS1922.setflag(22,8,0,state);
		}
		if(mondelai-Math.pow(2,2)>=0)
		{
			owcDS1922.setflag(22,4,1,state);
			mondelai=mondelai-Math.pow(2,2);
		}else{
			owcDS1922.setflag(22,4,0,state);
		}
		if(mondelai-Math.pow(2,1)>=0)
		{
			owcDS1922.setflag(22,2,1,state);
			mondelai=mondelai-Math.pow(2,1);
		}else{
			owcDS1922.setflag(22,2,0,state);
		}
		if(mondelai-Math.pow(2,0)>=0)
		{
			owcDS1922.setflag(22,1,1,state);
			mondelai=mondelai-Math.pow(2,0);
		}else{
			owcDS1922.setflag(22,1,0,state);
		}
		
		//Mise en place alarme basse			
		lowalarm=(lowalarm-1+42)*2;
		if (lowalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(8,128,1,state);
			lowalarm=lowalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(8,128,0,state);
		}

		if (lowalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(8,64,1,state);
			lowalarm=lowalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(8,64,0,state);
		}
				
		if (lowalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(8,32,1,state);
			lowalarm=lowalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(8,32,0,state);
		}
				
		if (lowalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(8,16,1,state);
			lowalarm=lowalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(8,16,0,state);
		}
				
		if (lowalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(8,8,1,state);
			lowalarm=lowalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(8,8,0,state);
		}
				
		if (lowalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(8,4,1,state);
			lowalarm=lowalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(8,4,0,state);
		}
			
		if (lowalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(8,2,1,state);
			lowalarm=lowalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(8,2,0,state);
		}
			
		if (lowalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(8,1,1,state);
			lowalarm=lowalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(8,1,0,state);
		}
				
		//////////////////////////////////
		//Mise en place alarme haute
		highalarm=(highalarm-1+42)*2;
		if (highalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(9,128,1,state);
			highalarm=highalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(9,128,0,state);
		}
		if (highalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(9,64,1,state);
			highalarm=highalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(9,64,0,state);
		}
		if (highalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(9,32,1,state);
			highalarm=highalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(9,32,0,state);
		}
				
		if (highalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(9,16,1,state);
			highalarm=highalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(9,16,0,state);
		}
				
		if (highalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(9,8,1,state);
			highalarm=highalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(9,8,0,state);
		}
			
		if (highalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(9,4,1,state);
			highalarm=highalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(9,4,0,state);
		}

		if (highalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(9,2,1,state);
			highalarm=highalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(9,2,0,state);
		}

		if (highalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(9,1,1,state);
			highalarm=highalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(9,1,0,state);
		}
		
		//Mise en place alarme basse humidité
		lowalarm=Math.round((((lowalarmhum*0.0307)+0.958)*256)/5.02);
		if (lowalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(10,128,1,state);
			lowalarm=lowalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(10,128,0,state);
		}

		if (lowalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(10,64,1,state);
			lowalarm=lowalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(10,64,0,state);
		}
				
		if (lowalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(10,32,1,state);
			lowalarm=lowalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(10,32,0,state);
		}
				
		if (lowalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(10,16,1,state);
			lowalarm=lowalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(10,16,0,state);
		}
				
		if (lowalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(10,8,1,state);
			lowalarm=lowalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(10,8,0,state);
		}
				
		if (lowalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(10,4,1,state);
			lowalarm=lowalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(10,4,0,state);
		}
			
		if (lowalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(10,2,1,state);
			lowalarm=lowalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(10,2,0,state);
		}
			
		if (lowalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(10,1,1,state);
			lowalarm=lowalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(10,1,0,state);
		}
		
		//Mise en place alarme haute humidité
		highalarm=Math.round((((highalarmhum*0.0307)+0.958)*256)/5.02);
		if (highalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(11,128,1,state);
			highalarm=highalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(11,128,0,state);
		}
		if (highalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(11,64,1,state);
			highalarm=highalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(11,64,0,state);
		}
		if (highalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(11,32,1,state);
			highalarm=highalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(11,32,0,state);
		}
				
		if (highalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(11,16,1,state);
			highalarm=highalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(11,16,0,state);
		}
				
		if (highalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(11,8,1,state);
			highalarm=highalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(11,8,0,state);
		}
			
		if (highalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(11,4,1,state);
			highalarm=highalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(11,4,0,state);
		}

		if (highalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(11,2,1,state);
			highalarm=highalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(11,2,0,state);
		}

		if (highalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(11,1,1,state);
			highalarm=highalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(11,1,0,state);
		}
		
		owcDS1922.setFlag(owcDS1922.MISSION_CONTROL_REGISTER,owcDS1922.MCR_BIT_ENABLE_TEMPERATURE_LOGGING,1,state);
		owcDS1922.setFlag(19,1,1,state);
		owcDS1922.setFlag(19,2,1,state);
		owcDS1922.setFlag(17,1,1,state);
		owcDS1922.setFlag(17,2,1,state);
		owcDS1922.setFlag(16,1,1,state);
		owcDS1922.setFlag(16,2,1,state);
		owcDS1922.setFlag(20,1,0,state);
		owcDS1922.setFlag(20,2,0,state);
		owcDS1922.setFlag(20,3,0,state);
		owcDS1922.setFlag(20,4,0,state);
		owcDS1922.setTemperatureCalibrationRegisterUsage(1);
		owcDS1922.setHumidityCalibrationRegisterUsage(1);
	
		if (synchro==1)
		{
			owcDS1922.setClock(t1,state);
		}
		
		owcDS1922.setClockRunEnable(1,state);
		owcDS1922.writeDevice(state);
		owcDS1922.startMission();

	}
	catch(e)
	{
		JMission23Equip("PbButton");
	}

	texte=Remplace(texte,"<t>","\\t");
	texte=Remplace(texte,"<n>","\\n");

	texte=chars_from_hex(hex_from_dec(nbcaract))+texte;
	var crc16=compute(texte);
	texte=texte+chars_from_hex(crc16.slice(2,4))+chars_from_hex(crc16.slice(0,2));

	//Ecriture du texte dans le bouton
	var mb = null;
	var bank_enum = null;
	var str="nok";
	var strNVRAM;
	var i;
	var l;
	bank_enum=owcDS1922.getMemoryBanks();
	while (bank_enum.hasMoreElements())
	{
		mb=bank_enum.nextElement();
		if (mb.isPagedMemoryBank())
		{
			if (mb.isGeneralPurposeMemory())
			{
				l=texte.length;		
				ByteArray.setSize(l);
				for (i = 0; i < (l); i++)
				{
					ByteArray.setAt(i,charToByte(texte.substr(i,1)));
				}
				mb.write(0, ByteArray, 0, ByteArray.getSize());
				str="ok";
			}
		}
	}
	
	//all finished
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();

	JMission23Equip("Mission Start");
}














function Mission23Thermo(mafrequence,mondelai,synchro,rollover,highalarm,lowalarm,highalarmhum,lowalarmhum,texte,nbcaract,suta,sampleminorsec,maresolution)
{	
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JMission23Thermo("NoAdapter");
		//alert("NoAdapter");
		//all finished
		adapter.endExclusive();
		
		// free port used by adapter
		adapter.freePort();
		return;
	}
	
	adapter.beginExclusive(true);
	try
	{
		//setup adapter to search for Thermochrons
		adapter.targetFamily(0x41);
		adapter.reset();
		adapter.setSearchAllDevices();

		//get first Thermochron on the 1-Wire net
		var next = adapter.findFirstDevice();

		//set up 1-Wire container
		owcDS1922.setupContainer(adapter, adapter.getAddressAsString());
		
		//put the part into overdrive...make it sizzle!
		owcDS1922.setSpeed(adapter.SPEED_OVERDRIVE, false);

		var t1 = (new Date()).getTime();
				
		owcDS1922.stopMission();
		owcDS1922.clearMemory();
		owcDS1922.clearMissionResults();
		
		var state = owcDS1922.readDevice();

		owcDS1922.setFlag(19,32,0,state);			
		if (rollover==1)
		{
			owcDS1922.setFlag(19,16,1,state);
		}else{
			owcDS1922.setFlag(19,16,0,state);
		}

		if (maresolution==1)
		{
			owcDS1922.setFlag(19,4,0,state);
			//résolution humidité
			owcDS1922.setFlag(19,8,0,state);
		}else{
			owcDS1922.setFlag(19,4,1,state);
			//résolution humidité
			owcDS1922.setFlag(19,8,1,state);
		}
		owcDS1922.setFlag(18,2,0,state);
		
		if (suta==1)
		{
			owcDS1922.setFlag(19,32,1,state);
		}else{
			owcDS1922.setFlag(19,32,0,state);
		}

		//Mise en place du sample Rate
		if (sampleminorsec==0)
		{
			owcDS1922.setFlag(18,2,0,state);
		}else{
			owcDS1922.setFlag(18,2,1,state);
		}

		//traitement pour la mise en place de la fréquence de mesure.
		if ((mafrequence-8192)>=0)
		{
			owcDS1922.setFlag(7,32,1,state);
			mafrequence=mafrequence-8192;
		}else{
			owcDS1922.setFlag(7,32,0,state);
		}
		
		if ((mafrequence-4096)>=0)
		{
			owcDS1922.setFlag(7,16,1,state);
			mafrequence=mafrequence-4096;
		}else{
			owcDS1922.setFlag(7,16,0,state);
		}
		
		if ((mafrequence-2048)>=0)
		{
			owcDS1922.setFlag(7,8,1,state);
			mafrequence=mafrequence-2048;
		}else{
			owcDS1922.setFlag(7,8,0,state);
		}
		
		if ((mafrequence-1024)>=0)
		{
			owcDS1922.setFlag(7,4,1,state);
			mafrequence=mafrequence-1024;
		}else{
			owcDS1922.setFlag(7,4,0,state);
		}
		
		if ((mafrequence-512)>=0)
		{
			owcDS1922.setFlag(7,2,1,state);
			mafrequence=mafrequence-512;
		}else{
			owcDS1922.setFlag(7,2,0,state);
		}
		
		if ((mafrequence-256)>=0)
		{
			owcDS1922.setFlag(7,1,1,state);
			mafrequence=mafrequence-256;
		}else{
			owcDS1922.setFlag(7,1,0,state);
		}
	
		if ((mafrequence-128)>=0)
		{
			owcDS1922.setFlag(6,128,1,state);
			mafrequence=mafrequence-128;
		}else{
			owcDS1922.setFlag(6,128,0,state);
		}

		if ((mafrequence-64)>=0)
		{
			owcDS1922.setFlag(6,64,1,state);
			mafrequence=mafrequence-64;
		}else{
			owcDS1922.setFlag(6,64,0,state);
		}
				
		if ((mafrequence-32)>=0)
		{
			owcDS1922.setFlag(6,32,1,state);
			mafrequence=mafrequence-32;
		}else{
			owcDS1922.setFlag(6,32,0,state);
		}

		if ((mafrequence-16)>=0)
		{
			owcDS1922.setFlag(6,16,1,state);
			mafrequence=mafrequence-16;
		}else{
			owcDS1922.setFlag(6,16,0,state);
		}

		if ((mafrequence-8)>=0)
		{
			owcDS1922.setFlag(6,8,1,state);
			mafrequence=mafrequence-8;
		}else{
			owcDS1922.setFlag(6,8,0,state);
		}
		
		if ((mafrequence-4)>=0)
		{
			owcDS1922.setFlag(6,4,1,state);
			mafrequence=mafrequence-4;
		}else{
			owcDS1922.setFlag(6,4,0,state);
		}
		
		if ((mafrequence-2)>=0)
		{
			owcDS1922.setFlag(6,2,1,state);
			mafrequence=mafrequence-2;
		}else{
			owcDS1922.setFlag(6,2,0,state);
		}
	
		if ((mafrequence-1)>=0)
		{
			owcDS1922.setFlag(6,1,1,state);
			mafrequence=mafrequence-1;
		}else{
			owcDS1922.setFlag(6,1,0,state);
		}
		
		//passage pour le compte à rebours		
		if(mondelai-Math.pow(2,23)>=0)
		{
			owcDS1922.setflag(24,128,1,state);
			mondelai=mondelai-Math.pow(2,23);
		}else{
			owcDS1922.setflag(24,128,0,state);
		}
		
		if(mondelai-Math.pow(2,22)>=0)
		{
			owcDS1922.setflag(24,64,1,state);
			mondelai=mondelai-Math.pow(2,22);
		}else{
			owcDS1922.setflag(24,64,0,state);
		}

		if(mondelai-Math.pow(2,21)>=0)
		{
			owcDS1922.setflag(24,32,1,state);
			mondelai=mondelai-Math.pow(2,21);
		}else{
			owcDS1922.setflag(24,32,0,state);
		}

		if(mondelai-Math.pow(2,20)>=0)
		{
			owcDS1922.setflag(24,16,1,state);
			mondelai=mondelai-Math.pow(2,20);
		}else{
			owcDS1922.setflag(24,16,0,state);
		}
		if(mondelai-Math.pow(2,19)>=0)
		{
			owcDS1922.setflag(24,8,1,state);
			mondelai=mondelai-Math.pow(2,19);
		}else{
			owcDS1922.setflag(24,8,0,state);
		}
		if(mondelai-Math.pow(2,18)>=0)
		{
			owcDS1922.setflag(24,4,1,state);
			mondelai=mondelai-Math.pow(2,18);
		}else{
			owcDS1922.setflag(24,4,0,state);
		}
		if(mondelai-Math.pow(2,17)>=0)
		{
			owcDS1922.setflag(24,2,1,state);
			mondelai=mondelai-Math.pow(2,17);
		}else{
			owcDS1922.setflag(24,2,0,state);
		}
		if(mondelai-Math.pow(2,16)>=0)
		{
			owcDS1922.setflag(24,1,1,state);
			mondelai=mondelai-Math.pow(2,16);
		}else{
			owcDS1922.setflag(24,1,0,state);
		}
		if(mondelai-Math.pow(2,15)>=0)
		{
			owcDS1922.setflag(23,128,1,state);
			mondelai=mondelai-Math.pow(2,15);
		}else{
			owcDS1922.setflag(23,128,0,state);
		}
		if(mondelai-Math.pow(2,14)>=0)
		{
			owcDS1922.setflag(23,64,1,state);
			mondelai=mondelai-Math.pow(2,14);
		}else{
			owcDS1922.setflag(23,64,0,state);
		}
		if(mondelai-Math.pow(2,13)>=0)
		{
			owcDS1922.setflag(23,32,1,state);
			mondelai=mondelai-Math.pow(2,13);
		}else{
			owcDS1922.setflag(23,32,0,state);
		}
		if(mondelai-Math.pow(2,12)>=0)
		{
			owcDS1922.setflag(23,16,1,state);
			mondelai=mondelai-Math.pow(2,12);
		}else{
			owcDS1922.setflag(23,16,0,state);
		}
		if(mondelai-Math.pow(2,11)>=0)
		{
			owcDS1922.setflag(23,8,1,state);
			mondelai=mondelai-Math.pow(2,11);
		}else{
			owcDS1922.setflag(23,8,0,state);
		}
		if(mondelai-Math.pow(2,10)>=0)
		{
			owcDS1922.setflag(23,4,1,state);
			mondelai=mondelai-Math.pow(2,10);
		}else{
			owcDS1922.setflag(23,4,0,state);
		}
		if(mondelai-Math.pow(2,9)>=0)
		{
			owcDS1922.setflag(23,2,1,state);
			mondelai=mondelai-Math.pow(2,9);
		}else{
			owcDS1922.setflag(23,2,0,state);
		}
		if(mondelai-Math.pow(2,8)>=0)
		{
			owcDS1922.setflag(23,1,1,state);
			mondelai=mondelai-Math.pow(2,8);
		}else{
			owcDS1922.setflag(23,1,0,state);
		}
		if(mondelai-Math.pow(2,7)>=0)
		{
			owcDS1922.setflag(22,128,1,state);
			mondelai=mondelai-Math.pow(2,7);
		}else{
			owcDS1922.setflag(22,128,0,state);
		}
		if(mondelai-Math.pow(2,6)>=0)
		{
			owcDS1922.setflag(22,64,1,state);
			mondelai=mondelai-Math.pow(2,6);
		}else{
			owcDS1922.setflag(22,64,0,state);
		}
		if(mondelai-Math.pow(2,5)>=0)
		{
			owcDS1922.setflag(22,32,1,state);
			mondelai=mondelai-Math.pow(2,5);
		}else{
			owcDS1922.setflag(22,32,0,state);
		}
		if(mondelai-Math.pow(2,4)>=0)
		{
			owcDS1922.setflag(22,16,1,state);
			mondelai=mondelai-Math.pow(2,4);
		}else{
			owcDS1922.setflag(22,16,0,state);
		}
		if(mondelai-Math.pow(2,3)>=0)
		{
			owcDS1922.setflag(22,8,1,state);
			mondelai=mondelai-Math.pow(2,3);
		}else{
			owcDS1922.setflag(22,8,0,state);
		}
		if(mondelai-Math.pow(2,2)>=0)
		{
			owcDS1922.setflag(22,4,1,state);
			mondelai=mondelai-Math.pow(2,2);
		}else{
			owcDS1922.setflag(22,4,0,state);
		}
		if(mondelai-Math.pow(2,1)>=0)
		{
			owcDS1922.setflag(22,2,1,state);
			mondelai=mondelai-Math.pow(2,1);
		}else{
			owcDS1922.setflag(22,2,0,state);
		}
		if(mondelai-Math.pow(2,0)>=0)
		{
			owcDS1922.setflag(22,1,1,state);
			mondelai=mondelai-Math.pow(2,0);
		}else{
			owcDS1922.setflag(22,1,0,state);
		}
		
		//Mise en place alarme basse			
		lowalarm=(lowalarm-1+42)*2;
		if (lowalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(8,128,1,state);
			lowalarm=lowalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(8,128,0,state);
		}

		if (lowalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(8,64,1,state);
			lowalarm=lowalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(8,64,0,state);
		}
				
		if (lowalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(8,32,1,state);
			lowalarm=lowalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(8,32,0,state);
		}
				
		if (lowalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(8,16,1,state);
			lowalarm=lowalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(8,16,0,state);
		}
				
		if (lowalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(8,8,1,state);
			lowalarm=lowalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(8,8,0,state);
		}
				
		if (lowalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(8,4,1,state);
			lowalarm=lowalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(8,4,0,state);
		}
			
		if (lowalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(8,2,1,state);
			lowalarm=lowalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(8,2,0,state);
		}
			
		if (lowalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(8,1,1,state);
			lowalarm=lowalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(8,1,0,state);
		}
				
		//////////////////////////////////
		//Mise en place alarme haute
		highalarm=(highalarm-1+42)*2;
		if (highalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(9,128,1,state);
			highalarm=highalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(9,128,0,state);
		}
		if (highalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(9,64,1,state);
			highalarm=highalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(9,64,0,state);
		}
		if (highalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(9,32,1,state);
			highalarm=highalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(9,32,0,state);
		}
				
		if (highalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(9,16,1,state);
			highalarm=highalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(9,16,0,state);
		}
				
		if (highalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(9,8,1,state);
			highalarm=highalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(9,8,0,state);
		}
			
		if (highalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(9,4,1,state);
			highalarm=highalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(9,4,0,state);
		}

		if (highalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(9,2,1,state);
			highalarm=highalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(9,2,0,state);
		}

		if (highalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(9,1,1,state);
			highalarm=highalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(9,1,0,state);
		}
		
		//Mise en place alarme basse humidité
		lowalarm=Math.round((((lowalarmhum*0.0307)+0.958)*256)/5.02);
		if (lowalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(10,128,1,state);
			lowalarm=lowalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(10,128,0,state);
		}

		if (lowalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(10,64,1,state);
			lowalarm=lowalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(10,64,0,state);
		}
				
		if (lowalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(10,32,1,state);
			lowalarm=lowalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(10,32,0,state);
		}
				
		if (lowalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(10,16,1,state);
			lowalarm=lowalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(10,16,0,state);
		}
				
		if (lowalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(10,8,1,state);
			lowalarm=lowalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(10,8,0,state);
		}
				
		if (lowalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(10,4,1,state);
			lowalarm=lowalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(10,4,0,state);
		}
			
		if (lowalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(10,2,1,state);
			lowalarm=lowalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(10,2,0,state);
		}
			
		if (lowalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(10,1,1,state);
			lowalarm=lowalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(10,1,0,state);
		}
		
		//Mise en place alarme haute humidité
		highalarm=Math.round((((highalarmhum*0.0307)+0.958)*256)/5.02);
		if (highalarm-Math.pow(2,7)>=0) 
		{
			owcDS1922.setflag(11,128,1,state);
			highalarm=highalarm-Math.pow(2,7);
		}else{
			owcDS1922.setflag(11,128,0,state);
		}
		if (highalarm-Math.pow(2,6)>=0) 
		{
			owcDS1922.setflag(11,64,1,state);
			highalarm=highalarm-Math.pow(2,6);
		}else{
			owcDS1922.setflag(11,64,0,state);
		}
		if (highalarm-Math.pow(2,5)>=0) 
		{
			owcDS1922.setflag(11,32,1,state);
			highalarm=highalarm-Math.pow(2,5);
		}else{
			owcDS1922.setflag(11,32,0,state);
		}
				
		if (highalarm-Math.pow(2,4)>=0) 
		{
			owcDS1922.setflag(11,16,1,state);
			highalarm=highalarm-Math.pow(2,4);
		}else{
			owcDS1922.setflag(11,16,0,state);
		}
				
		if (highalarm-Math.pow(2,3)>=0) 
		{
			owcDS1922.setflag(11,8,1,state);
			highalarm=highalarm-Math.pow(2,3);
		}else{
			owcDS1922.setflag(11,8,0,state);
		}
			
		if (highalarm-Math.pow(2,2)>=0) 
		{
			owcDS1922.setflag(11,4,1,state);
			highalarm=highalarm-Math.pow(2,2);
		}else{
			owcDS1922.setflag(11,4,0,state);
		}

		if (highalarm-Math.pow(2,1)>=0) 
		{
			owcDS1922.setflag(11,2,1,state);
			highalarm=highalarm-Math.pow(2,1);
		}else{
			owcDS1922.setflag(11,2,0,state);
		}

		if (highalarm-Math.pow(2,0)>=0) 
		{
			owcDS1922.setflag(11,1,1,state);
			highalarm=highalarm-Math.pow(2,0);
		}else{
			owcDS1922.setflag(11,1,0,state);
		}
		
		owcDS1922.setFlag(owcDS1922.MISSION_CONTROL_REGISTER,owcDS1922.MCR_BIT_ENABLE_TEMPERATURE_LOGGING,1,state);
		owcDS1922.setFlag(19,1,1,state);
		owcDS1922.setFlag(19,2,1,state);
		owcDS1922.setFlag(17,1,1,state);
		owcDS1922.setFlag(17,2,1,state);
		owcDS1922.setFlag(16,1,1,state);
		owcDS1922.setFlag(16,2,1,state);
		owcDS1922.setFlag(20,1,0,state);
		owcDS1922.setFlag(20,2,0,state);
		owcDS1922.setFlag(20,3,0,state);
		owcDS1922.setFlag(20,4,0,state);
		owcDS1922.setTemperatureCalibrationRegisterUsage(1);
		owcDS1922.setHumidityCalibrationRegisterUsage(1);
	
		if (synchro==1)
		{
			owcDS1922.setClock(t1,state);
		}
		
		owcDS1922.setClockRunEnable(1,state);
		owcDS1922.writeDevice(state);
		owcDS1922.startMission();

	}
	catch(e)
	{
		JMission23Thermo("PbButton");
	}

	texte=Remplace(texte,"<t>","\\t");
	texte=Remplace(texte,"<n>","\\n");

	texte=chars_from_hex(hex_from_dec(nbcaract))+texte;
	var crc16=compute(texte);
	texte=texte+chars_from_hex(crc16.slice(2,4))+chars_from_hex(crc16.slice(0,2));

	//Ecriture du texte dans le bouton
	var mb = null;
	var bank_enum = null;
	var str="nok";
	var strNVRAM;
	var i;
	var l;
	bank_enum=owcDS1922.getMemoryBanks();
	while (bank_enum.hasMoreElements())
	{
		mb=bank_enum.nextElement();
		if (mb.isPagedMemoryBank())
		{
			if (mb.isGeneralPurposeMemory())
			{
				l=texte.length;		
				ByteArray.setSize(l);
				for (i = 0; i < (l); i++)
				{
					ByteArray.setAt(i,charToByte(texte.substr(i,1)));
				}
				mb.write(0, ByteArray, 0, ByteArray.getSize());
				str="ok";
			}
		}
	}
	
	//all finished
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();

	JMission23Thermo("Mission Start");
}



















function Download23()
{
	// get the default adapter
	var adapter = null;
	try
	{
		adapter = access.getAdapter("{DS9490}","USB1");
	}
	catch(e)
	{
		JDownload23("NoAdapter");
		adapter.endExclusive();
		adapter.freePort();
		return;
	}
	
	adapter.beginExclusive(true);
	try
	{
		adapter.targetFamily(0x41);
		adapter.reset();
		adapter.setSearchAllDevices();
		
		var next = adapter.findFirstDevice();
		
		if (!next)
      	{
			JDownload23("NoButton");
        }
		owcDS1922.setupContainer(adapter, adapter.getAddressAsString());
		owcDS1922.setSpeed(adapter.SPEED_OVERDRIVE, false);
		
		var state = owcDS1922.readDevice();
		owcDS1922.loadMissionResults();

		var sn					= owcDS1922.getAddressAsString();
		var mission_in_progress = owcDS1922.isMissionRunning();
		var suta				= owcDS1922.isMissionSUTA();
				
		var case1;
		var case2;
		var case3;
		var case4;
		var case5;
		var case6;
		var case7;
		var case8;
		
		//Récupération de l'année :
		var year;
		case1=owcDS1922.getflag(30,1,state);
		case2=owcDS1922.getflag(30,2,state);
		case3=owcDS1922.getflag(30,4,state);
		case4=owcDS1922.getflag(30,8,state);
		case5=owcDS1922.getflag(30,16,state);
		case6=owcDS1922.getflag(30,32,state);
		case7=owcDS1922.getflag(30,64,state);
		case8=owcDS1922.getflag(30,128,state);
		year=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2)+(case7*4)+(case8*8))*10+2000;
	
		//Récupération du mois :
		var month;
		case1=owcDS1922.getflag(29,1,state);
		case2=owcDS1922.getflag(29,2,state);
		case3=owcDS1922.getflag(29,4,state);
		case4=owcDS1922.getflag(29,8,state);
		case5=owcDS1922.getflag(29,16,state);
		month=(case1*1)+(case2*2)+(case3*4)+(case4*8)+(case5*1)*10;
	
		//Récupération du jour :
		var day;
		case1=owcDS1922.getflag(28,1,state);
		case2=owcDS1922.getflag(28,2,state);
		case3=owcDS1922.getflag(28,4,state);
		case4=owcDS1922.getflag(28,8,state);
		case5=owcDS1922.getflag(28,16,state);
		case6=owcDS1922.getflag(28,32,state);
		day=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2))*10;
	
		//Récupération de l'heure :
		var hour;
		case1=owcDS1922.getflag(27,1,state);
		case2=owcDS1922.getflag(27,2,state);
		case3=owcDS1922.getflag(27,4,state);
		case4=owcDS1922.getflag(27,8,state);
		case5=owcDS1922.getflag(27,16,state);
		case6=owcDS1922.getflag(27,32,state);
		hour=(case1*1)+(case2*2)+(case3*4)+(case4*8)+(case5*10)+(case6*20);
	
		//Récupération des minutes :
		var min;
		case1=owcDS1922.getflag(26,1,state);
		case2=owcDS1922.getflag(26,2,state);
		case3=owcDS1922.getflag(26,4,state);
		case4=owcDS1922.getflag(26,8,state);
		case5=owcDS1922.getflag(26,16,state);
		case6=owcDS1922.getflag(26,32,state);
		case7=owcDS1922.getflag(26,64,state);
		min=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2)+(case7*4))*10;
	
		//Récupération des secondes :
		var sec;
		case1=owcDS1922.getflag(25,1,state);
		case2=owcDS1922.getflag(25,2,state);
		case3=owcDS1922.getflag(25,4,state);
		case4=owcDS1922.getflag(25,8,state);
		case5=owcDS1922.getflag(25,16,state);
		case6=owcDS1922.getflag(25,32,state);
		case7=owcDS1922.getflag(25,64,state);
		sec=(case1*1)+(case2*2)+(case3*4)+(case4*8)+((case5*1)+(case6*2)+(case7*4))*10;
		
		var debmission = year+"-"+completeA2(month)+"-"+completeA2(day)+" "+completeA2(hour)+":"+completeA2(min)+":"+completeA2(sec);
		
		var rollover            = owcDS1922.isMissionRolloverEnabled();
		var rolloveroccured		= owcDS1922.hasMissionRolloverOccurred();
		
		var mb = null;
		var bank_enum = null;
		var str="nok";
		var strNVRAM;
		var i;
		var l;
		bank_enum=owcDS1922.getMemoryBanks();
		while (bank_enum.hasMoreElements())
		{
			mb=bank_enum.nextElement();
			if (mb.isPagedMemoryBank())
			{
				if (mb.isGeneralPurposeMemory())
				{
					ByteArray.setSize(mb.getSize());
					mb.read(0,false,ByteArray,0,ByteArray.getSize());
					
					strNVRAM=ByteArray.toString();

					l=strNVRAM.length;
					str=""
					for (i = 0; i < (l); i++)
					{
						str=str + chars_from_hex(strNVRAM.substr(i*2,2))
					}
				}
			}
		}
		strNVRAM=str;
		var elem2=strNVRAM.split("}}");
		strNVRAM=elem2[0];
	
		//var t1 					= (new Date()).getTime();
		var today = new Date();
		var t1=today.getYear()+"-"+completeA2(today.getMonth()+1)+"-"+completeA2(today.getDate())+" "+completeA2(today.getHours())+":"+completeA2(today.getMinutes())+":"+completeA2(today.getSeconds());
		var rtc                 = unixtimetodatesec(parseInt(owcDS1922.getClock(state)));
		var mission_count       = owcDS1922.getMissionSampleCounttotal(0);
		var device_count        = owcDS1922.getDeviceSampleCount();
		mission_count=owcDS1922.missionSampleCount(0);
		var sample_rate         = owcDS1922.getMissionSampleRate(0);
		
		var samplerateminorsec	= owcDS1922.readByte(0x212);
		if (samplerateminorsec<2)
		{
			sample_rate=sample_rate/60;
		}
		
		var resolution			= owcDS1922.getMissionResolution(0);
		if (resolution==0.0625)
		{
			resolution=0.1;
		}

		var type="23";
		
		case1=owcDS1922.getflag(9,1,state);
		case2=owcDS1922.getflag(9,2,state);
		case3=owcDS1922.getflag(9,4,state);
		case4=owcDS1922.getflag(9,8,state);
		case5=owcDS1922.getflag(9,16,state);
		case6=owcDS1922.getflag(9,32,state);
		case7=owcDS1922.getflag(9,64,state);
		case8=owcDS1922.getflag(9,128,state);
		var high_alarm=ValeurAlarm(case1,case2,case3,case4,case5,case6,case7,case8,type);

		case1=owcDS1922.getflag(8,1,state);
		case2=owcDS1922.getflag(8,2,state);
		case3=owcDS1922.getflag(8,4,state);
		case4=owcDS1922.getflag(8,8,state);
		case5=owcDS1922.getflag(8,16,state);
		case6=owcDS1922.getflag(8,32,state);
		case7=owcDS1922.getflag(8,64,state);
		case8=owcDS1922.getflag(8,128,state);
		var low_alarm=ValeurAlarm(case1,case2,case3,case4,case5,case6,case7,case8,type);
		
		var type="23hum";
		
		case1=owcDS1922.getflag(11,1,state);
		case2=owcDS1922.getflag(11,2,state);
		case3=owcDS1922.getflag(11,4,state);
		case4=owcDS1922.getflag(11,8,state);
		case5=owcDS1922.getflag(11,16,state);
		case6=owcDS1922.getflag(11,32,state);
		case7=owcDS1922.getflag(11,64,state);
		case8=owcDS1922.getflag(11,128,state);
		var high_alarm_hum=ValeurAlarm(case1,case2,case3,case4,case5,case6,case7,case8,type);

		case1=owcDS1922.getflag(10,1,state);
		case2=owcDS1922.getflag(10,2,state);
		case3=owcDS1922.getflag(10,4,state);
		case4=owcDS1922.getflag(10,8,state);
		case5=owcDS1922.getflag(10,16,state);
		case6=owcDS1922.getflag(10,32,state);
		case7=owcDS1922.getflag(10,64,state);
		case8=owcDS1922.getflag(10,128,state);
		var low_alarm_hum=ValeurAlarm(case1,case2,case3,case4,case5,case6,case7,case8,type);
		
	
		var current_temp        = 0;
		var time_stamp          = parseInt(owcDS1922.getMissionTimeStamp(0));
	
		var mission_in_progress_string;
		var time = parseInt(time_stamp) + parseInt(owcDS1922.getFirstSampleOffset(0));
		var tempLogStr="";
		var humLogStr="";
		

		var date = new Date();
		
		//alert(owcDS1922.missionSampleCount(0));
		for (var i = 0; i < (owcDS1922.missionSampleCount(0)); i++)
		{
			date.setTime(time);
			var jour=completeA2(date.getDate());
			var mois=completeA2Mois(date.getMonth());
			var annee=date.getYear();
			var heure=completeA2(date.getHours());
			var minute=completeA2(date.getMinutes());
			var seconde=completeA2(date.getSeconds());
		
			if (i==0)
			{
				tempLogStr += annee+mois+jour+heure+minute+seconde+";";
				humLogStr += annee+mois+jour+heure+minute+seconde+";";
			}
			tempLogStr += ConversionTemperature(owcDS1922.getMissionSample(0,i),resolution) + "|";
			humLogStr += ConversionHumidite(owcDS1922.getMissionSample(1,i),resolution) + "|";
			time += sample_rate * 60 * 1000;
		}
	}
	catch(e)
	{
		JDownload23("PbButton");
	}
	
	//all finished
	adapter.endExclusive();
	
	// free port used by adapter
	adapter.freePort();
	var retour="";
	var retour=sn+"?!?"+mission_in_progress+"?!?"+debmission+"?!?"+rollover+"?!?"+rolloveroccured+"?!?"+strNVRAM+"?!?"+t1+"?!?"+rtc+"?!?";
	retour=retour+mission_count+"?!?"+device_count+"?!?"+sample_rate+"?!?"+low_alarm+"?!?"+high_alarm+"?!?"+tempLogStr+"?!?"+samplerateminorsec+"?!?"+resolution+"?!?"+suta+"?!?";
	retour=retour+low_alarm_hum+"?!?"+high_alarm_hum+"?!?"+humLogStr+"?!?";

	JDownload23(retour);
}

function fermeture()
{
	window.close();
}

