|
|
@@ -71,7 +71,7 @@ void ARDUINO_ATTR_ARRAY_S__init( //to init attr list table[1]
|
|
|
ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A = ARDUINO_QUEUE_FLAG_INIT | ARDUINO_QUEUE_FLAG_A ; Serial.print(" [?78] [ARDUINO_QUEUE_FLAG_A] ?");
|
|
|
Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A , BIN); Serial.print("] ");
|
|
|
ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A = ARDUINO_ARRAY_ATTR_QUEUE_COUNT_INIT; //kolejka elementow
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A = ARDUINO_ARRAY_ATTR_INDEX__TO_INITIALIZE ;
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A = ARDUINO_QUEUE_FLAG_INITIALIZED ;//ARDUINO_ARRAY_ATTR_INDEX__TO_INITIALIZE ;
|
|
|
|
|
|
if((ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_INIT ) ) {
|
|
|
|
|
|
@@ -168,16 +168,41 @@ void ARDUINO_ARRAY_INDEX_TABLE_S__add_void(
|
|
|
|
|
|
void ARDUINO_ATTR_ARRAY_S__display( //to init attr list table[1]
|
|
|
ARDUINO_ATTR_ARRAY_T &ARDUINO_ATTR_ARRAY_A) {
|
|
|
- Serial.print(" [#139 ARRAY_S__display] #CURRENT[");
|
|
|
+ Serial.println(" [#139 ARRAY_S__display] #CURRENT[");
|
|
|
Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A); Serial.print("] #LAST[");
|
|
|
Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A); Serial.print("] #COUNT[");
|
|
|
Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ); Serial.print("] #LIMIT[");
|
|
|
Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A ); Serial.print("] #NEXT[");
|
|
|
Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A); Serial.print("] @time_min_run[");
|
|
|
Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_time_min_run_MIN_A ); Serial.print("] #time_run_#[");
|
|
|
- Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_time_min_run_MIN_A );Serial.print("] #QUEUE_FLAG_A#[");
|
|
|
- Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A, BIN); Serial.print("] QUEUE_BACK[");
|
|
|
- Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_BACK_A); Serial.print("] QUEUE_COUNT["); //ostatni zabrany element
|
|
|
+ Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_time_min_run_MIN_A );Serial.println("] ");
|
|
|
+ Serial.print("] #QUEUE_FLAG_A#["); Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A, BIN);Serial.print("] [");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_INIT) Serial.print(" +[INIT] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_INITIALIZED) Serial.print(" +[INITIALIZED] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_RESTRICT_INDEX) Serial.print(" +[RESTRICT_INDEX] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_CAN_OVERWRITE) Serial.print(" +[CAN_OVERWRITE] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_USE_ELEMENT_FLAG_T) Serial.print(" +[USE_ELEMENT_FLAG_T] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_CANNOT_OVERWRITE) Serial.print(" +[CANNOT_OVERWRITE] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_NOT_SPECIFIED) Serial.print(" +[NOT_SPECIFIED] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_QUEUE) Serial.print(" +[QUEUE] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_FULL_ONLY_POP) Serial.print(" +[FULL_ONLY_POP] ");
|
|
|
+ Serial.println("] ");
|
|
|
+ Serial.print("] #INDEX_OPTIONS_A#[");
|
|
|
+ Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A, BIN); Serial.print("] [");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__TO_INITIALIZE) Serial.print(" +[TO_INITIALIZE] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__INITIALIZED) Serial.print(" +[INITIALIZED] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__TO_COMMIT) Serial.print(" +[TO_COMMIT] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__TO_INCREMENT) Serial.print(" +[TO_INCREMENT] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__READY_TO_QUERY) Serial.print(" +[READY_TO_QUERY] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__INCREMENTED) Serial.print(" +[INCREMENTED] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__LOCK) Serial.print(" +[LOCK] ");
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__HAS_ERRORS) Serial.print(" +[HAS_ERRORS] ");
|
|
|
+
|
|
|
+ Serial.println("] ");
|
|
|
+ Serial.print("] QUEUE_BACK[");
|
|
|
+ Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_BACK_A); Serial.print("] QUEUE_FRONT["); //ostatni zabrany element
|
|
|
+ Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_FRONT_A); Serial.print("] QUEUE_PEEK[");
|
|
|
+ Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A); Serial.print("] QUEUE_COUNT["); //todo ostatni element zabierany
|
|
|
Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A ); Serial.println("] ");//kolejka elementow
|
|
|
}
|
|
|
|
|
|
@@ -243,119 +268,6 @@ void ARDUINO_ATTR_ARRAY_S__INDEX_NEXT_rotate( //to maintain limit and set new i
|
|
|
|
|
|
|
|
|
// ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_T
|
|
|
-void ARDUINO_ARRAY_ATTR_QUEUE_add_distance(
|
|
|
- ARDUINO_ATTR_ARRAY_T &ARDUINO_ATTR_ARRAY_A //,
|
|
|
- // ARDUINO_ARRAY_INDEX_NEXT_T &ARDUINO_ARRAY_INDEX_NEXT_A,
|
|
|
- // ARDUINO_ARRAY_INDEX_T &ARDUINO_ARRAY_INDEX_A
|
|
|
- ) {
|
|
|
- //int INDEX_TO_POP ;
|
|
|
- int Q1 ;
|
|
|
- int Q2;
|
|
|
- int BACK ;
|
|
|
-
|
|
|
-
|
|
|
- //boolean DIST_FROM_INDEX_CURRENT_A__rotated_to__QUEUE_BACK_A ;
|
|
|
- //ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A - dlugosc kolejki
|
|
|
- //ARDUINO_ARRAY_ATTR_QUEUE_BACK_A - indeks do POP
|
|
|
- if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_QUEUE ) {
|
|
|
- #if defined(DEBUG_QUEUE)
|
|
|
- Serial.println(" ==[ ARDUINO_QUEUE_FLAG_QUEUE ]== ");
|
|
|
- #endif
|
|
|
- if((ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A + 1) >= (ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A -ARDUINO_ARRAY_INDEX_FIRST )) {
|
|
|
- //size queue za duza - opcja albo
|
|
|
- //ARDUINO_QUEUE_FLAG_CAN_OVERWRITE
|
|
|
- if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_CAN_OVERWRITE ) {
|
|
|
- //przesuwamy wszystkie indeksy w prawo - nie powiekszajac kolejki, bo jest max
|
|
|
- #if defined(DEBUG_QUEUE)
|
|
|
- Serial.println("[#161] ARDUINO_ARRAY_ATTR_QUEUE_distance [FLAG_CAN_OVERWRITE]");
|
|
|
- #endif
|
|
|
-
|
|
|
- ARDUINO_ATTR_ARRAY_S__INDEX_NEXT_basic_rotate(ARDUINO_ATTR_ARRAY_A);
|
|
|
- } else if(ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A & ARDUINO_QUEUE_FLAG_QUEUE ) {
|
|
|
- //ARDUINO_QUEUE_FLAG_CANNOT_OVERWRITE //
|
|
|
- //or todo indivual array elements ARDUINO_QUEUE_FLAG_USE_ELEMENT_FLAG_T
|
|
|
- #if defined(DEBUG_QUEUE)
|
|
|
- Serial.print("[#161] ARDUINO_ARRAY_ATTR_QUEUE_distance [ARDUINO_QUEUE_FLAG_QUEUE]");
|
|
|
- Serial.print(" [SIZE_MAX] [NEED OVERWRITE] +[ARDUINO_QUEUE_FLAG_FULL_ONLY_POP]"); Serial.println("");
|
|
|
-
|
|
|
- #endif
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A = ARDUINO_ATTR_ARRAY_A.ARDUINO_QUEUE_FLAG_A | ARDUINO_QUEUE_FLAG_FULL_ONLY_POP ;
|
|
|
-
|
|
|
- }
|
|
|
- } else if((ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A > ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A) ) {
|
|
|
-
|
|
|
-
|
|
|
- Q1 = ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A - ARDUINO_ARRAY_INDEX_FIRST ;
|
|
|
- Q2 = ( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A - Q1 ) ;
|
|
|
- BACK = ( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A + ARDUINO_ARRAY_INDEX_FIRST ) - Q2 ;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_BACK_A = BACK ;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_FRONT_A = Q2 ;
|
|
|
-
|
|
|
- /*ARDUINO_ARRAY_INDEX_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_MAX_A =
|
|
|
- ARDUINO_ARRAY_INDEX_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A =
|
|
|
- ARDUINO_ARRAY_INDEX_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A =
|
|
|
- ARDUINO_ARRAY_INDEX_A.ARDUINO_ARRAY_ATTR_QUEUE_BACK_A =
|
|
|
- ARDUINO_ARRAY_INDEX_A.ARDUINO_ARRAY_ATTR_QUEUE_FRONT_A = //TODO
|
|
|
- */
|
|
|
-
|
|
|
- #if defined(DEBUG_QUEUE)
|
|
|
- Serial.println("[#1470] ARDUINO_ARRAY_ATTR_QUEUE_distance [USING [QUEUE_COUNT]]");
|
|
|
- Serial.println("1...........LIMIT_A........................>");
|
|
|
- Serial.println("#######(PREV)[I](NEXT).....[Q](BACK)#######>");
|
|
|
- Serial.println("|---[Q1]------| |------[Q2]-----|");
|
|
|
- Serial.println(" Q1 = I Q2 = (Q - Q1) B=L-Q ");
|
|
|
- Serial.println("|--------------------------------[BACK] ");
|
|
|
- Serial.print(" [ "); Serial.print(Q1); Serial.print("] ") ;
|
|
|
- Serial.print(" [ "); Serial.print(Q2); Serial.print("] ") ;
|
|
|
- Serial.print(" [ "); Serial.print(BACK) ;Serial.print("] ");
|
|
|
-
|
|
|
- #endif
|
|
|
-
|
|
|
-
|
|
|
- } else if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A < ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A) {
|
|
|
-
|
|
|
- Q1 = (ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A + ARDUINO_ARRAY_INDEX_FIRST) - ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_BACK_A = Q1 ; //TODO CHECK
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_FRONT_A = Q1 ; //TODO CHECK
|
|
|
- #if defined(DEBUG_QUEUE)
|
|
|
- Serial.println("[#1470] ARDUINO_ARRAY_ATTR_QUEUE_distance [USING [QUEUE_COUNT]]");
|
|
|
- Serial.println("1...........LIMIT_A........................>");
|
|
|
- Serial.println(".....[Q](BACK)#########>(PREV)[I](NEXT)....");
|
|
|
- Serial.println("|--[Q1]--| ");
|
|
|
- Serial.println(" Q1 = (I - Q) ");
|
|
|
- Serial.println("|--------------------------------[BACK] ");
|
|
|
- Serial.print(" [ "); Serial.print(Q1); Serial.print("] ") ;
|
|
|
- //Serial.print(" [ "); Serial.print(Q2); Serial.print("] ") ;
|
|
|
- Serial.print(" [ "); Serial.print(BACK) ;Serial.print("] ");
|
|
|
-
|
|
|
- #endif
|
|
|
- } else {
|
|
|
- #if defined(DEBUG_QUEUE) || defined(DEBUG)
|
|
|
- Serial.println("[#228] ARDUINO_ARRAY_ATTR_QUEUE_distance [UERROR?]");
|
|
|
- #endif
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
- #if defined(DEBUG_QUEUE)
|
|
|
- Serial.println(" [ELSE][DEFAULT] ->RUN-> [ARDUINO_ATTR_ARRAY_S__INDEX_NEXT_rotate] ");
|
|
|
- #endif
|
|
|
-
|
|
|
-
|
|
|
- //ARDUINO_ARRAY_INDEX_NEXT_A =
|
|
|
- ARDUINO_ATTR_ARRAY_S__INDEX_NEXT_rotate( //to maintain limit and set new indexes
|
|
|
- ARDUINO_ATTR_ARRAY_A ,
|
|
|
- //ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_A,
|
|
|
- 0 //to provide index pointer to last
|
|
|
- ) ;
|
|
|
- #if defined(DEBUG_QUEUE)
|
|
|
- Serial.println(" +[ARDUINO_ARRAY_INDEX_NEXT_A] ");
|
|
|
- #endif
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
void ARDUINO_ATTR_ARRAY_S__commit_added_element_QUEUE(
|
|
|
@@ -365,45 +277,55 @@ void ARDUINO_ATTR_ARRAY_S__commit_added_element_QUEUE(
|
|
|
ARDUINO_QUEUE_ELEMENT_FLAG_T ARDUINO_QUEUE_ELEMENT_FLAG_A //flags of records
|
|
|
) { //when added new element call this func
|
|
|
|
|
|
- #if defined(DEBUG) || defined(DEBUG_QUEUE)
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
// || DEBUG_QUEUE)
|
|
|
|
|
|
- Serial.println("[ #297 ARDUINO_ATTR_ARRAY_S__commit_added_element] [INCREMENTED] ARDUINO_QUEUE_FLAG_A[");Serial.print(ARDUINO_QUEUE_FLAG_A,BIN); Serial.print("] ");
|
|
|
+ Serial.println("[ #297 ARDUINO_ATTR_ARRAY_S__commit_added_element] [INCREMENTED] ARDUINO_QUEUE_ELEMENT_FLAG_A[");Serial.print(ARDUINO_QUEUE_ELEMENT_FLAG_A,BIN); Serial.print("] ");
|
|
|
#endif
|
|
|
|
|
|
|
|
|
if(ARDUINO_ARRAY_INDEX_CURRENT_A == ARDUINO_ARRAY_INDEX_CORRUPT ) {
|
|
|
- #if defined(DEBUG) || defined(DEBUG_QUEUE)
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
Serial.println("[ #2398 commit_added_element] [ARDUINO_ARRAY_INDEX_CORRUPT] ignored");
|
|
|
#endif
|
|
|
} else if(ARDUINO_QUEUE_ELEMENT_FLAG_A & ARDUINO_QUEUE_ELEMENT_FLAG_INITIAL_CORRUPT) {
|
|
|
- #if defined(DEBUG) || defined(DEBUG_QUEUE)
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
Serial.println("[ #3338 commit_added_element] [ARDUINO_QUEUE_ELEMENT_FLAG_INITIAL_CORRUPT] ignored");
|
|
|
#endif
|
|
|
} else {
|
|
|
//if should index rotate
|
|
|
- #if defined(DEBUG) || defined(DEBUG_QUEUE)
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
Serial.println("[ #555 commit_added_element] [if should index rotate]??");
|
|
|
#endif
|
|
|
- if((ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A + 1) > ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A) {
|
|
|
+ if((ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A + 1) >= ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A) {
|
|
|
|
|
|
- #if defined(DEBUG) || defined(DEBUG_QUEUE)
|
|
|
- Serial.print(" +[INDEX_NEXT_rotate] ");
|
|
|
+ #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
|
|
|
- //should rotate
|
|
|
- ARDUINO_ATTR_ARRAY_S__INDEX_NEXT_rotate(ARDUINO_ATTR_ARRAY_A,
|
|
|
- //ARDUINO_QUEUE_FLAG_A
|
|
|
- millis()); //todo element value
|
|
|
- //check if we not corrupt ARDUINO_ARRAY_ATTR_QUEUE_BACK_A
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A = ARDUINO_ARRAY_ATTR_INDEX__INCREMENTED ;
|
|
|
- } 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_CURRENT_A ;
|
|
|
+
|
|
|
+ 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_QUEUE_FLAG_A = ARDUINO_QUEUE_FLAG_A ;
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A = ARDUINO_ARRAY_ATTR_INDEX__INCREMENTED ;
|
|
|
- #if defined(DEBUG) || defined(DEBUG_QUEUE)
|
|
|
- Serial.print("[ELSE][INDEX_CURRENT_A + 1 > INDEX_LIMIT_A ] [CURRENT_A][");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A == ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ) {
|
|
|
+ ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A = ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A ;
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print("+set last[PEEK_A]["); Serial.print(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A); Serial.print("] ");
|
|
|
+ #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 ;
|
|
|
+
|
|
|
+ #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);
|
|
|
@@ -411,12 +333,23 @@ void ARDUINO_ATTR_ARRAY_S__commit_added_element_QUEUE(
|
|
|
#endif
|
|
|
|
|
|
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_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 {
|
|
|
+ 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
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -443,6 +376,37 @@ 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 ;
|
|
|
+ #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 --;
|
|
|
+ }
|
|
|
+
|
|
|
+ return ARDUINO_ARRAY_INDEX_NEXT_A ;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
ARDUINO_ARRAY_INDEX_NEXT_LOCK_T ARDUINO_ARRAY_INDEX_NEXT_LOCK(
|
|
|
ARDUINO_ATTR_ARRAY_S &ARDUINO_ATTR_ARRAY_A//,
|
|
|
//ARDUINO_ARRAY_INDEX_T &ARDUINO_ARRAY_INDEX_A //,
|
|
|
@@ -455,45 +419,52 @@ 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)
|
|
|
- Serial.print(" [ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A]? ");
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ 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)
|
|
|
- Serial.print(" [ARDUINO_ARRAY_ATTR_INDEX__TO_INITIALIZE]? ");
|
|
|
+ #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) {
|
|
|
- #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)
|
|
|
- Serial.print(" [ARDUINO_ARRAY_ATTR_INDEX__INITIALIZE][OK] ");
|
|
|
+ #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
|
|
|
|
|
|
|
|
|
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)
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
Serial.print(" &[ARDUINO_ARRAY_ATTR_INDEX__LOCK] [LOCKED] [FALSE] ");
|
|
|
#endif
|
|
|
// ARDUINO_ARRAY_INDEX_NEXT_LOCK_A = NULL ;
|
|
|
return false;
|
|
|
} 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)
|
|
|
+ #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_COMMIT] [FALSE] ");
|
|
|
#endif
|
|
|
return false;
|
|
|
|
|
|
- } else if( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__TO_INCREMENT) {
|
|
|
- #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)
|
|
|
+ } else if(( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A & ARDUINO_ARRAY_ATTR_INDEX__TO_INCREMENT)
|
|
|
+ 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] ");
|
|
|
#endif
|
|
|
//ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A =
|
|
|
- ARDUINO_ARRAY_ATTR_QUEUE_add_distance(ARDUINO_ATTR_ARRAY_A ) ;//, ARDUINO_QUEUE_ELEMENT_FLAG_STANDARD , ARDUINO_ARRAY_INDEX_NEXT_A, ARDUINO_ARRAY_INDEX_A) ;
|
|
|
+ //ARDUINO_ARRAY_ATTR_QUEUE_add_distance(ARDUINO_ATTR_ARRAY_A ) ;//, ARDUINO_QUEUE_ELEMENT_FLAG_STANDARD , ARDUINO_ARRAY_INDEX_NEXT_A, ARDUINO_ARRAY_INDEX_A) ;
|
|
|
+
|
|
|
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)
|
|
|
+ Serial.print(" =518[ARDUINO_ARRAY_ATTR_INDEX__TO_INCREMENT][ERROR][ELSE] ");
|
|
|
+ #endif
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
|
|
|
} else {
|
|
|
- #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT)
|
|
|
- Serial.print(" =[ELSE][ERROR] ");
|
|
|
+ #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST)
|
|
|
+ Serial.print(" ![ARDUINO_ARRAY_ATTR_INDEX__INITIALIZED] =521[ELSE][ERROR] ");
|
|
|
#endif
|
|
|
return false;
|
|
|
}
|