howto/come_gestire_comunicazione_CAN_con_PUZZE.md
... ...
@@ -1,8 +1,10 @@
1
-Quando si ha più di una **periferica PUZZLE** con cui comunicare in **CAN**, il modo per gestirle è di inlcudere nel **common.h** la libreria **puzzle.h**
1
+Quando si ha una più **periferiche PUZZLE** con cui comunicare in **CAN**, il modo per gestirle è di inlcudere nel **common.h** la libreria **puzzle.h**
2 2
3 3
Nella libreria è presente anche la parte per la comunicazione in RS485.
4 4
5
-Nel common.h o comunque in un file .h incluso nel common:
5
+Più avanti troverai anche la parte in start.c.
6
+
7
+Nel puzzle.h:
6 8
7 9
// For multiperif:
8 10
// #define PUZZLE_PERIFS 2, 3, 4, ...
... ...
@@ -2613,3 +2615,32 @@ Nel common.h o comunque in un file .h incluso nel common:
2613 2615
}
2614 2616
}
2615 2617
2618
+Nello start.c:
2619
+
2620
+ // Configurazione puzzle
2621
+ xn_config[0] = C_PT100; // Ogni slot xn viene configurato con la cosa collegata
2622
+ xn_config[1] = C_PT100;
2623
+ xn_config[2] = C_IN;
2624
+ xn_config[3] = C_EMPTY;
2625
+ xn_config[4] = C_EMPTY;
2626
+ xn_config[5] = C_EMPTY;
2627
+ xn_config[6] = C_EMPTY;
2628
+ xn_config[7] = C_EMPTY;
2629
+ //--------------------------------------
2630
+ p1_xn_config[0] = C_PT100; // Anche per la periferica 1
2631
+ p1_xn_config[1] = C_EMPTY;
2632
+ p1_xn_config[2] = C_IN;
2633
+ p1_xn_config[3] = C_IN;
2634
+ p1_xn_config[4] = C_EMPTY;
2635
+ p1_xn_config[5] = C_EMPTY;
2636
+ p1_xn_config[6] = C_EMPTY;
2637
+ p1_xn_config[7] = C_EMPTY;
2638
+
2639
+ // deve essere fatto per ogni periferica
2640
+
2641
+
2642
+ puzzle_start_can(1, 1); // inizializza il CAN (e1, e2) indicano: e1 = 0 --> no espansione da 1 a 4 e no encoder 1
2643
+ // e1 = 1 --> si espansioni da 1 a 4 oppure si encoder 1
2644
+ // e2 = 0 --> no espansione da 5 a 8 e no encoder 2
2645
+ // e2 = 1 --> si espansione da 5 a 8 oppure si encoder 2
2646
+