a.binder 5 år sedan
förälder
incheckning
6679c151ce
23 ändrade filer med 325 tillägg och 39 borttagningar
  1. 16 8
      SE/stuff/P5_Automation_can-dev-res-working-1930/P5_Automation_can-dev-res-working-1930.ino
  2. 3 2
      SE/stuff/P5_Automation_can-dev-res-working-1930/_CAN/_CAN_setup.h
  3. 5 5
      SE/stuff/P5_Automation_can-dev-res-working-1930/_CAN/_Slave_Ports_Protocol_CAN_struct.h
  4. 1 4
      SE/stuff/P5_Automation_can-dev-res-working-1930/_DISPLAY_func.h
  5. 1 1
      SE/stuff/P5_Automation_can-dev-res-working-1930/_DISPLAY_func_PRINT_CLASS_MENU_TITLE.h
  6. 1 0
      SE/stuff/P5_Automation_can-dev-res-working-1930/_Port_I2C_driver_struct.h
  7. 5 2
      SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_I2C_func.h
  8. 23 0
      SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_I2C_func_PCF8574.h
  9. 1 1
      SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_Status_QUEUE_add_func.h
  10. 3 3
      SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_Status_func.h
  11. 2 2
      SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_action_func.h
  12. 1 1
      SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_broadcast_func.h
  13. 2 2
      SE/stuff/P5_Automation_can-dev-res-working-1930/_TFT_ILI9163C_config.h
  14. 3 0
      SE/stuff/P5_Automation_can-dev-res-working-1930/_TFT_ILI9163C_setup.h
  15. 1 1
      SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/0x11/setup_Active_ControllerID_0x11.h
  16. 1 1
      SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/0x13/setup_Active_ControllerID_0x13.h
  17. 31 0
      SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/0x35/config_Active_ControllerID_0x35.h
  18. 209 0
      SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/0x35/config_Slave_Ports_LOCAL_0x35_init.h
  19. 2 1
      SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/config_Active_ControllerID.h
  20. 8 2
      SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/config_Slave_Ports_LOCAL_init.h
  21. 5 0
      SE/stuff/P5_Automation_can-dev-res-working-1930/___loop/_SlaveID_loop1.h
  22. 0 2
      SE/stuff/P5_Automation_can-dev-res-working-1930/___loop/__main_loop_end.h
  23. 1 1
      SE/stuff/P5_Automation_can-dev-res-working-1930/_bak/config_Active_ControllerID.hhh.h

+ 16 - 8
SE/stuff/P5_Automation_can-dev-res-working-1930/P5_Automation_can-dev-res-working-1930.ino

@@ -78,8 +78,12 @@
 //#define HAS_DEBUG_ACTION_TRIG
 //#define DEBUG_I2C //to debug _Slave_Ports_I2C_POP etc
 //#define HAS_TFT_ILI9163C 
+//#define HAS_TFT_ILI9163C__ROTATED
 //#define HAS_LCD1602 
 //#define HAS_ROTTARY_SW
+//#define HAS_CAN
+
+
 
 //#define DEBUG_I2C_driver_Adafruit_PWMServoDriver
 //#define DEBUG_CAN
@@ -118,7 +122,7 @@
 #define PortA9 A9  //for rottary sw dt
 #define PortA10 A10  //for rottary sw clk
 #define Port7 7 //for TFT_ILI9163C_CSpin 7 
-#define Port8 8 //for TFT_ILI9163C_DCpin 8
+#define Port8 8 //for TFT_ILI9163C_DCpin 8  
 #define Port9 9 //for TFT_ILI9163C__RSTpin 9
 #define Port10 10 // CAN_INTpin 10
 #define Port11 11 // todo PIR LOCAL
@@ -150,7 +154,7 @@ etc. To deactivate the Serial printing, define the macro empty:
 
 #include "___CONFIG/config_Active_ControllerID.h" //there kleep id of device
     //config active should once update id
-EEPROM_Active_ControllerID_read_T EEPROM_Active_ControllerID_read_A = EEPROM_Active_ControllerID_read();
+//EEPROM_Active_ControllerID_read_T EEPROM_Active_ControllerID_read_A = EEPROM_Active_ControllerID_read();
 
 #define HAS__jm_Scheduler //to allow planned actions blink etc
 
@@ -180,9 +184,9 @@ EEPROM_Active_ControllerID_read_T EEPROM_Active_ControllerID_read_A = EEPROM_Act
 
 #include "___template/__STORAGE_ARRAY_func.h" //testing
 
-#define  _ControllerID   0x11 
+//#define  _ControllerID   0x11 
 
-#define  _Slave1_ID   0x13 
+//#define  _Slave1_ID   0x13 
 
 
 
