From f6fd2fa7087654323792bc60fb16671fe5954922 Mon Sep 17 00:00:00 2001
From: Erwan Jahier <jahier@imag.fr>
Date: Mon, 8 Oct 2018 14:49:23 +0200
Subject: [PATCH] clean sligthly

---
 arduino/led_puzlle/Makefile                   | 55 +++++++++++++++----
 arduino/led_puzlle/doc/puzzle.org             | 10 ++--
 arduino/led_puzlle/led.lus                    | 16 +++---
 .../{ => lustre}/arduino_puzzle1.lus          |  0
 .../{ => lustre}/arduino_puzzle2.lus          |  0
 .../{ => lustre}/arduino_puzzle3.lus          |  0
 .../{ => lustre}/arduino_puzzle4.lus          |  0
 .../{ => lustre}/arduino_puzzle5.lus          |  0
 .../{ => lustre}/arduino_puzzle6.lus          |  0
 9 files changed, 58 insertions(+), 23 deletions(-)
 rename arduino/led_puzlle/{ => lustre}/arduino_puzzle1.lus (100%)
 rename arduino/led_puzlle/{ => lustre}/arduino_puzzle2.lus (100%)
 rename arduino/led_puzlle/{ => lustre}/arduino_puzzle3.lus (100%)
 rename arduino/led_puzlle/{ => lustre}/arduino_puzzle4.lus (100%)
 rename arduino/led_puzlle/{ => lustre}/arduino_puzzle5.lus (100%)
 rename arduino/led_puzlle/{ => lustre}/arduino_puzzle6.lus (100%)

diff --git a/arduino/led_puzlle/Makefile b/arduino/led_puzlle/Makefile
index 27ce0155..55c4acd2 100644
--- a/arduino/led_puzlle/Makefile
+++ b/arduino/led_puzlle/Makefile
@@ -3,43 +3,74 @@
 FILE=led
 NODE=arduino_puzzle
 
+$(FILE)_$(NODE)_loop:
+	mkdir $(FILE)_$(NODE)_loop
 
-v6: led.lus
+v6: led.lus $(FILE)_$(NODE)_loop
 	lus2lic -2c $(FILE).lus -n $(NODE)
 	mv *.h $(FILE)_$(NODE)_loop/
 	mv $(FILE)_$(NODE).c $(FILE)_$(NODE)_loop/$(FILE)_$(NODE).cpp
 
 %.simu:
+	cp lustre/arduino_$*.lus arduino_puzzle.lus
 	luciole-rif lus2lic -exec -rif led.lus -n $* &
 
 %.arduino:
-	cp arduino_$*.lus arduino_puzzle.lus
+	cp lustre/arduino_$*.lus arduino_puzzle.lus
 	make v6
 
 %.no_sol:
+	cp lustre/arduino_$*.lus arduino_puzzle.lus
 	lus2lic -ec -o no_sol.ec led.lus -n $*_has_no_solution
-	ecverif no_sol.ec -diag  | sed 's/true//'  | sed 's/not\ red//' |  sed 's/not\ red\ or//'  |  sed 's/not\ blue\ or//'  |  sed 's/not\ blue//' | sed 's/\ and\ //'  && cat msg
+	ecverif no_sol.ec -diag > $*.diag || echo "$*: il existe une solution ! La voici:" \
+       echo "$*: ce puzzle est insoluble"
+	cat $*.diag | sed 's/true//'  | sed 's/not\ red//' |  sed 's/not\ red\ or//'  |  sed 's/not\ blue\ or//'  |  sed 's/not\ blue//' | sed 's/\ and\ //'  
 
 
 %.test:
+	cp lustre/arduino_$*.lus arduino_puzzle.lus
 	rdbg -lurette -l 1000  -sut "lus2lic led.lus -n $*" -env "lutin env.lut -n random_env" -oracle "lus2lic led.lus -n $*_has_no_solution" -o $*.rif || echo "Ce puzzle a une solution !"
 	gnuplot-rif $*.rif -no-display
 	gnuplot  -e 'set terminal qt size 1800,400' $*.gp
 
 %.debug:
-	rdbg  -sut "lus2lic led.lus -n $*"
+	rdbg -emacs -sut "lus2lic led.lus -n $*"
 
 
 clean:
