a.binder %!s(int64=5) %!d(string=hai) anos
pai
achega
973e321cb8

+ 1 - 0
SE/stuff/P5_Automation_can-dev-res/P5_Automation_can-dev-res.ino

@@ -89,6 +89,7 @@
 //#define DEBUG_STRUCT_INIT
 //#define DEBUG_STORAGE_QUEUE_TEST 
 #define DEBUG_ARDUINO_ATTR_ARRAY_S__commit_added_element_QUEUE
+//#define DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK
 //#define HAS__PCINT_setup //to allow interrupts
 
 #define HAS__jm_Scheduler //to allow planned actions blink etc

+ 3 - 3
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_broadcast_func.h

@@ -4,7 +4,7 @@
          Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A, 
         Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
         int _Slave_Ports_queue_count, 
-        int _Slave_Ports_queue_pop, 
+        int ARDUINO_ARRAY_INDEX_POP_LOCK_A, 
         int _Slave_Ports_queue_front, 
         int _Slave_Ports_queue_back,
         int _Slave_Ports_queue_peek,
@@ -19,7 +19,7 @@
            DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A,
            long time
  /*Slave_Ports_Status_QUEUE_T*  Slave_Ports_Status_QUEUE_A, 
- int _Slave_Ports_queue_pop ,  
+ int ARDUINO_ARRAY_INDEX_POP_LOCK_A ,  
  Slave_Ports_Status_T*  Slave_Ports_Status_A, 
  int LCDtim , 
    DISPLAY_T* DISPLAY_A ,
@@ -30,7 +30,7 @@
         Serial.print("#251 _Slave_Ports_broadcast_POP INDEX_CURRENT_A["); Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A); Serial.println("] ");
           int i;
           for(i=ARDUINO_ARRAY_INDEX_FIRST;i<=Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A;i++) {
-            if(Slave_Ports_Status_A[i].Broadcast_state == Broadcast_state_TO_REFRESH and Slave_Ports_Status_A[i].IS_Local_A == IS_Local_TRUE) {
+            if(Slave_Ports_Status_A[i].IS_Local_A == IS_Local_TRUE) { //Slave_Ports_Status_A[i].Broadcast_state == Broadcast_state_TO_REFRESH and 
             #if defined(DEBUG) || defined(DEBUG_CAN)
                 if(DEBUG > 4) {
                     Serial.print(" ind:"); Serial.print(i);  Serial.print("] IS_Local_A:");

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/___CONFIG/0x101/config_Active_ControllerID_0x101.h

@@ -25,4 +25,4 @@
 
 //#define DEBUG_QUEUE_WAIT 500
 //#define DEBUG_STORAGE_QUEUE_TEST
-#define DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK
+//#define DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/___loop/__main_loop_top.h

@@ -83,7 +83,7 @@ if(ARDUINO_LOOP_LATENCY_COUNTER__MAIN(ARDUINO_LOOP_LATENCY__MAIN_A) <= ARDUINO_L
                     Serial.print("time[");Serial.print(time);Serial.print(print_SEP_RT); 
                 TASK_TYPE_T_Slave_Ports_broadcast____time_min_run_MIN_A = time + 60000 ;
                     ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
-                     TASK_TYPE_T_Slave_Ports_broadcast____ ,TASK_PORT_ASSOC_EMPTY ,time, time + ARDUINO_time_seq_id_A_INCREMENT , ARDUINO_ARRAY_INDEX_NOT_SET ) ;  //        "_Slave_Ports_broadcast", //4
+                     TASK_TYPE_T_Slave_Ports_broadcast____ ,TASK_PORT_ASSOC_EMPTY ,time, time  , ARDUINO_ARRAY_INDEX_NOT_SET ) ;  //        "_Slave_Ports_broadcast", //4
             
             }
             

+ 10 - 10
SE/stuff/P5_Automation_can-dev-res/___main/__main_struct_funct.h

@@ -409,8 +409,8 @@ ARDUINO_ARRAY_INDEX_NEXT_LOCK_T ARDUINO_ARRAY_INDEX_POP_LOCK( ARDUINO_ATTR_ARRAY
                                               Serial.print("  [INCREMENT][=CURRENT][QUEUE FORCE 0]  ");    
                                           #endif
                                            ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A = 0;
-                                           ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A --;
-                                           ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A --;
+                                           ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A = 0 ; //--;
+                                           ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A = 0 ; //--;
                                     } else {
                                       #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                                               Serial.print("  [INCREMENT][NEXT]=ARDUINO_ARRAY_INDEX_FIRST  ");    
@@ -470,35 +470,35 @@ ARDUINO_ARRAY_INDEX_NEXT_LOCK_T ARDUINO_ARRAY_INDEX_NEXT_LOCK(
         ){
                  ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_A ;
 
-                         #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) 
+                         #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)  || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                               Serial.print("[ARDUINO_ARRAY_INDEX_NEXT_LOCK] [ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A]?  ");       
                           #endif 
             if( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__TO_INITIALIZE) {
-                        #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) 
+                        #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)   || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                               Serial.print(" [ARDUINO_ARRAY_ATTR_INDEX__TO_INITIALIZE]? [ERROR]  !=[ARDUINO_ARRAY_ATTR_INDEX__TO_INITIALIZE]  ");       
                           #endif 
             } else if(( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__INITIALIZED)
                         or ( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A  & ARDUINO_ARRAY_ATTR_INDEX__READY_TO_QUERY)) {
-                          #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST) 
+                          #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST)   || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                               Serial.print(" [ARDUINO_ARRAY_ATTR_INDEX__INITIALIZE][OK] if->? ");       
                           #endif 
         
             
                                 if( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__LOCK) {
-                                              #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST)
+                                              #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST)  || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                                                     Serial.print(" &[ARDUINO_ARRAY_ATTR_INDEX__LOCK] [LOCKED] [FALSE] ");       
                                                 #endif 
                                                // ARDUINO_ARRAY_INDEX_NEXT_LOCK_A = NULL ; 
                                                 return 0;
                                   } else  if( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__TO_COMMIT) {
-                                               #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST) 
+                                               #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST)   || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                                                     Serial.print(" =[ARDUINO_ARRAY_ATTR_INDEX__TO_COMMIT] [FALSE] ");       
                                                 #endif 
                                                  return 0;
                                                 
                                   } else  if(( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__READY_TO_QUERY)
                                         or (ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A == ARDUINO_ARRAY_ATTR_INDEX__INITIALIZED )) {
-                                               #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST) 
+                                               #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST)   || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                                                     Serial.print(" =[ARDUINO_ARRAY_ATTR_INDEX__TO_INCREMENT][OK]  -> [ARDUINO_ARRAY_ATTR_QUEUE_add_distance] ");       
                                                 #endif 
                                         //ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A = 
@@ -507,7 +507,7 @@ ARDUINO_ARRAY_INDEX_NEXT_LOCK_T ARDUINO_ARRAY_INDEX_NEXT_LOCK(
                                         ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A =  ARDUINO_ARRAY_ATTR_INDEX__LOCK ;
                                          return  ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A ;
                                    } else {
-                                            #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST) 
+                                            #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST)   || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                                                     Serial.print(" =518[ARDUINO_ARRAY_ATTR_INDEX__TO_INCREMENT][ERROR][ELSE]  ");       
                                             #endif 
                                             return 0;
@@ -515,7 +515,7 @@ ARDUINO_ARRAY_INDEX_NEXT_LOCK_T ARDUINO_ARRAY_INDEX_NEXT_LOCK(
                     
                           
             } else {
-                         #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST)
+                         #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)  || defined(DEBUG_STORAGE_QUEUE_TEST)  || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                               Serial.print("  ![ARDUINO_ARRAY_ATTR_INDEX__INITIALIZED] =521[ELSE][ERROR] ");       
                           #endif
                           return 0;