|
|
@@ -302,11 +302,7 @@ void ARDUINO_ATTR_ARRAY_S__commit_added_element_QUEUE(
|
|
|
#if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
Serial.print(" +[ARDUINO_ARRAY_COUNT_A][HIT] ");
|
|
|
#endif
|
|
|
-
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A = ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A = ARDUINO_ARRAY_INDEX_FIRST ;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A = ARDUINO_ARRAY_INDEX_CURRENT_A + 1 ;
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A == ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ) {
|
|
|
@@ -316,38 +312,48 @@ void ARDUINO_ATTR_ARRAY_S__commit_added_element_QUEUE(
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-
|
|
|
|
|
|
} else {
|
|
|
-
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A = ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A = ARDUINO_ARRAY_INDEX_FIRST ;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A = ARDUINO_ARRAY_INDEX_CURRENT_A + 1 ;
|
|
|
-
|
|
|
+
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ++;
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A ++;
|
|
|
#if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
- Serial.print("433[ELSE][INDEX_CURRENT_A + 1 > INDEX_LIMIT_A ] [CURRENT_A][");
|
|
|
- Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A);
|
|
|
- Serial.print("] INDEX_CURRENT_A[");
|
|
|
- Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
|
|
|
- Serial.print("] ");
|
|
|
+ Serial.print("433[ELSE] [QUEUE++]");
|
|
|
+ Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A);
|
|
|
+ Serial.print("] ");
|
|
|
+
|
|
|
#endif
|
|
|
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if((ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A + 1) >= ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A) {
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A = ARDUINO_ARRAY_INDEX_FIRST ;
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print("[NEXT ROTATE]");
|
|
|
+ Serial.print( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A);
|
|
|
+ Serial.print("] ");
|
|
|
+ #endif
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
+
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A = ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
|
|
|
+
|
|
|
ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A = ARDUINO_ARRAY_ATTR_INDEX__READY_TO_QUERY ;
|
|
|
ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A = ARDUINO_ARRAY_INDEX_CURRENT_A ;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ++;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A ++;
|
|
|
+
|
|
|
|
|
|
- if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A>= 0) {
|
|
|
- } else {
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A > 0) { } else {
|
|
|
ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A = ARDUINO_ARRAY_INDEX_CURRENT_A ;
|
|
|
#if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
Serial.print("+init[ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A]["); Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A); Serial.print("] ");
|
|
|
- #endif
|
|
|
-
|
|
|
-
|
|
|
+ #endif
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -378,31 +384,69 @@ ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT(
|
|
|
|
|
|
ARDUINO_ARRAY_INDEX_NEXT_LOCK_T ARDUINO_ARRAY_INDEX_POP_LOCK( ARDUINO_ATTR_ARRAY_S &ARDUINO_ATTR_ARRAY_A){
|
|
|
ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_A ;
|
|
|
+ ARDUINO_ARRAY_INDEX_NEXT_A = ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A ;
|
|
|
#if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
Serial.print(" [ARDUINO_ARRAY_INDEX_POP_LOCK]? ");
|
|
|
#endif
|
|
|
- if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A >= 0) {
|
|
|
- #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
- Serial.print(" [INCREMENT][PEEK] ");
|
|
|
- #endif
|
|
|
-
|
|
|
- ARDUINO_ARRAY_INDEX_NEXT_A = ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A ;
|
|
|
- if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A + 1 >= ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A) {
|
|
|
- if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A == ARDUINO_ARRAY_INDEX_FIRST) {
|
|
|
- Serial.print(" [PEEK NO MORE] [DECREASE QUEUE] ");
|
|
|
- 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 --;
|
|
|
- }
|
|
|
- } else {
|
|
|
- Serial.print(" [PEEK NEXT] [DECREASE QUEUE] ");
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A++;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A --;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A --;
|
|
|
- }
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A > 0) {
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print(" [INCREMENT][PEEK] ");
|
|
|
+ #endif
|
|
|
+
|
|
|
+ if((ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A + 1) >= ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A) {
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print(" [INCREMENT][ROTATE]? ");
|
|
|
+ #endif
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A == ARDUINO_ARRAY_INDEX_FIRST) {
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ 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 --;
|
|
|
+ } else {
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print(" [INCREMENT][NEXT]=ARDUINO_ARRAY_INDEX_FIRST ");
|
|
|
+ #endif
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A = ARDUINO_ARRAY_INDEX_FIRST ;
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A --;
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A --;
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print(" [INCREMENT][NOTROTATE]? ");
|
|
|
+ #endif
|
|
|
+ if((ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A + 1) == ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A) {
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print(" 2[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 --;
|
|
|
+ } else {
|
|
|
+
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print(" [POP][NEXT] ");
|
|
|
+ #endif
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A++;
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A --;
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A --;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- return ARDUINO_ARRAY_INDEX_NEXT_A ;
|
|
|
- }
|
|
|
+ } else {
|
|
|
+
|
|
|
+
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print(" [POP][EMPTY] ");
|
|
|
+ #endif
|
|
|
+ }
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print(" [POP][RETURNED["); Serial.print(ARDUINO_ARRAY_INDEX_NEXT_A); Serial.println("] ");
|
|
|
+ #endif
|
|
|
+ return ARDUINO_ARRAY_INDEX_NEXT_A ;
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -426,7 +470,8 @@ ARDUINO_ARRAY_INDEX_NEXT_LOCK_T ARDUINO_ARRAY_INDEX_NEXT_LOCK(
|
|
|
#if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
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) {
|
|
|
+ } 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)
|
|
|
Serial.print(" [ARDUINO_ARRAY_ATTR_INDEX__INITIALIZE][OK] if->? ");
|
|
|
#endif
|
|
|
@@ -444,7 +489,7 @@ ARDUINO_ARRAY_INDEX_NEXT_LOCK_T ARDUINO_ARRAY_INDEX_NEXT_LOCK(
|
|
|
#endif
|
|
|
return false;
|
|
|
|
|
|
- } else if(( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__TO_INCREMENT)
|
|
|
+ } 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)
|
|
|
Serial.print(" =[ARDUINO_ARRAY_ATTR_INDEX__TO_INCREMENT][OK] -> [ARDUINO_ARRAY_ATTR_QUEUE_add_distance] ");
|