-	rm -f *.c *.h *.ec *.sh *.rif *ession*.ml *.gp *.log *.dro *.seed
-	rm -f *.ps *.pdf *.dot *.cm* *.o 
+	rm -f *.c *.h *.ec *.sh *.rif *ession*.ml *.gp *.log *.dro *.seed *.diag
+	rm -f *.ps *.pdf *.dot *.cm* *.o  arduino_puzzle.lus
 	rm -f led_arduino_puzzle_loop/led_arduino_puzzle.cpp
 	rm -f led_arduino_puzzle_loop/*.h
-	cd doc; make clean
+	rm -f my-rdbg-tuning.ml
 
+a1: puzzle1.arduino
+s1: puzzle1.simu
+p1: puzzle1.no_sol
+t1: puzzle1.test
+
+a2: puzzle2.arduino
+s2: puzzle2.simu
+p2: puzzle2.no_sol
+t2: puzzle2.test
+
+a3: puzzle3.arduino
+s3: puzzle3.simu
+p3: puzzle3.no_sol
+t3: puzzle3.test
+
+a4: puzzle4.arduino
+s4: puzzle4.simu
+p4: puzzle4.no_sol
+t4: puzzle4.test
+
+a5: puzzle5.arduino
+s5: puzzle5.simu
+p5: puzzle5.no_sol
+t5: puzzle5.test
+
+a6: puzzle6.arduino
+s6: puzzle6.simu
+p6: puzzle6.no_sol
+t6: puzzle6.test
 
-v4: 
-	lus2ec $(FILE).lus $(FILE)
-	ec2c $(FILE).ec
-	mv $(FILE).h $(FILE)_loop_v4/
-	mv $(FILE).c $(FILE)_loop_v4/$(FILE).cpp
diff --git a/arduino/led_puzlle/doc/puzzle.org b/arduino/led_puzlle/doc/puzzle.org
index 264cebcb..47067418 100644
--- a/arduino/led_puzlle/doc/puzzle.org
+++ b/arduino/led_puzlle/doc/puzzle.org
@@ -53,7 +53,7 @@ permettant de montrer
 
 Il s'agit  donc de valider   un petit système,  composé d'un
 programme  Lustre et  d'une  carte =Arduino=,  comportant 2  entrées,
-contrôlées par  un bouton  rouge et  un bouton  bleu, et  5 sorties,
+contrôllées par  un bouton  rouge et  un bouton  bleu, et  5 sorties,
 représentées par 5 leds.
 
 
@@ -96,9 +96,11 @@ tel
 
 * Puzzle 4
 
-- Bouton bleu : idem
-- Bouton rouge :  inverse l'état d'une led qui circule à  chaque pression mais
-  dans un sens différent selon la couleur du bouton pressé
+
+- Bouton  rouge :  inverse l'état  d'une led  qui circule  en montant
+  (=led1=, puis =led2=, etc.) à chaque pression
+- Bouton bleu : permutation circulaire des leds + permutation inverse
+  (en descandant) de la led courante controllée par le bouton rouge
 
 * Puzzle 5 
 
diff --git a/arduino/led_puzlle/led.lus b/arduino/led_puzlle/led.lus
index edb6b4c3..53e385ee 100644
--- a/arduino/led_puzlle/led.lus
+++ b/arduino/led_puzlle/led.lus
@@ -8,9 +8,9 @@ const T=true;
 const Eteint=false;
 const Allume=true;
 
--- demo : mettre Allume au debut, puis Eteint faux apres la 1ere expe
- const led1_00 = Eteint; 
---const led1_00 = Allume;
+-- demo : mettre Allume au debut, puis Eteint apres la 1ere expe
+-- const led1_00 = Eteint; 
+const led1_00 = Allume;
 const led2_00 = Allume;
 const led3_00 = Eteint;
 const led4_00 = Eteint;
@@ -79,9 +79,11 @@ let
 tel
       
 ----------------------------------------------------------------------------
--- blue => permutation circulaire
--- red  => inverse une led qui circule a chaque pression mais 
---         dans un sens different selon la couleur du bouton pressé
+-- dans ce puzzle, une 
+-- red  => inverse l'état  d'une led  qui circule  en montant
+--  (led1, puis led2, etc.) à chaque pression
+-- blue => permutation circulaire des leds + permutation inverse
+--  (en descandant) de la led courante controllée par le bouton rouge
 node puzzle4 (red,blue:bool) returns (led1,led2,led3,led4,led5:bool);
 var
   X1, X2, X3, X4, X5 : bool;
@@ -117,7 +119,7 @@ let
                    if red and X5 then not(pre(led5)) else pre(led5);
 tel
 ----------------------------------------------------------------------------
--- phase d'init sur les 5 premieres pressions : le bleu etteint , et le rouge allume
+-- phase d'init sur les 5 premieres pressions : le bleu eteint , et le rouge allume
 -- blue => la led courante devient le xor des leds autours 
 -- red  => la led courante devient le and des leds autours
 -- la led courante est le premiere au debut, puis la deuxieme, etc.  
diff --git a/arduino/led_puzlle/arduino_puzzle1.lus b/arduino/led_puzlle/lustre/arduino_puzzle1.lus
similarity index 100%
rename from arduino/led_puzlle/arduino_puzzle1.lus
rename to arduino/led_puzlle/lustre/arduino_puzzle1.lus
diff --git a/arduino/led_puzlle/arduino_puzzle2.lus b/arduino/led_puzlle/lustre/arduino_puzzle2.lus
similarity index 100%
rename from arduino/led_puzlle/arduino_puzzle2.lus
rename to arduino/led_puzlle/lustre/arduino_puzzle2.lus
diff --git a/arduino/led_puzlle/arduino_puzzle3.lus b/arduino/led_puzlle/lustre/arduino_puzzle3.lus
similarity index 100%
rename from arduino/led_puzlle/arduino_puzzle3.lus
rename to arduino/led_puzlle/lustre/arduino_puzzle3.lus
diff --git a/arduino/led_puzlle/arduino_puzzle4.lus b/arduino/led_puzlle/lustre/arduino_puzzle4.lus
similarity index 100%
rename from arduino/led_puzlle/arduino_puzzle4.lus
rename to arduino/led_puzlle/lustre/arduino_puzzle4.lus
diff --git a/arduino/led_puzlle/arduino_puzzle5.lus b/arduino/led_puzlle/lustre/arduino_puzzle5.lus
similarity index 100%
rename from arduino/led_puzlle/arduino_puzzle5.lus
rename to arduino/led_puzlle/lustre/arduino_puzzle5.lus
diff --git a/arduino/led_puzlle/arduino_puzzle6.lus b/arduino/led_puzlle/lustre/arduino_puzzle6.lus
similarity index 100%
rename from arduino/led_puzlle/arduino_puzzle6.lus
rename to arduino/led_puzlle/lustre/arduino_puzzle6.lus
-- 
GitLab