Add test_led with lot's of interesting test functions (not documented yet), and the file sapin_noel is for 2 reg now.
This commit is contained in:
parent
72dce7118a
commit
1a7b22e8d4
1
Makefile
1
Makefile
|
@ -11,6 +11,7 @@ OUTPUT=$(MAIN:.ml=.bin)
|
||||||
|
|
||||||
all: $(OBJECTS)
|
all: $(OBJECTS)
|
||||||
$(CC) $(OPT) -cclib -lwiringPi unix.cma $(SOURCES) $(MAIN) -o $(OUTPUT)
|
$(CC) $(OPT) -cclib -lwiringPi unix.cma $(SOURCES) $(MAIN) -o $(OUTPUT)
|
||||||
|
$(CC) $(OPT) -cclib -lwiringPi unix.cma $(SOURCES) test_led.ml -o test_led.bin
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.cmo *.cmi *.cmx
|
rm -f *.cmo *.cmi *.cmx
|
||||||
|
|
BIN
sapin_noel.bin
BIN
sapin_noel.bin
Binary file not shown.
|
@ -28,18 +28,37 @@ let anim_01 reg leds n =
|
||||||
clearLeds leds;
|
clearLeds leds;
|
||||||
for k = 0 to (Array.length leds) - 1 do
|
for k = 0 to (Array.length leds) - 1 do
|
||||||
leds.(k) <- true;
|
leds.(k) <- true;
|
||||||
applyReg reg leds 0.1;
|
applyReg reg leds 0.2;
|
||||||
leds.(k) <- false
|
leds.(k) <- false
|
||||||
done;
|
done;
|
||||||
for k = (Array.length leds) - 2 downto 0 do
|
for k = (Array.length leds) - 2 downto 0 do
|
||||||
leds.(k) <- true;
|
leds.(k) <- true;
|
||||||
applyReg reg leds 0.1;
|
applyReg reg leds 0.2;
|
||||||
leds.(k) <- false
|
leds.(k) <- false
|
||||||
done;
|
done;
|
||||||
lightLeds leds;
|
lightLeds leds;
|
||||||
applyReg reg leds 1.;
|
applyReg reg leds 1.;
|
||||||
done
|
done
|
||||||
|
|
||||||
|
let anim_02 reg leds n =
|
||||||
|
let t = ref 1. in
|
||||||
|
for i = 0 to n do
|
||||||
|
clearLeds leds;
|
||||||
|
for k = 0 to (Array.length leds) - 1 do
|
||||||
|
leds.(k) <- true;
|
||||||
|
applyReg reg leds (!t /. 10.);
|
||||||
|
leds.(k) <- false
|
||||||
|
done;
|
||||||
|
for k = (Array.length leds) - 2 downto 0 do
|
||||||
|
leds.(k) <- true;
|
||||||
|
applyReg reg leds (!t /. 10.);
|
||||||
|
leds.(k) <- false
|
||||||
|
done;
|
||||||
|
lightLeds leds;
|
||||||
|
applyReg reg leds !t;
|
||||||
|
t := !t /. 1.2;
|
||||||
|
done
|
||||||
|
|
||||||
let _ =
|
let _ =
|
||||||
(* On choisit le mode d'affichage Phys *)
|
(* On choisit le mode d'affichage Phys *)
|
||||||
ignore(setupPhys ());
|
ignore(setupPhys ());
|
||||||
|
@ -47,9 +66,9 @@ let _ =
|
||||||
(* On crée le register *)
|
(* On crée le register *)
|
||||||
(* En mode pulse : *)
|
(* En mode pulse : *)
|
||||||
(* let reg = genReg 11 13 15 ~pulse:true in *)
|
(* let reg = genReg 11 13 15 ~pulse:true in *)
|
||||||
let reg = genReg 11 13 15 in
|
let reg = genReg 11 13 15 ~invert:false in
|
||||||
(* On initialise *)
|
(* On initialise *)
|
||||||
let leds = initReg reg ~nb_reg:1 in
|
let leds = initReg reg ~nb_reg:2 in
|
||||||
let t = true
|
let t = true
|
||||||
and f = false in
|
and f = false in
|
||||||
Printf.printf "Début\n%!";
|
Printf.printf "Début\n%!";
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
open WiringPiOcaml;;
|
||||||
|
open ShiftReg;;
|
||||||
|
|
||||||
|
let test reg leds =
|
||||||
|
lightLeds leds;
|
||||||
|
(* Pour montrer la différence entre les deux modes *)
|
||||||
|
Printf.printf "The pulse mode...\n%!";
|
||||||
|
applyRegPulse reg leds 2.;
|
||||||
|
|
||||||
|
Printf.printf "The classic mode...\n%!";
|
||||||
|
applyRegAll reg leds;
|
||||||
|
Unix.sleep 2;
|
||||||
|
|
||||||
|
Printf.printf "Only one led :\n%!";
|
||||||
|
clearLeds leds;
|
||||||
|
leds.(1) <- true;
|
||||||
|
Printf.printf "The pulse mode...\n%!";
|
||||||
|
applyRegPulse reg leds 2.;
|
||||||
|
|
||||||
|
Printf.printf "The classic mode...\n%!";
|
||||||
|
applyRegAll reg leds;
|
||||||
|
Unix.sleep 2
|
||||||
|
|
||||||
|
let _ =
|
||||||
|
let what = Sys.argv.(1) in
|
||||||
|
Printf.printf "%s\n" Sys.argv.(1);
|
||||||
|
ignore(setupPhys ());
|
||||||
|
let reg = genReg 11 13 15 ~invert:false in
|
||||||
|
let leds = initReg reg ~nb_reg:2 in
|
||||||
|
let t = true
|
||||||
|
and f = false in
|
||||||
|
clearLeds leds;
|
||||||
|
if what = "g" then begin
|
||||||
|
let make_t n k =
|
||||||
|
clearLeds leds;
|
||||||
|
for k = 0 to Array.length leds - 1 do
|
||||||
|
if k mod 3 = 0 then
|
||||||
|
leds.(k) <- t;
|
||||||
|
done
|
||||||
|
in
|
||||||
|
make_t 3 0;
|
||||||
|
let t1 = Array.copy leds in
|
||||||
|
make_t 3 1;
|
||||||
|
let t2 = Array.copy leds in
|
||||||
|
make_t 3 2;
|
||||||
|
let t3 = Array.copy leds in
|
||||||
|
let t = [|t1;t2;t3|] in
|
||||||
|
while true do
|
||||||
|
applyReg reg t1 0.5;
|
||||||
|
applyReg reg t2 0.5;
|
||||||
|
applyReg reg t3 0.5;
|
||||||
|
done
|
||||||
|
end
|
||||||
|
else if what = "a" then begin
|
||||||
|
lightLeds leds;
|
||||||
|
while true do
|
||||||
|
applyReg reg leds 10.;
|
||||||
|
done;
|
||||||
|
end
|
||||||
|
else if what = "e" then begin
|
||||||
|
clearLeds leds;
|
||||||
|
while true do
|
||||||
|
applyReg reg leds 10.;
|
||||||
|
done;
|
||||||
|
end
|
||||||
|
else if what = "f" then begin
|
||||||
|
findLedNumber reg leds;
|
||||||
|
end
|
||||||
|
else if what = "obo" then begin
|
||||||
|
clearLeds leds;
|
||||||
|
leds.(int_of_string Sys.argv.(2)) <- t;
|
||||||
|
applyReg reg leds 10.;
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(*
|
||||||
|
9 -> saute la 7e (première du nvx)
|
||||||
|
15 --> réagit légèrement
|
||||||
|
*)
|
Loading…
Reference in New Issue