Modifs diverses apres tests sur stager
This commit is contained in:
parent
4968abe429
commit
9efb590fea
6 changed files with 79 additions and 23 deletions
|
|
@ -74,7 +74,7 @@ namespace DMX2
|
|||
// Démarrage du thread
|
||||
tickThread = new Thread (new ThreadStart (ThreadLoop));
|
||||
tickThread.Start ();
|
||||
derniereMaj = dernierTick = DateTime.Now;
|
||||
|
||||
}
|
||||
|
||||
public EventManager EventManager {
|
||||
|
|
@ -195,7 +195,7 @@ namespace DMX2
|
|||
{
|
||||
Thread.CurrentThread.Priority = ThreadPriority.AboveNormal;
|
||||
DateTime next;
|
||||
|
||||
dernierTick = DateTime.Now;
|
||||
while (running) {
|
||||
|
||||
try{
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ namespace DMX2
|
|||
portname = serialport;
|
||||
outputbuffer[0]=27;
|
||||
outputbuffer[1]=68;
|
||||
Start();
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -59,20 +60,26 @@ namespace DMX2
|
|||
|
||||
void Connection ()
|
||||
{
|
||||
Console.WriteLine ("DriverV2.Connection()");
|
||||
if (serial != null) {
|
||||
serial.Close();
|
||||
serial.Dispose();
|
||||
serial.Close ();
|
||||
serial.Dispose ();
|
||||
}
|
||||
serial = new SerialPort(portname, 460800,Parity.None,8,StopBits.One);
|
||||
serial.DtrEnable = false;
|
||||
serial.ReadTimeout = 15;
|
||||
serial = new SerialPort (portname, 460800, Parity.None, 8, StopBits.One);
|
||||
//serial.DtrEnable = false;
|
||||
serial.ReadTimeout = 200;
|
||||
serial.WriteTimeout = 200;
|
||||
serial.Open();
|
||||
try {
|
||||
serial.Open ();
|
||||
etat = etatAutomate.Transmission;
|
||||
} catch {
|
||||
etat = etatAutomate.Deconnecte;
|
||||
}
|
||||
}
|
||||
|
||||
volatile etatAutomate etat = etatAutomate.Deconnecte;
|
||||
DateTime finAttente = DateTime.Now;
|
||||
int compteErreur = 0;
|
||||
|
||||
void MainLoop()
|
||||
{
|
||||
|
|
@ -81,7 +88,9 @@ namespace DMX2
|
|||
switch (etat) {
|
||||
case etatAutomate.Deconnecte:
|
||||
Connection();
|
||||
Attente(DateTime.Now.AddMilliseconds(200));
|
||||
compteErreur= 0;
|
||||
Attente(DateTime.Now.AddMilliseconds(1000));
|
||||
serial.DiscardInBuffer();
|
||||
break;
|
||||
case etatAutomate.Transmission:
|
||||
finAttente = DateTime.Now.AddMilliseconds (22);
|
||||
|
|
@ -90,8 +99,15 @@ namespace DMX2
|
|||
Attente(finAttente);
|
||||
break;
|
||||
case etatAutomate.Erreur:
|
||||
compteErreur ++;
|
||||
if(compteErreur>3){
|
||||
Deconnecte();
|
||||
Attente(DateTime.Now.AddSeconds(2));
|
||||
}
|
||||
else {
|
||||
Attente(DateTime.Now.AddSeconds(1));
|
||||
etat = etatAutomate.Transmission;
|
||||
}
|
||||
break;
|
||||
// case etatAutomate.Parametrage:
|
||||
// EnvoiParam();
|
||||
|
|
@ -115,6 +131,7 @@ namespace DMX2
|
|||
|
||||
void Deconnecte ()
|
||||
{
|
||||
Console.WriteLine("DriverV2.Deconnection");
|
||||
etat = etatAutomate.Deconnecte;
|
||||
if(serial == null) return;
|
||||
|
||||
|
|
@ -129,11 +146,12 @@ namespace DMX2
|
|||
etat = etatAutomate.Erreur;
|
||||
}
|
||||
|
||||
if(patch1!=null) patch1.CalculUnivers(outputbuffer,3,512);
|
||||
if(patch1!=null) patch1.CalculUnivers(outputbuffer,2,512);
|
||||
|
||||
serial.Write(outputbuffer,0,outputbuffer.Length);
|
||||
|
||||
} catch (TimeoutException ex) {
|
||||
} catch (Exception ex) {
|
||||
Console.WriteLine("Exception Envoi {0}",ex);
|
||||
etat = etatAutomate.Erreur;
|
||||
}
|
||||
}
|
||||
|
|
@ -158,9 +176,12 @@ namespace DMX2
|
|||
}
|
||||
|
||||
serial.Read(inputbuffer,0,inputbuffer.Length);
|
||||
ProcessInput();
|
||||
|
||||
} catch (TimeoutException ex) {
|
||||
//ProcessInput();
|
||||
//Console.WriteLine(inputbuffer[0]);
|
||||
compteErreur= 0;
|
||||
} catch (Exception ex) {
|
||||
Console.WriteLine(serial.BytesToRead);
|
||||
Console.WriteLine("Exception Reception {0}",ex);
|
||||
etat = etatAutomate.Erreur;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,12 @@ namespace DMX2
|
|||
TreeIter iter;
|
||||
lsCbUnivers.GetIterFirst(out iter);
|
||||
cbUnivers.SetActiveIter(iter);
|
||||
this.Destroyed += HandleDestroyed;
|
||||
}
|
||||
|
||||
void HandleDestroyed (object sender, EventArgs e)
|
||||
{
|
||||
universEdite.AllumageForce[currDimm] = false;
|
||||
}
|
||||
|
||||
void RenderUniversName (CellLayout cell_layout, CellRenderer cell, TreeModel tree_model, TreeIter iter)
|
||||
|
|
@ -223,6 +228,9 @@ namespace DMX2
|
|||
majencour = true;
|
||||
int id = (int)(spinDimmer.Value);
|
||||
|
||||
universEdite.AllumageForce[currDimm] = false;
|
||||
btAllume.Active = false;
|
||||
|
||||
currDimm = id - 1;
|
||||
tvDimm.SetCursor( new TreePath( new int[1] { currDimm }) ,null,false);
|
||||
|
||||
|
|
@ -408,5 +416,13 @@ namespace DMX2
|
|||
MajListeDimmer();
|
||||
}
|
||||
|
||||
protected void OnBtAllumeClicked (object sender, EventArgs e)
|
||||
{
|
||||
if (majencour)
|
||||
return;
|
||||
universEdite.AllumageForce[currDimm] = btAllume.Active;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,19 +105,23 @@ namespace DMX2
|
|||
if (fi == null)
|
||||
return;
|
||||
|
||||
DriverDMX drv = Conduite.Courante.GetDriverByID (fi.Name);
|
||||
drv = Conduite.Courante.GetDriverByID (fi.Name);
|
||||
if (drv == null) {
|
||||
btnConnect.Visible = btnConnect.Sensitive = true;
|
||||
btnDisconnect.Visible = btnDisconnect.Sensitive = false;
|
||||
|
||||
comboDriver.Sensitive = true;
|
||||
comboDriver.Active=-1;
|
||||
if(frmDrvChild.Child!=null)
|
||||
frmDrvChild.Remove(frmDrvChild.Child);
|
||||
return;
|
||||
}
|
||||
|
||||
AfficheDriverUI(drv);
|
||||
AfficheDriverUI();
|
||||
|
||||
}
|
||||
|
||||
DriverDMX drv=null;
|
||||
protected void OnBtnConnectClicked (object sender, EventArgs e)
|
||||
{
|
||||
// Instancie
|
||||
|
|
@ -132,7 +136,7 @@ namespace DMX2
|
|||
if (fi == null)
|
||||
return;
|
||||
|
||||
DriverDMX drv=null;
|
||||
drv=null;
|
||||
|
||||
switch (comboDriver.Active) {
|
||||
case 0:
|
||||
|
|
@ -147,16 +151,20 @@ namespace DMX2
|
|||
return;
|
||||
}
|
||||
|
||||
AfficheDriverUI(drv);
|
||||
AfficheDriverUI();
|
||||
|
||||
}
|
||||
|
||||
protected void OnBtnDisConnectClicked (object sender, EventArgs e)
|
||||
{
|
||||
//Dispose;
|
||||
if (drv != null) {
|
||||
drv.Dispose ();
|
||||
Conduite.Courante.Drivers.Remove (drv);
|
||||
}
|
||||
|
||||
void AfficheDriverUI(DriverDMX drv){
|
||||
}
|
||||
|
||||
void AfficheDriverUI(){
|
||||
btnConnect.Visible = false;
|
||||
comboDriver.Sensitive = false;
|
||||
|
||||
|
|
@ -166,6 +174,15 @@ namespace DMX2
|
|||
frmDrvChild.ShowAll();
|
||||
|
||||
}
|
||||
|
||||
void EffaceDriverUI(){
|
||||
btnConnect.Visible = true;
|
||||
comboDriver.Sensitive = true;
|
||||
|
||||
btnDisconnect.Visible = btnDisconnect.Sensitive = false;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -376,6 +376,7 @@ namespace DMX2
|
|||
this.btAdd.Clicked += new global::System.EventHandler (this.OnBtAddClicked);
|
||||
this.btPatchDroit.Clicked += new global::System.EventHandler (this.OnBtPatchDroitClicked);
|
||||
this.btReset.Clicked += new global::System.EventHandler (this.OnBtResetClicked);
|
||||
this.btAllume.Clicked += new global::System.EventHandler (this.OnBtAllumeClicked);
|
||||
this.spinDimmer.ValueChanged += new global::System.EventHandler (this.OnSpinDimmerValueChanged);
|
||||
this.cbCircuit.Changed += new global::System.EventHandler (this.OnCbCircuitChanged);
|
||||
this.cbFT.Changed += new global::System.EventHandler (this.OnCbFTChanged);
|
||||
|
|
|
|||
|
|
@ -1366,6 +1366,7 @@ au sequenceur</property>
|
|||
<property name="Icon">stock:gtk-find Menu</property>
|
||||
<property name="Label" translatable="yes">Allumer !</property>
|
||||
<property name="UseUnderline">True</property>
|
||||
<signal name="Clicked" handler="OnBtAllumeClicked" />
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="Position">0</property>
|
||||
|
|
|
|||
Loading…
Reference in a new issue