@@ -224,6 +228,10 @@ EEPROM_Active_ControllerID_read_T EEPROM_Active_ControllerID_read_A = EEPROM_Act
 
 
 
+#if Active_ControllerID == 0x35 
+    const int Active_ControllerID_HEX = 0x35 ;
+     #include "___CONFIG/0x35/config_Active_ControllerID_0x35.h"
+#endif
 
 #if defined(HAS_TFT_ILI9163C)
     #include "_TFT_ILI9163C_config.h"
@@ -260,14 +268,14 @@ EEPROM_Active_ControllerID_read_T EEPROM_Active_ControllerID_read_A = EEPROM_Act
  Queue<int> TEST_QUEUE = Queue<int>(ARDUINO_ARRAY_INDEX_LIMIT_QUEUE);
 
 
- #if Active_ControllerID == _ControllerID 
+ /*#if Active_ControllerID == _ControllerID 
     String lcdPattern = "s" ;
    
  #endif
  #if Active_ControllerID == _Slave1_ID 
-    String lcdPattern = "." ;
-    
+    String lcdPattern = "." ; 
  #endif
+ */
 
 //BEGIN 1602
 #if defined(HAS_LCD1602)
@@ -436,7 +444,7 @@ EEPROM_Active_ControllerID_read_T EEPROM_Active_ControllerID_read_A = EEPROM_Act
 
 void setup() {  //REMEMBER NOT INITIALIZE ANY VARIABLES OR ARRAYS
     Serial.begin(115200);
-    
+     Wire.begin();
     
 ARDUINO_SETUP_DEF_T HAS_I2C_driver_Adafruit_PWMServoDriver_A = false;
 

+ 3 - 2
SE/stuff/P5_Automation_can-dev-res-working-1930/_CAN/_CAN_setup.h

@@ -95,8 +95,9 @@
         #if defined(DISABLE_LOOP) ||  defined(DEBUG)
                      Serial.println("will  attachPinChangeInterrupt(CAN_INTpin, CAN_READ, RISING)");
             #endif
-      attachPinChangeInterrupt(CAN_INTpin, CAN_READ, RISING); //FALLING //RISING 
-
+            #if defined(HAS_CAN)
+                attachPinChangeInterrupt(CAN_INTpin, CAN_READ, RISING); //FALLING //RISING 
+            #endif
 #endif
 
 

+ 5 - 5
SE/stuff/P5_Automation_can-dev-res-working-1930/_CAN/_Slave_Ports_Protocol_CAN_struct.h

@@ -43,7 +43,7 @@ const int _CAN_8_EMPTY = 0x07 ;
  
  struct _Slave_Ports_Protocol_CAN_message_S {
   _CAN_REMOTE_ID_T _CAN_REMOTE_ID  ;   // 1remote id - use FF for broadcast
-    const _CAN_SENDER_ID_T _CAN_SENDER_ID = EEPROM_Active_ControllerID_read_A ;// Active_ControllerID_HEX ; //2 sender //Device which orginated port 
+    const _CAN_SENDER_ID_T _CAN_SENDER_ID = Active_ControllerID_HEX ;// Active_ControllerID_HEX ; //2 sender //Device which orginated port 
   int  Port_ID ; //3 global id for device //const char * const _Protocol;
   PortTypes_T  PortTypes;  //4 0xFF  =  1111 1111 s
   //int  Address ; //
@@ -58,7 +58,7 @@ const int _CAN_8_EMPTY = 0x07 ;
  
  struct _Slave_Ports_Protocol_CAN_broadcast_S {
   const _CAN_REMOTE_ID_T  _CAN_REMOTE_ID = _CAN_REMOTE_ID_BROADCAST ;   // 1remote id - use FF for broadcast
-  const _CAN_SENDER_ID_T  _CAN_SENDER_ID = EEPROM_Active_ControllerID_read_A ;//Active_ControllerID_HEX ; //2 sender //Device which orginated port 
+  const _CAN_SENDER_ID_T  _CAN_SENDER_ID = Active_ControllerID_HEX ;//Active_ControllerID_HEX ; //2 sender //Device which orginated port 
   int  Port_ID ; //3 global id for device //const char * const _Protocol;
   PortTypes_T  PortTypes;  //4 0xFF  =  1111 1111 s
   //int  Address ; //
@@ -78,7 +78,7 @@ typedef struct _Slave_Ports_Protocol_CAN_broadcast_S _Slave_Ports_Protocol_CAN_b
  
  struct Slave_Ports_Protocol_CAN_request_confirm_Exp_state_S {
   const _CAN_REMOTE_ID_T  _CAN_REMOTE_ID = _CAN_REMOTE_ID_BROADCAST ; 
-  const _CAN_SENDER_ID_T  _CAN_SENDER_ID = EEPROM_Active_ControllerID_read_A ;//Active_ControllerID_HEX ; //2 sender //Device which orginated port 
+  const _CAN_SENDER_ID_T  _CAN_SENDER_ID = Active_ControllerID_HEX ;//Active_ControllerID_HEX ; //2 sender //Device which orginated port 
   int  Port_ID ; //3 global id for device //const char * const _Protocol;
   PortTypes_T  PortTypes;  //4 0xFF  =  1111 1111 s
   Exp_state_T  Exp_state;    //5
@@ -97,7 +97,7 @@ typedef struct Slave_Ports_Protocol_CAN_request_confirm_Exp_state_S Slave_Ports_
  
  struct _Slave_Ports_Protocol_CAN_request_set_new_Exp_state_S {
   _CAN_REMOTE_ID_T  _CAN_REMOTE_ID ;   // 1remote id - use FF for broadcast
-  const _CAN_SENDER_ID_T  _CAN_SENDER_ID = EEPROM_Active_ControllerID_read_A ;//Active_ControllerID_HEX ; //2 sender //Device which orginated port 
+  const _CAN_SENDER_ID_T  _CAN_SENDER_ID = Active_ControllerID_HEX ;//Active_ControllerID_HEX ; //2 sender //Device which orginated port 
   int  Port_ID ; //3 global id for device //const char * const _Protocol;
   PortTypes_T  PortTypes;  //4 0xFF  =  1111 1111 s
   Exp_state_T  Exp_state;    //5
@@ -114,7 +114,7 @@ typedef int _CAN_SEND_1_T  ; //1 byte = 0
 typedef int _CAN_SEND_2_T  ; //2 byte = 8 
 
  struct _Slave_Ports_Protocol_CAN_SEND_S {
-     const _CAN_SENDER_ID_T _CAN_SENDER_ID = EEPROM_Active_ControllerID_read_A ; //Active_ControllerID_HEX ;
+     const _CAN_SENDER_ID_T _CAN_SENDER_ID = Active_ControllerID_HEX ; //Active_ControllerID_HEX ;
      const  _CAN_SEND_1_T  _CAN_SEND_1 = 0 ;
      const  _CAN_SEND_2_T  _CAN_SEND_2 = 8 ;
      _Slave_Ports_Protocol_CAN_broadcast_T _Slave_Ports_Protocol_CAN_broadcast_A ;

+ 1 - 4
SE/stuff/P5_Automation_can-dev-res-working-1930/_DISPLAY_func.h

@@ -432,8 +432,6 @@ void DISPLAY__print_menu(DISPLAY_T* DISPLAY_A ,
                           
                                       if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_MENU_ITEM_FLAG_A == DISPLAY_MENU_ITEM_FLAG_INITIALIZED ) {
                                       
-                                            
-                                            
                                             //if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].time_seq_id_A + ARDUINO_LOOP_LATENCY_DISPLAY_MENU >  time_seq_id_A  ) {
                                                   // Serial.print(" 366[LAT[ "); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].time_seq_id_A); Serial.print("] ");
                                             
@@ -468,8 +466,7 @@ void DISPLAY__print_menu(DISPLAY_T* DISPLAY_A ,
                                                             , maxYi ,  (( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].Exp_state_level_A / 3) + 10) //maxXi
                                                             ,  minYi, YELLOW );
                                                           } else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_MENU_SELECTOR_STATUS_A & DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_FLAG) {
-                                                                        
-                                                               if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_MENU_SELECTOR_STATUS_A & DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_LEVEL_FLAG) {
+                                                                        if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_MENU_SELECTOR_STATUS_A & DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_LEVEL_FLAG) {
                                                                   //DISPLAY_DEV.setTextColor(WHITE, BLACK); 
                                                                  // DISPLAY_DEV.setCursor(minXi , maxYi ); 
                                                                  // DISPLAY_DEV.print("[ -- ] / [  +  ]");DISPLAY_DEV.setTextColor(WHITE);

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res-working-1930/_DISPLAY_func_PRINT_CLASS_MENU_TITLE.h

@@ -4,5 +4,5 @@ message = "Ports: ";
 
          message.concat(TAB_S);
           message.concat("Dev:0x") ;
-         message.concat(String(EEPROM_Active_ControllerID_read_A , HEX));
+         message.concat(String(Active_ControllerID , HEX));
             message.concat(TAB_S);

+ 1 - 0
SE/stuff/P5_Automation_can-dev-res-working-1930/_Port_I2C_driver_struct.h

@@ -3,4 +3,5 @@ typedef int I2C_driver_T ;
 
 const I2C_driver_T  EI2C_driver_NOT_USED_ = 0x00 ;
 const I2C_driver_T  I2C_driver_Adafruit_PWMServoDriver = 0x01 ;
+const I2C_driver_T  I2C_driver_PCF8574 = 0x02 ;
 

+ 5 - 2
SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_I2C_func.h

@@ -93,8 +93,11 @@
                  Serial.print(" Port_ID[");  Serial.print(Slave_Ports_Status_A[i].Port_ID);   Serial.println("]  ");   Serial.print(" #[");  Serial.print(i);   Serial.println("]  "); 
                  //} //{4
              #endif
-               
-                    if(Slave_Ports_Status_A[i].I2C_driver == I2C_driver_Adafruit_PWMServoDriver) {
+                if(Slave_Ports_Status_A[i].I2C_driver == I2C_driver_PCF8574) {
+                     #include "_Slave_Ports_I2C_func_PCF8574.h"
+                     
+                     
+                } else if(Slave_Ports_Status_A[i].I2C_driver == I2C_driver_Adafruit_PWMServoDriver) {
                           //ARDUINO_ARRAY_PRIMARY_KET_T  Adafruit_PWMServoDriver__get_PRIMARY_KET_A = Adafruit_PWMServoDriver__get_PRIMARY_KET_T(
                       
                       //find port status

+ 23 - 0
SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_I2C_func_PCF8574.h

@@ -0,0 +1,23 @@
+
+                    
+                    
+                     
+       
+      // LocalPort
+                       
+                      
+                      byte PCF8574_PORSTATUS = B00000000;
+                      
+                      if(Slave_Ports_Status_A[i].Exp_state_level_A == 0) { //Address
+                        bitWrite(PCF8574_PORSTATUS,Slave_Ports_Status_A[i].LocalPort,0 );
+                      } else {
+                        bitWrite(PCF8574_PORSTATUS,Slave_Ports_Status_A[i].LocalPort,1 );
+                      }
+                      
+                        Serial.print(" PCF8574[");  
+                         Serial.print(String(PCF8574_PORSTATUS,BIN));  
+                         Wire.beginTransmission(PCF8574_PORSTATUS);
+                          Wire.write(PCF8574_PORSTATUS);
+                         Wire.endTransmission();
+                      //byte write_cmd = PCF8574_PORSTATUS | Slave_Ports_Status_A[i].LocalPort
+                      

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_Status_QUEUE_add_func.h

@@ -8,7 +8,7 @@ ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_queue__add( Slave_Ports_Status_QUEUE_T*
     ARDUINO_ARRAY_INDEX_T DISPLAY_ARDUINO_ARRAY_INDEX_A //optionally
     //int _Slave_Ports_queue_peek , int _Slave_Ports_queue_push , int _Slave_Ports_queue_peek_new
     ) {
-      Serial.println("ID[");Serial.print(EEPROM_Active_ControllerID_read_A);
+      Serial.println("ID[");Serial.print(Active_ControllerID_HEX);
           Serial.print("]#152 _Slave_Ports_queue__add  TASK_TYPE_A[");
            Serial.print(TASK_TYPE_A); Serial.print(" [");  _Slave_Ports_queue_task_type_DESC(TASK_TYPE_A); Serial.print("] ");
            

+ 3 - 3
SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_Status_func.h

@@ -35,7 +35,7 @@
         int i = Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
         //if(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A == 0) {
         
-        if( IS_Local_A == IS_Local_TRUE and _Slave_ID != EEPROM_Active_ControllerID_read_A ) {
+        if( IS_Local_A == IS_Local_TRUE and _Slave_ID != Active_ControllerID ) {
             Serial.print(" [IGN]["); Serial.print(_Slave_ID) ; Serial.print("] ");
             return false;
         } else {
@@ -75,7 +75,7 @@
             for(i = ARDUINO_ARRAY_INDEX_FIRST; i<= Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A  ; i++ ) {
                 //when add context  - we should TTL_broadcast ourselves
                    
-                if((Slave_Ports_Status_A[i].Port_ID == Port_ID) and (Slave_Ports_Status_A[i]._Slave_ID == _Slave_ID ))  {
+                if((Slave_Ports_Status_A[i].Port_ID == Port_ID) and (Slave_Ports_Status_A[i]._Slave_ID == Active_ControllerID_HEX ))  {
                     found = true ;
                         Serial.print("+D");Serial.print(i);
                         found_id = i;
@@ -159,7 +159,7 @@
                  
                  title.concat(TAB_S);
                  title.concat("Dev:0x") ;
-                title.concat(String(EEPROM_Active_ControllerID_read_A , HEX));          
+                title.concat(String(Active_ControllerID_HEX , HEX));          
                    title.concat(TAB_S);
                              
                     int i;

+ 2 - 2
SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_action_func.h

@@ -85,7 +85,7 @@ Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A,
     
     
                     String message ; 
-                    byte sndStat = CAN0.sendMsgBuf(EEPROM_Active_ControllerID_read_A, //Active_ControllerID_HEX,
+                    byte sndStat = CAN0.sendMsgBuf(Active_ControllerID_HEX, //Active_ControllerID_HEX,
                          0, 8, CAN_MSG8_A_Slave_Ports_Protocol_CAN_request_set_new_Exp_state_A); 
                     delay(200);
                      if(sndStat == CAN_OK){
@@ -129,7 +129,7 @@ Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A,
     
     
                     String message ; 
-                    byte sndStat = CAN0.sendMsgBuf(EEPROM_Active_ControllerID_read_A , //Active_ControllerID_HEX, 
+                    byte sndStat = CAN0.sendMsgBuf(Active_ControllerID_HEX , //Active_ControllerID_HEX, 
                         0, 8, CAN_MSG8_A_Slave_Ports_Protocol_CAN_request_confirm_Exp_state_A); 
                     delay(200);
                      if(sndStat == CAN_OK){

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_broadcast_func.h

@@ -223,7 +223,7 @@ void TASK_TYPE_T_Broadcast_state_LOW(Slave_Ports_Status_T* Slave_Ports_Status_A,
                                                 // {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07}
                                               //   byte CAN_broadcast_A9[8] = {0xFF, 0x101, 0x02, 0x03, 0x04, 0x05, 0x07,  0x08};
                        //  CAN_data_debug(CAN_broadcast_A9);
-                         byte sndStat = CAN0.sendMsgBuf(EEPROM_Active_ControllerID_read_A, //Active_ControllerID_HEX,
+                         byte sndStat = CAN0.sendMsgBuf(Active_ControllerID_HEX, //Active_ControllerID_HEX,
                                  0, 8, CAN_MSG8_A);  CAN_data_debug(CAN_MSG8_A);   //CAN_MSG8_A
                          delay(200);
                       //    byte sndStat ;

+ 2 - 2
SE/stuff/P5_Automation_can-dev-res-working-1930/_TFT_ILI9163C_config.h

@@ -14,7 +14,7 @@
 #endif
 
 
-#define __22_RED_PCB__//240x320
+//#define __22_RED_PCB__//240x320
 
   #include <SPI.h>
   #include <Adafruit_GFX.h>
@@ -22,5 +22,5 @@
 
 
 #if defined(__144_RED_PCB__)
-    #error should be defined __22_RED_PCB__ only
+ //   #error should be defined __22_RED_PCB__ only
 #endif

+ 3 - 0
SE/stuff/P5_Automation_can-dev-res-working-1930/_TFT_ILI9163C_setup.h

@@ -3,6 +3,9 @@
   //  TFT_ILI9163C display = TFT_ILI9163C(TFT_ILI9163C_CSpin, TFT_ILI9163C_DCpin, TFT_ILI9163C__RSTpin);
      DISPLAY_DEV.begin();
      
+#if defined(HAS_TFT_ILI9163C__ROTATED)
+    DISPLAY_DEV.setRotation(2);
+#endif
      //DISPLAY_DEV.defineScrollArea(10,100);
      //@param  s  Desired text size. 1 is default 6x8, 2 is 12x16, 3 is 18x24, etc
      // DISPLAY_DEV.setTextSize(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_x_A , DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A);

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/0x11/setup_Active_ControllerID_0x11.h

@@ -1,4 +1,4 @@
-if(EEPROM_Active_ControllerID_read_A == 0x11) {
+if(Active_ControllerID_HEX == 0x11) {
 HAS_ROTTARY_SW_A = true ; //#define HAS_ROTTARY_SW
 HAS_I2C_driver_Adafruit_PWMServoDriver_A = true ; 
 }

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/0x13/setup_Active_ControllerID_0x13.h

@@ -1,4 +1,4 @@
-if(EEPROM_Active_ControllerID_read_A == 0x13) {
+if(Active_ControllerID_HEX == 0x13) {
 HAS_ROTTARY_SW_A = true ; //#define HAS_ROTTARY_SW
 HAS_I2C_driver_Adafruit_PWMServoDriver_A = true ;
 pinMode(Port11, INPUT); //INPUT_PULLUP

+ 31 - 0
SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/0x35/config_Active_ControllerID_0x35.h

@@ -0,0 +1,31 @@
+
+//there kleep config of this id device#define HAS_TFT_ILI9163C 
+// #define HAS_LCD1602 
+#define HAS_ROTTARY_SW
+#define HAS_TFT_ILI9163C
+//#define HAS_TFT_ILI9163C__ROTATED
+#define HAS_I2C_driver_Adafruit_PWMServoDriver 
+#define DEBUG_I2C_driver_Adafruit_PWMServoDriver
+//#define HAS_CAN
+
+#define HAS__PCINT_setup //to allow interrupts
+
+//#define DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________
+//#error
+#define DEBUG 5 
+
+//#define DISABLE_LOOP //To debug and disable any output
+
+//#define DEBUG_I2C
+//#define HAS_DEBUG_ACTION_TRIG
+//#define DEBUG_CAN
+
+//#define DEBUG_DISPLAY
+
+//#define DEBUG_QUEUE
+
+//#define DEBUG_QUEUE_ASSERT
+
+//#define DEBUG_QUEUE_WAIT 500
+//#define DEBUG_STORAGE_QUEUE_TEST
+//#define DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK

+ 209 - 0
SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/0x35/config_Slave_Ports_LOCAL_0x35_init.h

@@ -0,0 +1,209 @@
+/*
+ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_LOCAL_init(
+                Slave_Ports_Status_T* Slave_Ports_Status_A ,
+                Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A ,
+                 Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_T*            Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                 Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_T*      Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                 Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_T*  Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+                
+                DISPLAY_T*  DISPLAY_A ,  DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A,
+                time_seq_id_T time_seq_id,  time_min_run_T time_min_run 
+                //,*DISPLAY_PHYSICAL_CHAR_A //DISPLAY_PHYSICAL_CHAR_T 
+                ) {
+*/
+   //DISPLAY_T_ARDUINO_ATTR_ARRAY_A[ARDUINO_ATTR_ARRAY_S_INDEX].ARDUINO_ARRAY_INDEX_CURRENT_INIT ++;
+     #if defined(DEBUG) 
+                                  if(DEBUG > 6) {  
+                Serial.println("#4444 _Slave_Ports_LOCAL_init");
+                }
+     #endif
+      
+             /*     Slave_Ports_Status_add_port(
+                                Slave_Ports_Status_A ,
+                                Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+                                1,  // int  Port_ID,
+                                0x11 ,  //int  _Slave_ID,
+                                PortTypes_PWM_EXP_I2C, //int  PortTypes,
+                                0x40 ,  //int  Address,
+                                    0 , //int  LocalPort,
+                                Exp_state_OFF, //int  Exp_state,
+                                Exp_state_ttl_TO_REFRESH, //int  Exp_state_ttl,
+                                Broadcast_state_TO_REFRESH, //int  Broadcast_state,
+                                I2C_port_DEFAULT, //int I2C_port,
+                                I2C_driver_Adafruit_PWMServoDriver ,//int I2C_driver
+                                IS_Local_TRUE, Exp_state_level_INIT,
+                                0,0 //time_seq_id, time_min_run  
+                                );
+                                
+                                
+                                 Slave_Ports_Status_add_port(
+                                Slave_Ports_Status_A ,
+                                Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+                                2,  // int  Port_ID,
+                                0x11 ,  //int  _Slave_ID,
+                                PortTypes_PWM_EXP_I2C, //int  PortTypes,
+                                0x40 ,  //int  Address,
+                                    1 , //int  LocalPort,
+                                Exp_state_OFF, //int  Exp_state,
+                                Exp_state_ttl_TO_REFRESH, //int  Exp_state_ttl,
+                                Broadcast_state_TO_REFRESH, //int  Broadcast_state,
+                                I2C_port_DEFAULT, //int I2C_port,
+                                I2C_driver_Adafruit_PWMServoDriver ,//int I2C_driver
+                                IS_Local_TRUE, Exp_state_level_INIT,
+                                0,0 //time_seq_id, time_min_run  
+                                );
+                                
+                           Slave_Ports_Status_add_port(
+                                Slave_Ports_Status_A ,
+                                Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+                                3,  // int  Port_ID,
+                                0x11 ,  //int  _Slave_ID,
+                                PortTypes_PWM_EXP_I2C, //int  PortTypes,
+                                0x40 ,  //int  Address,
+                                    2 , //int  LocalPort,
+                                Exp_state_OFF, //int  Exp_state,
+                                Exp_state_ttl_TO_REFRESH, //int  Exp_state_ttl,
+                                Broadcast_state_TO_REFRESH, //int  Broadcast_state,
+                                I2C_port_DEFAULT, //int I2C_port,
+                                I2C_driver_Adafruit_PWMServoDriver ,//int I2C_driver
+                                IS_Local_TRUE, Exp_state_level_INIT,
+                                0,0 //time_seq_id, time_min_run  
+                                );
+                                
+                                      
+                  Slave_Ports_Status_add_port(
+                                Slave_Ports_Status_A ,
+                                Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+                                4,  // int  Port_ID,
+                                0x11 ,  //int  _Slave_ID,
+                                PortTypes_PWM_EXP_I2C ,// | PortTypes_SERVO  ,// | PortTypes_SERVO //int  PortTypes,
+                                0x40 ,  //int  Address,
+                                    3 , //int  LocalPort,
+                                Exp_state_OFF, //int  Exp_state,
+                                Exp_state_ttl_TO_REFRESH , //Exp_state_ttl_TO_REFRESH, //int  Exp_state_ttl,
+                                Broadcast_state_FULL_FRESH, //Broadcast_state_TO_REFRESH, //int  Broadcast_state,
+                                I2C_port_DEFAULT, //int I2C_port,
+                                I2C_driver_Adafruit_PWMServoDriver ,//int I2C_driver
+                                IS_Local_TRUE, Exp_state_level_INIT,
+                                0,0// time_seq_id, time_min_run
+                                );
+                                
+                        //pwm silnik out 2                     
+                                
+                        Slave_Ports_Status_add_port(
+                                Slave_Ports_Status_A ,
+                                Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+                                5,  // int  Port_ID,
+                                0x11 ,  //int  _Slave_ID,
+                                PortTypes_PWM_EXP_I2C ,// | PortTypes_SERVO  ,// | PortTypes_SERVO //int  PortTypes,
+                                0x40 ,  //int  Address,
+                                    6 , //int  LocalPort,
+                                Exp_state_OFF, //int  Exp_state,
+                                Exp_state_ttl_TO_REFRESH , //Exp_state_ttl_TO_REFRESH, //int  Exp_state_ttl,
+                                Broadcast_state_FULL_FRESH, //Broadcast_state_TO_REFRESH, //int  Broadcast_state,
+                                I2C_port_DEFAULT, //int I2C_port,
+                                I2C_driver_Adafruit_PWMServoDriver ,//int I2C_driver
+                                IS_Local_TRUE, Exp_state_level_INIT,
+                                0,0// time_seq_id, time_min_run
+                                );
+                                         
+                              
+                              
+                 */      
+                 
+                 
+                            //PCF8574
+                           
+                        Slave_Ports_Status_add_port(
+                                Slave_Ports_Status_A ,
+                                Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+                                1,  // int  Port_ID,
+                                Active_ControllerID_HEX ,  //int  _Slave_ID,
+                                PortTypes_PWM_EXP_I2C ,// | PortTypes_SERVO  ,// | PortTypes_SERVO //int  PortTypes,
+                                0x20 ,  //int  Address,
+                                    1 , //int  LocalPort,
+                                Exp_state_OFF, //int  Exp_state,
+                                Exp_state_ttl_TO_REFRESH , //Exp_state_ttl_TO_REFRESH, //int  Exp_state_ttl,
+                                Broadcast_state_FULL_FRESH, //Broadcast_state_TO_REFRESH, //int  Broadcast_state,
+                                I2C_port_DEFAULT, //int I2C_port,
+                                I2C_driver_PCF8574 ,//int I2C_driver
+                                IS_Local_TRUE, Exp_state_level_INIT,
+                                0,0// time_seq_id, time_min_run
+                                );
+                         Slave_Ports_Status_add_port(
+                                Slave_Ports_Status_A ,
+                                Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                                    Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+                                2,  // int  Port_ID,
+                                Active_ControllerID_HEX ,  //int  _Slave_ID,
+                                PortTypes_PWM_EXP_I2C ,// | PortTypes_SERVO  ,// | PortTypes_SERVO //int  PortTypes,
+                                0x20 ,  //int  Address,
+                                    2 , //int  LocalPort,
+                                Exp_state_OFF, //int  Exp_state,
+                                Exp_state_ttl_TO_REFRESH , //Exp_state_ttl_TO_REFRESH, //int  Exp_state_ttl,
+                                Broadcast_state_FULL_FRESH, //Broadcast_state_TO_REFRESH, //int  Broadcast_state,
+                                I2C_port_DEFAULT, //int I2C_port,
+                                I2C_driver_PCF8574 ,//int I2C_driver
+                                IS_Local_TRUE, Exp_state_level_INIT,
+                                0,0// time_seq_id, time_min_run
+                                );
+                                
+                                
+                            Serial.println("#151ADD");
+                            Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);        
+                                
+                    /*    DISPLAY__print_ANY(
+                    DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                    DISPLAY_PHYSICAL_CHAR_A,
+                    DISPLAY_pos_seq_A_NEXT,
+                    "#4 _Slave_Ports_LOCAL_init");             
+                 
+                 */
+                 
+                                              //1234567890123456
+                 //DISPLAY_array16_T DISPLAY_array16_AA ;
+                 // DISPLAY_array16_AA[16]= "#50 Added ports ";
+                 
+                 //DISPLAY_array16_AA.toCharArray(DISPLAY_array16_AA,16);
+               #if  defined(DISABLE_DISPLAY__add_record)
+               #else  
+                 DISPLAY__add_record(
+                       DISPLAY_A ,
+                      DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                      DISPLAY_PHYSICAL_CHAR_A, 
+                          DISPLAY_pos_seq_A_NEXT ,
+                           //"012345678901234" , 
+                           "#50 Added ports ",//DISPLAY_array16_A
+                          DISPLAY_TARGET_DISPLAY128,
+                          0, //time_seq_id_A,
+                           0//time_min_run_A =
+                           //QUEUE
+                           , Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A, 
+                            TASK_TYPE_T__EMPTY__JUST_PASSED_ARG__,
+                            TASK_PORT_ASSOC_EMPTY
+                 );
+               #endif
+                    
+  //  return true ;
+
+//}

+ 2 - 1
SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/config_Active_ControllerID.h

@@ -8,7 +8,8 @@ EEPROM.get( EEPROM_Active_ControllerID_addr, EEPROM_Active_ControllerID_read );
 //EEPROM_Active_ControllerID_read = EEPROM.read(EEPROM_Active_ControllerID_addr);
 */
 //#define Active_ControllerID 0x13
-#define Active_ControllerID 0x11
+//#define Active_ControllerID 0x11
+#define Active_ControllerID 0x35
 
 
 //if(EEPROM_Active_ControllerID_read > 0 ) //{

+ 8 - 2
SE/stuff/P5_Automation_can-dev-res-working-1930/___CONFIG/config_Slave_Ports_LOCAL_init.h

@@ -32,11 +32,17 @@ ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_LOCAL_init(
                 Serial.println("#3333 _Slave_Ports_DEFAULT_LOCAL_init");
                 }
      #endif
-      
+
+#if Active_ControllerID == 0x11    
       #include "0x11/config_Slave_Ports_LOCAL_0x11_init.h"
+#elif Active_ControllerID == 0x13
       #include "0x13/config_Slave_Ports_LOCAL_0x13_init.h"
+#elif Active_ControllerID == 0x15
       #include "0x15/config_Slave_Ports_LOCAL_0x15_init.h"
-      
+#elif  Active_ControllerID == 0x35
+      #include "0x35/config_Slave_Ports_LOCAL_0x35_init.h"
+#endif
+ 
                /*   Slave_Ports_Status_add_port(
                                 Slave_Ports_Status_A ,
                                 Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,

+ 5 - 0
SE/stuff/P5_Automation_can-dev-res-working-1930/___loop/_SlaveID_loop1.h

@@ -1,3 +1,5 @@
+
+#if defined(HAS_CAN)
 if(!digitalRead(CAN_INTpin))                    // If pin 2 is low, read receive buffer
           {
          CAN_READ(
@@ -9,6 +11,8 @@ if(!digitalRead(CAN_INTpin))                    // If pin 2 is low, read receive
                DISPLAY_A , DISPLAY_T_ARDUINO_ATTR_ARRAY_A, 
               0 // time
          );
+         
+         
        /*  
          
             CAN0.readMsgBuf(&CANrxId, &CANlen, CANrxBuf); // Read data: len = data length, buf = data byte(s)
@@ -42,3 +46,4 @@ if(!digitalRead(CAN_INTpin))                    // If pin 2 is low, read receive
             
           }
   
+#endif  

+ 0 - 2
SE/stuff/P5_Automation_can-dev-res-working-1930/___loop/__main_loop_end.h

@@ -128,8 +128,6 @@ if(ARDUINO_LOOP_LATENCY_COUNTER__MAIN_END(ARDUINO_LOOP_LATENCY__MAIN_END_A, ARDU
                                       ,Slave_Ports_Status_A 
                                        );
                   
-    
-                            
                             if(DISPLAY_DEBUG_LATENCY_PASS__POP(time,time + ARDUINO_LOOP_LATENCY_DISPLAY_MENU )) {
                                 //debug analpir
                                 DISPLAY_DEV.fillRect( 0, ( DISPLAY_CURSOR_Y_CHARS_DEBUG * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A ) , DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_PX_A , DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A , RED );

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res-working-1930/_bak/config_Active_ControllerID.hhh.h

@@ -1,5 +1,5 @@
 //#define Active_ControllerID   _ControllerID 
-#define Active_ControllerID _Slave1_ID 
+//#define Active_ControllerID _Slave1_ID 
 
 
 //#define HAS_TFT_ILI9163C