|
|
@@ -0,0 +1,732 @@
|
|
|
+//_DISPLAY_func.h
|
|
|
+
|
|
|
+/* #if defined(HAS_TFT_ILI9163C)
|
|
|
+ delay(LCDtim);
|
|
|
+ DISPLAY_DEV.setCursor(0,60);
|
|
|
+ DISPLAY_DEV.print(LCDarray1); DISPLAY_DEV.print(" "); DISPLAY_DEV.print(LCDarray2);
|
|
|
+ #endif
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+//void _DISPLAY_print
|
|
|
+
|
|
|
+
|
|
|
+void DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A ,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ DISPLAY_pos_seq_T DISPLAY_pos_seq_A,
|
|
|
+ #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
|
|
|
+ DISPLAY_string_T DISPLAY_string_A
|
|
|
+ #else
|
|
|
+ DISPLAY_array16_T DISPLAY_array16_A
|
|
|
+ #endif
|
|
|
+
|
|
|
+
|
|
|
+ ){
|
|
|
+
|
|
|
+ #if defined(DEBUG)
|
|
|
+ if(DEBUG > 6) {
|
|
|
+ Serial.print("#20 DsplY:[ "); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A); //[ARDUINO_ATTR_ARRAY_S_INDEX]
|
|
|
+ Serial.print("] # MaxY:["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_CHARS_A); //[ARDUINO_ATTR_ARRAY_S_INDEX]
|
|
|
+ Serial.println("] ");
|
|
|
+ }
|
|
|
+
|
|
|
+ Serial.print("#26 Dspl ATTR CURRENT[ "); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
|
|
|
+ Serial.print("] LAST["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A);
|
|
|
+ Serial.print("] COUNT["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A);
|
|
|
+ Serial.print("] LIMIT["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A);
|
|
|
+ Serial.print("] NEXT:["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A);
|
|
|
+ Serial.println("] ");
|
|
|
+ #endif
|
|
|
+
|
|
|
+ #if defined(HAS_TFT_ILI9163C)
|
|
|
+
|
|
|
+ #endif
|
|
|
+ #if defined(DEBUG)
|
|
|
+ if(DEBUG > 6) {
|
|
|
+ Serial.print(" [HAS_TFT_ILI9163C] ");
|
|
|
+ Serial.print(" 27[DEBUG] ");
|
|
|
+ }
|
|
|
+ #endif
|
|
|
+ Serial.println("] ");
|
|
|
+
|
|
|
+ //todo position current
|
|
|
+ //todo positions max
|
|
|
+ #if defined(HAS_TFT_ILI9163C)
|
|
|
+ DISPLAY_DEV_CTRL__println(DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
|
|
|
+ DISPLAY_string_A,
|
|
|
+ #else
|
|
|
+ DISPLAY_array16_A,
|
|
|
+ #endif
|
|
|
+ DISPLAY_pos_seq_A) ;
|
|
|
+ #else
|
|
|
+
|
|
|
+ // Serial.println(DISPLAY_array16_A);
|
|
|
+
|
|
|
+ #endif
|
|
|
+
|
|
|
+ #if defined(DEBUG)
|
|
|
+ //Serial.end();
|
|
|
+ //delay(100);
|
|
|
+ //Serial.write(" 72[DEBUG] ");
|
|
|
+ #endif
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+void DISPLAY__print_IMMEDIATE(
|
|
|
+ DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ DISPLAY_pos_seq_T DISPLAY_pos_seq_A,
|
|
|
+ #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
|
|
|
+ DISPLAY_string_T DISPLAY_string_A,
|
|
|
+ #else
|
|
|
+ DISPLAY_array16_T DISPLAY_array16_A,
|
|
|
+ #endif
|
|
|
+ DISPLAY_TARGET_T DISPLAY_TARGET_A) {
|
|
|
+
|
|
|
+ if(DISPLAY_TARGET_A & DISPLAY_TARGET_DISPLAY128){ //BIN TEST
|
|
|
+
|
|
|
+ #if defined(HAS_TFT_ILI9163C)
|
|
|
+ #if defined(DEBUG)
|
|
|
+ if(DEBUG > 6) {
|
|
|
+ // String message(DISPLAY_array16_A);
|
|
|
+ Serial.print("#69A DISPLAY__print_IMMEDIATE [DEBUG] to HAS_TFT_ILI9163C Len["); //Serial.print( message.length());
|
|
|
+ Serial.print("] XM["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A);
|
|
|
+ Serial.print("] YM["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_CHARS_A);
|
|
|
+ Serial.print("] YC["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A);
|
|
|
+ Serial.print("] YF["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A);
|
|
|
+ Serial.println("] ");
|
|
|
+ }
|
|
|
+ #endif
|
|
|
+ DISPLAY_DEV_CTRL__println(DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
|
|
|
+ DISPLAY_string_A,
|
|
|
+ #else
|
|
|
+ DISPLAY_array16_A,
|
|
|
+ #endif
|
|
|
+
|
|
|
+ DISPLAY_pos_seq_A) ;
|
|
|
+ #else
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #endif
|
|
|
+ // DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_A, DISPLAY_PHYSICAL_CHAR_A, DISPLAY_pos_seq_A, DISPLAY_array16_A);
|
|
|
+ } else if(DISPLAY_TARGET_A & DISPLAY_TARGET_ANY){ //BIN TEST
|
|
|
+ #if defined(DEBUG)
|
|
|
+ if(DEBUG > 6) {
|
|
|
+ Serial.print("#69B DISPLAY__print_IMMEDIATE [DEBUG] to DISPLAY__print_ANY Seq["); Serial.print(DISPLAY_pos_seq_A , BIN);
|
|
|
+ Serial.print("] Target["); Serial.print(DISPLAY_TARGET_A , BIN);
|
|
|
+ Serial.println("] ");
|
|
|
+ }
|
|
|
+ #endif
|
|
|
+ DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_A, DISPLAY_PHYSICAL_CHAR_A, DISPLAY_pos_seq_A,
|
|
|
+ #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
|
|
|
+ DISPLAY_string_A
|
|
|
+ #else
|
|
|
+ DISPLAY_array16_A
|
|
|
+ #endif
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ #if defined(DEBUG)
|
|
|
+ if(DEBUG > 6) {
|
|
|
+ Serial.print("#68 DISPLAY__print_IMMEDIATE [DEBUG] else Seq["); Serial.print(DISPLAY_pos_seq_A , BIN);
|
|
|
+ Serial.print("] Target["); Serial.print(DISPLAY_TARGET_A , BIN);
|
|
|
+ Serial.println("] ");
|
|
|
+ }
|
|
|
+ #endif
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+#if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
|
|
|
+ #else
|
|
|
+
|
|
|
+ void DISPLAY__print_loop(DISPLAY_CURSOR_X_CHARS_T DISPLAY_CURSOR_X_CHARS_A,
|
|
|
+ DISPLAY_CURSOR_Y_CHARS_T DISPLAY_CURSOR_Y_CHARS_A ,
|
|
|
+ String message,
|
|
|
+ int message_len,
|
|
|
+ DISPLAY__print_loop_ACTION_T DISPLAY__print_loop_ACTION_A
|
|
|
+ ) { //to print while in loop
|
|
|
+ const int DISPLAY__print_loop_INDEX_LIMIT_A = 5;
|
|
|
+ static int DISPLAY__print_loop_INDEX_CURRENT_A = 0 ;
|
|
|
+ static int DISPLAY__print_loop_QUEUE_PEEK_A = 0 ;
|
|
|
+ static DISPLAY__print_loop_T DISPLAY__print_loop_A[5]={} ;
|
|
|
+
|
|
|
+ if(DISPLAY__print_loop_ACTION_A == DISPLAY__print_loop_ACTION_ADD) {
|
|
|
+ if((DISPLAY__print_loop_INDEX_CURRENT_A + 1) <= DISPLAY__print_loop_INDEX_LIMIT_A) {
|
|
|
+
|
|
|
+ DISPLAY__print_loop_INDEX_CURRENT_A ++ ;
|
|
|
+ if(DISPLAY__print_loop_QUEUE_PEEK_A == 0 ) {
|
|
|
+ DISPLAY__print_loop_QUEUE_PEEK_A = DISPLAY__print_loop_INDEX_CURRENT_A ;
|
|
|
+ }
|
|
|
+ DISPLAY__print_loop_A[DISPLAY__print_loop_INDEX_CURRENT_A].DISPLAY_CURSOR_X_CHARS_A = DISPLAY_CURSOR_X_CHARS_A ;
|
|
|
+ DISPLAY__print_loop_A[DISPLAY__print_loop_INDEX_CURRENT_A].DISPLAY_CURSOR_Y_CHARS_A = DISPLAY_CURSOR_Y_CHARS_A ;
|
|
|
+ DISPLAY__print_loop_A[DISPLAY__print_loop_INDEX_CURRENT_A].message_len = message_len ;
|
|
|
+ //strcpy(DISPLAY__print_loop_A[DISPLAY__print_loop_INDEX_CURRENT_A].message, message );
|
|
|
+ DISPLAY__print_loop_A[DISPLAY__print_loop_INDEX_CURRENT_A].message = message ;
|
|
|
+ }
|
|
|
+ Serial.print("#137[DISPLAY__print_loop][ADD] [i][");Serial.print(DISPLAY__print_loop_INDEX_CURRENT_A); Serial.println("] ");
|
|
|
+ } else if(DISPLAY__print_loop_ACTION_A == DISPLAY__print_loop_ACTION_POP) {
|
|
|
+ Serial.print("#137[DISPLAY__print_loop][POP] [i][");Serial.print(DISPLAY__print_loop_INDEX_CURRENT_A); Serial.print("] p[");Serial.print(DISPLAY__print_loop_QUEUE_PEEK_A); Serial.print("] ");
|
|
|
+ if(DISPLAY__print_loop_QUEUE_PEEK_A > 0 ) {
|
|
|
+ DISPLAY_DEV.setCursor(DISPLAY__print_loop_A[DISPLAY__print_loop_QUEUE_PEEK_A].DISPLAY_CURSOR_X_CHARS_A * DISPLAY_textsize_x_A,
|
|
|
+ DISPLAY__print_loop_A[DISPLAY__print_loop_QUEUE_PEEK_A].DISPLAY_CURSOR_Y_CHARS_A * DISPLAY_textsize_y_A);
|
|
|
+ #if defined(ENABLE_DISPLAY_MENU)
|
|
|
+ #else
|
|
|
+ DISPLAY_DEV.print(DISPLAY__print_loop_A[DISPLAY__print_loop_QUEUE_PEEK_A].message);
|
|
|
+ Serial.print(" msg["); Serial.print(DISPLAY__print_loop_A[DISPLAY__print_loop_QUEUE_PEEK_A].message); Serial.print("] ");
|
|
|
+ #endif
|
|
|
+
|
|
|
+
|
|
|
+ } else {
|
|
|
+ Serial.print(" [PEEK][EMPTY] ");
|
|
|
+ }
|
|
|
+ Serial.println("] ");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+#endif
|
|
|
+
|
|
|
+ void DISPLAY__print(
|
|
|
+ DISPLAY_T* DISPLAY_A ,
|
|
|
+ DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A ,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ DISPLAY_pos_seq_T DISPLAY_pos_seq_A,
|
|
|
+
|
|
|
+ #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
|
|
|
+ DISPLAY_string_T DISPLAY_string_A,
|
|
|
+ #else
|
|
|
+ DISPLAY_array16_T DISPLAY_array16_A,
|
|
|
+ #endif
|
|
|
+ DISPLAY_TARGET_T DISPLAY_TARGET_A,
|
|
|
+ time_seq_id_T time_seq_id_A,
|
|
|
+ time_min_run_T time_min_run_A
|
|
|
+ //queue
|
|
|
+ ,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,
|
|
|
+ TASK_TYPE_T TASK_TYPE_A,
|
|
|
+ TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A
|
|
|
+ )
|
|
|
+ {
|
|
|
+
|
|
|
+ #ifdef DEBUG_DISPLAY
|
|
|
+ Serial.print("127 DISPLAY__print DISPLAY_pos_seq_A["); Serial.print(BIN8_to_STRING(DISPLAY_pos_seq_A ));
|
|
|
+ Serial.print("] DISPLAY_TARGET_A["); Serial.print(BIN8_to_STRING(DISPLAY_TARGET_A )); Serial.print("] [");
|
|
|
+ Serial.print("#26 Dspl ATTR CURRENT[ "); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
|
|
|
+ Serial.print("] LAST["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A);
|
|
|
+ Serial.print("] COUNT["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A);
|
|
|
+ Serial.print("] LIMIT["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A);
|
|
|
+ Serial.print("] NEXT:["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A);
|
|
|
+ Serial.println("] ");
|
|
|
+ #endif
|
|
|
+
|
|
|
+ if(DISPLAY_pos_seq_A & DISPLAY_pos_seq_A_IMMEDIATE){ ////BIN TEST
|
|
|
+ #if defined(DEBUG_DISPLAY)
|
|
|
+ //if(DEBUG > 6) {
|
|
|
+ Serial.print("#84 DISPLAY__print to DISPLAY__print_IMMEDIATE [DEBUG] else Seq["); Serial.print(DISPLAY_pos_seq_A , BIN);
|
|
|
+ Serial.print("] Target["); Serial.print(DISPLAY_TARGET_A , BIN);
|
|
|
+
|
|
|
+ Serial.println("] ");
|
|
|
+ // }
|
|
|
+ #endif
|
|
|
+ DISPLAY__print_IMMEDIATE(DISPLAY_T_ARDUINO_ATTR_ARRAY_A, DISPLAY_PHYSICAL_CHAR_A, DISPLAY_pos_seq_A,
|
|
|
+ #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
|
|
|
+ DISPLAY_string_A,
|
|
|
+ #else
|
|
|
+ DISPLAY_array16_A,
|
|
|
+ #endif
|
|
|
+ DISPLAY_TARGET_A);
|
|
|
+ // Serial.print("#28 running _Slave_Ports_ttl_decrement = ");
|
|
|
+
|
|
|
+ } else {
|
|
|
+ #if defined(DEBUG)
|
|
|
+ Serial.print("#88 DISPLAY__print [DEBUG] else "); Serial.print(DISPLAY_pos_seq_A , BIN);
|
|
|
+ Serial.println("] ");
|
|
|
+ #endif
|
|
|
+
|
|
|
+ #if defined(DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________)
|
|
|
+ Serial.print("#167 DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________");
|
|
|
+ #else
|
|
|
+
|
|
|
+ Serial.print("#253 TODO WHY ? BIN DISPLAY_pos_seq_A["); Serial.print(DISPLAY_pos_seq_A, BIN);
|
|
|
+ Serial.print("]& IMM ["); Serial.print(DISPLAY_pos_seq_A_IMMEDIATE, BIN); Serial.print("] res[") ; Serial.print((DISPLAY_pos_seq_A & DISPLAY_pos_seq_A_IMMEDIATE) , BIN ) ;
|
|
|
+ Serial.print(" ] String [") ; Serial.print(DISPLAY_string_A); Serial.print("] ");
|
|
|
+ /* DISPLAY__add_record( DISPLAY_A ,
|
|
|
+ DISPLAY_T_ARDUINO_ATTR_ARRAY_A ,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ DISPLAY_pos_seq_A,
|
|
|
+ #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
|
|
|
+ DISPLAY_string_A,
|
|
|
+ #else
|
|
|
+ DISPLAY_array16_A,
|
|
|
+ #endif
|
|
|
+ DISPLAY_TARGET_A,
|
|
|
+ time_seq_id_A,
|
|
|
+ time_min_run_A
|
|
|
+ //queue
|
|
|
+ , Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
|
|
|
+ TASK_TYPE_A,
|
|
|
+ TASK_PORT_ASSOC_A
|
|
|
+ ) ;
|
|
|
+ */
|
|
|
+ #endif
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+void DISPLAY__CURSOR_Y_CHARS__SET(DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ DISPLAY_CURSOR_Y_CHARS_T DISPLAY_CURSOR_Y_CHARS_A
|
|
|
+ ) {
|
|
|
+
|
|
|
+
|
|
|
+ #if defined(HAS_TFT_ILI9163C)
|
|
|
+ DISPLAY_DEV__CURSOR_Y_CHARS__SET(
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ DISPLAY_CURSOR_Y_CHARS_A
|
|
|
+ );
|
|
|
+ #endif
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #if defined(HAS_TFT_ILI9163C)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+DISPLAY_LATENCY_PASS__POP(
|
|
|
+ //time_seq_id_T time_seq_id_A,
|
|
|
+ //time_min_run_T time_min_run_A, long time
|
|
|
+ ) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+void DISPLAY__print_menu(DISPLAY_T* DISPLAY_A ,
|
|
|
+ DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A ,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ DISPLAY_MENU_ITEM_INDEX_T DISPLAY_MENU_ITEM_INDEX_A ,
|
|
|
+ time_seq_id_T time_seq_id_A ,
|
|
|
+ time_min_run_T time_min_run_A
|
|
|
+ ) {
|
|
|
+ int i;
|
|
|
+ int maxX ;
|
|
|
+ int maxY ;
|
|
|
+
|
|
|
+ int maxXi ;
|
|
|
+ int maxYi ;
|
|
|
+ int minYi ;
|
|
|
+ int minXi ;
|
|
|
+
|
|
|
+ int minXselector_context ;
|
|
|
+ int menuYoffset = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_Y_CHARS_MIN_A ;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A | DISPLAY_MENU_SELECTOR_MENU_FLAG) {
|
|
|
+ minXselector_context = 1 ;
|
|
|
+ // Serial.print(" [minXselector_context] [MENU SEL] ");
|
|
|
+ } else { minXselector_context = 0 ; }
|
|
|
+
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_X_CHARS_MAX_A == 0) maxX = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_PX_A ;
|
|
|
+ else maxX = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_X_CHARS_MAX_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_x_A ;
|
|
|
+
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_Y_CHARS_MAX_A == 0) maxY = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_PX_A ;
|
|
|
+ else maxY = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_Y_CHARS_MAX_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A ;
|
|
|
+
|
|
|
+ // DISPLAY_DEV.setCursor((DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_X_CHARS_MIN_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_x_A),
|
|
|
+ // (DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_Y_CHARS_MIN_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A)); //[ARDUINO_ATTR_ARRAY_S_INDEX]
|
|
|
+
|
|
|
+
|
|
|
+ /* Serial.print("[#314 - XMIN["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_X_CHARS_MIN_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_x_A); Serial.print("] ");
|
|
|
+ Serial.print(" YMIN["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_Y_CHARS_MIN_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A); Serial.print("] ");
|
|
|
+ Serial.print(" XMAX["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_X_CHARS_MAX_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_x_A); Serial.print("] ");
|
|
|
+ Serial.print(" YMAX["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_Y_CHARS_MAX_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A); Serial.print("] ");
|
|
|
+
|
|
|
+ Serial.print(" TESTX["); Serial.print(20 * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_x_A); Serial.print("] ");
|
|
|
+ Serial.print(" TESTY["); Serial.print(8 * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A); Serial.print("] ");
|
|
|
+ Serial.print(" maxX["); Serial.print(maxX); Serial.print("] ");
|
|
|
+ Serial.print(" maxY["); Serial.print(maxY); Serial.print("] ");
|
|
|
+ Serial.print(" color["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_COLOR_A); Serial.print("] ");
|
|
|
+
|
|
|
+ Serial.print(" setMX["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_X_CHARS_MAX_A); Serial.print("] ");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Serial.println(" ");*/
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #if defined(DISPLAY__print_menu_DELAY)
|
|
|
+ Serial.print("D");
|
|
|
+ delay(DISPLAY__print_menu_DELAY);
|
|
|
+ #endif
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ for(i=ARDUINO_ARRAY_INDEX_FIRST ; i<=ARDUINO_ARRAY_INDEX_LIMIT_DISPLAY_MENU_ITEM_A; i++) {
|
|
|
+ //DISPLAY_PHYSICAL_CHAR_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i]
|
|
|
+
|
|
|
+ // DISPLAY_DEV.setCursor(20 , (20 + (i * 5)));
|
|
|
+ // DISPLAY_DEV.print("test88");
|
|
|
+
|
|
|
+ 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_LATENCY_PASS__POP()) {
|
|
|
+ //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("] ");
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].time_seq_id_A = time_seq_id_A ;
|
|
|
+ maxXi = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_PX_A ;
|
|
|
+ // Serial.print(" [Maxi[ "); Serial.print(maxXi); Serial.print("] ");
|
|
|
+ minXi = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_CURSOR_X_CHARS_A ;
|
|
|
+ // Serial.print(" [minXi[ "); Serial.print(minXi); Serial.print("] ");
|
|
|
+ maxYi = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_CURSOR_Y_CHARS_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A ;
|
|
|
+ //if(maxYi > DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_PX_A) maxYi = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_PX_A ;
|
|
|
+ // Serial.print(" [maxYi[ "); Serial.print(maxYi); Serial.print("] ");
|
|
|
+ minYi = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A ;
|
|
|
+ // Serial.print(" [minYi[ "); Serial.print(minYi); Serial.print("] ");
|
|
|
+
|
|
|
+ //Serial.print(" WPRINT ["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SIZE_Y_CHARS_MIN_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A); Serial.print("] ");
|
|
|
+ /* DISPLAY_DEV.fillRect(
|
|
|
+ (0 + minXselector_context),
|
|
|
+ ((DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_CURSOR_Y_CHARS_A + 1) * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A),
|
|
|
+ 100, DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A, BROWN );
|
|
|
+
|
|
|
+ */
|
|
|
+
|
|
|
+ DISPLAY_DEV.fillRect(
|
|
|
+ minXselector_context, maxYi ,
|
|
|
+ (maxXi - minXselector_context), minYi , DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_COLOR_A );
|
|
|
+
|
|
|
+
|
|
|
+ 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_USE_LEVEL_FLAG) {
|
|
|
+ DISPLAY_DEV.fillRect(
|
|
|
+ ( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].Exp_state_level_A / 3)
|
|
|
+ , 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) {
|
|
|
+ //DISPLAY_DEV.setTextColor(WHITE, BLACK);
|
|
|
+ // DISPLAY_DEV.setCursor(minXi , maxYi );
|
|
|
+ // DISPLAY_DEV.print("[ -- ] / [ + ]");DISPLAY_DEV.setTextColor(WHITE);
|
|
|
+ DISPLAY_DEV.fillRect( 0, maxYi , 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_TOGGLE_FLAG) {
|
|
|
+ DISPLAY_DEV.fillRect( 0, maxYi ,( maxXi /3 ), minYi, WHITE );
|
|
|
+ DISPLAY_DEV.fillRect( (maxXi /3), maxYi ,( maxXi /3 * 2 ), minYi, BLACK );
|
|
|
+ DISPLAY_DEV.fillRect( (maxXi /3 * 2), maxYi , maxXi, minYi, WHITE );
|
|
|
+ //DISPLAY_DEV.setCursor(minXi , maxYi ); DISPLAY_DEV.setTextColor(WHITE, BLACK);
|
|
|
+ //DISPLAY_DEV.print("[ ON ] / [ OFF ] ");DISPLAY_DEV.setTextColor(WHITE);
|
|
|
+ } else {
|
|
|
+ DISPLAY_DEV.fillRect( 0, maxYi , maxXi, minYi, RED );
|
|
|
+ //DISPLAY_DEV.setCursor(minXi , maxYi ); DISPLAY_DEV.setTextColor(WHITE, BLACK);
|
|
|
+ //DISPLAY_DEV.print("[ ? ] / [ ? ] ");DISPLAY_DEV.setTextColor(WHITE);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ } 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_FLAG) {
|
|
|
+ DISPLAY_DEV.fillRect( 0, maxYi , maxXi, minYi, 0x0210 );
|
|
|
+ } else if(minXselector_context > 0) {//menu context
|
|
|
+ DISPLAY_DEV.fillRect(
|
|
|
+ 0, maxYi ,
|
|
|
+ 5, minYi, RED );
|
|
|
+ }
|
|
|
+
|
|
|
+ /*if(maxYi == 0 ) {
|
|
|
+ Serial.print(" 404[maxYi]==0 for i[");Serial.print(i);Serial.print(" ] ");
|
|
|
+ Serial.print("FLAG");Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_MENU_ITEM_FLAG_A, BIN);Serial.print(" ] ");
|
|
|
+ Serial.print("messg[");Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_string_A);Serial.print("] ");
|
|
|
+ Serial.print("menuYoffset[");Serial.print(menuYoffset);Serial.print("] ");
|
|
|
+
|
|
|
+ }
|
|
|
+ */
|
|
|
+ DISPLAY_DEV.setCursor(minXi , maxYi ); //[ARDUINO_ATTR_ARRAY_S_INDEX]
|
|
|
+ // Serial.print(" SetCursorY["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_CURSOR_Y_CHARS_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A); Serial.print("] ");
|
|
|
+ //Serial.print("462:CA:"); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_char_A);
|
|
|
+
|
|
|
+ //DISPLAY_DEV.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_string_A);
|
|
|
+ //DISPLAY_DEV.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_char_A);
|
|
|
+ //DISPLAY_DEV.print("test 123");
|
|
|
+ //DISPLAY_DEV.print("test 123");
|
|
|
+ for (int iA = 0; iA < 24; iA++) {
|
|
|
+ DISPLAY_DEV.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_char24_A[iA]);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+#endif
|
|
|
+
|
|
|
+
|
|
|
+#include "_Slave_Ports_action_func.h"
|
|
|
+
|
|
|
+ #if defined(HAS_TFT_ILI9163C)
|
|
|
+
|
|
|
+
|
|
|
+void DISPLAY_MENU_SELECTOR(DISPLAY_T* DISPLAY_A ,
|
|
|
+ DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A ,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+
|
|
|
+ Slave_Ports_Status_T* Slave_Ports_Status_A ,
|
|
|
+ Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
|
|
|
+
|
|
|
+
|
|
|
+ // DISPLAY_MENU_ITEM_INDEX_T DISPLAY_MENU_ITEM_INDEX_A ,
|
|
|
+ time_seq_id_T time_seq_id_A ,
|
|
|
+ time_min_run_T time_min_run_A ,
|
|
|
+ //DISPLAY_MENU_SELECTOR_STATUS_T DISPLAY_MENU_SELECTOR_STATUS_A , //; //which mode
|
|
|
+ DISPLAY_MENU_SELECTOR_SWITCH_T DISPLAY_MENU_SELECTOR_SWITCH_A,
|
|
|
+ DISPLAY_MENU_SELECTOR_oldEncPos_T DISPLAY_MENU_SELECTOR_oldEncPos_A , //; //values
|
|
|
+ DISPLAY_MENU_SELECTOR_encoderPos_T DISPLAY_MENU_SELECTOR_encoderPos_A,
|
|
|
+
|
|
|
+ DISPLAY_MENU_SELECTOR_triggerCountOld_T DISPLAY_MENU_SELECTOR_triggerCountOld_A,
|
|
|
+ DISPLAY_MENU_SELECTOR_triggerCount_T DISPLAY_MENU_SELECTOR_triggerCount_A
|
|
|
+ ) {
|
|
|
+
|
|
|
+
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A == 0 ) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print(" [SEL_INIT] ");
|
|
|
+ #endif
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A = ARDUINO_ARRAY_INDEX_FIRST ;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_MENU_FLAG ;
|
|
|
+ }
|
|
|
+
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print(" [SEL_STATUS["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A, BIN); Serial.print("] ");
|
|
|
+ Serial.print(" [MENU_INDEX["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A); Serial.print("] ");
|
|
|
+ Serial.print(" [ITEM_INDEX["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A); Serial.print("] ");
|
|
|
+ #endif
|
|
|
+
|
|
|
+ if(DISPLAY_MENU_SELECTOR_oldEncPos_A != DISPLAY_MENU_SELECTOR_encoderPos_A ) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print(" #383[ENC][CHG][ROOT] ");
|
|
|
+ #endif
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_MENU_FLAG) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print(" #385[DISPLAY_MENU_SELECTOR_MENU_FLAG] ");
|
|
|
+ #endif
|
|
|
+ if(DISPLAY_MENU_SELECTOR_oldEncPos_A > DISPLAY_MENU_SELECTOR_encoderPos_A) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print(" #386[ENCODER][CHANGED]> ");
|
|
|
+ #endif
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A --;
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A <= ARDUINO_ARRAY_INDEX_FIRST ) {
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A = ARDUINO_ARRAY_INDEX_FIRST ;
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("#387[NOT][PREV][MENU]");
|
|
|
+ #endif
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("#386[ENCODER][CHANGED]< ");
|
|
|
+ #endif
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A - 1].DISPLAY_MENU_ITEM_A[1].DISPLAY_MENU_ITEM_FLAG_A == DISPLAY_MENU_ITEM_FLAG_EMPTY) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("#388[NOT][NEXT][MENU]");
|
|
|
+ #endif
|
|
|
+ } else {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("#388[NEXT][MENU]++");
|
|
|
+ #endif
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A ++;
|
|
|
+ }
|
|
|
+ } //encoderpos
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_MENU_FLAG ;
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("[ WILL MARK MENU CONETXT ]");
|
|
|
+ #endif
|
|
|
+
|
|
|
+ } else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_ITEM_FLAG) { //if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_MENU_FLAG) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("[ITEM][CONTEXT]");
|
|
|
+ #endif
|
|
|
+ if(DISPLAY_MENU_SELECTOR_oldEncPos_A > DISPLAY_MENU_SELECTOR_encoderPos_A) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print(" #482[ENCODER][CHANGED]< ");
|
|
|
+ #endif
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A == ARDUINO_ARRAY_INDEX_FIRST) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print(" #485[ENCODER][NO MORE LEFT] ");
|
|
|
+ #endif
|
|
|
+ } else {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print(" #485[ENCODER][MOVED] ");
|
|
|
+ #endif
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_EMPTY_FLAG ;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A --;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_ITEM_FLAG ;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ } else if(DISPLAY_MENU_SELECTOR_oldEncPos_A < DISPLAY_MENU_SELECTOR_encoderPos_A) { // if(DISPLAY_MENU_SELECTOR_oldEncPos_A > DISPLAY_MENU_SELECTOR_encoderPos_A) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print(" #482[ENCODER][CHANGED]> ");
|
|
|
+ #endif
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A + 1)].DISPLAY_MENU_ITEM_FLAG_A == DISPLAY_MENU_ITEM_FLAG_INITIALIZED) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print(" #482[ENCODER][MARKED]> ");
|
|
|
+ #endif
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_EMPTY_FLAG ;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A ++;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_ITEM_FLAG ;
|
|
|
+ }
|
|
|
+
|
|
|
+ } //else if(DISPLAY_MENU_SELECTOR_oldEncPos_A < DISPLAY_MENU_SELECTOR_encoderPos_A)
|
|
|
+
|
|
|
+ } else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A & DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_FLAG) { // else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_ITEM_FLAG)
|
|
|
+ //rotate selectors
|
|
|
+ Serial.print(" #560[ENCODER][_ITEM_OPTIONS_FLAG]> ");Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A, BIN); Serial.print("]");
|
|
|
+ if(DISPLAY_MENU_SELECTOR_oldEncPos_A != DISPLAY_MENU_SELECTOR_encoderPos_A) {
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A & DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_LEVEL_FLAG) {
|
|
|
+ Serial.print(" >[LEV] ");
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A - DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_LEVEL_FLAG ;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A | DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_TOGGLE_FLAG ;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A ;
|
|
|
+ } else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A & DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_TOGGLE_FLAG) {
|
|
|
+ Serial.print(" >[TOG] ");
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A - DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_TOGGLE_FLAG ;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A | DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_LEVEL_FLAG ;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A ;
|
|
|
+ } else {
|
|
|
+ Serial.print(" >[ELS][LEV] ");
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A | DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_LEVEL_FLAG ;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A ;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ } else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_USE_LEVEL_FLAG) { //else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_ITEM_FLAG)
|
|
|
+ if(DISPLAY_MENU_SELECTOR_oldEncPos_A > DISPLAY_MENU_SELECTOR_encoderPos_A) {
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A > 0) {
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A -=5 ; //--;
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A < 0 ) DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A = 0 ;
|
|
|
+ TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A={0,0,DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].ARDUINO_ARRAY_INDEX_A};
|
|
|
+
|
|
|
+ Slave_Ports_action_func(Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A, Slave_Ports_Status_A ,
|
|
|
+ Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_request_set_new_Exp_state ,
|
|
|
+ TASK_PORT_ASSOC_A,
|
|
|
+ time_seq_id_A, time_min_run_A, ARDUINO_ARRAY_INDEX_NOT_SET ,
|
|
|
+ Exp_state_ON_USE_LEVEL ,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ } //if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A > 0) {
|
|
|
+ } else if(DISPLAY_MENU_SELECTOR_oldEncPos_A < DISPLAY_MENU_SELECTOR_encoderPos_A) {
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A < 254) {
|
|
|
+
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A +=5 ; //+;
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A >254) DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A = 254;
|
|
|
+ TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A={0,0,DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].ARDUINO_ARRAY_INDEX_A};
|
|
|
+ Slave_Ports_action_func(Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A, Slave_Ports_Status_A ,
|
|
|
+ Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_request_set_new_Exp_state ,
|
|
|
+ TASK_PORT_ASSOC_A,
|
|
|
+ time_seq_id_A, time_min_run_A, ARDUINO_ARRAY_INDEX_NOT_SET ,
|
|
|
+ Exp_state_ON_USE_LEVEL ,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ } //if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A < 254) {
|
|
|
+ } // if(DISPLAY_MENU_SELECTOR_oldEncPos_A < DISPLAY_MENU_SELECTOR_encoderPos_A) {
|
|
|
+
|
|
|
+
|
|
|
+ } //else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_USE_LEVEL_FLAG)
|
|
|
+
|
|
|
+ } else if(DISPLAY_MENU_SELECTOR_triggerCountOld_A != DISPLAY_MENU_SELECTOR_triggerCount_A) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("[TRIG++]?");
|
|
|
+ #endif
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_MENU_FLAG) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("[TOGGLE][Fr][SELECTOR_MENU_FLAG]>ITEM");
|
|
|
+ #endif
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_ITEM_FLAG ;
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("[ITEM]>1");
|
|
|
+ #endif
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A = ARDUINO_ARRAY_INDEX_FIRST ;
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("[ITEM]>MARK1");
|
|
|
+ #endif
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A ;
|
|
|
+ } else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_ITEM_FLAG) { //if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_MENU_FLAG) {
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("[TOGGLE][Fr][SELECTOR_MENU_FLAG]>ITEM>OPTIONS");
|
|
|
+ #endif
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_FLAG ;
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("[ITEM]>1");
|
|
|
+ #endif
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_FLAG ;
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("[ITEM]>MARK1");
|
|
|
+ #endif
|
|
|
+ //} else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A & DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_LEVEL_FLAG) {
|
|
|
+
|
|
|
+
|
|
|
+ } else if((DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A & DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_LEVEL_FLAG) or (
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A & DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_FLAG )) { //== DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_FLAG) { //if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_FLAG
|
|
|
+
|
|
|
+ if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].ARDUINO_ARRAY_INDEX_A > 0 ) {
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_USE_LEVEL_FLAG ;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_USE_LEVEL_FLAG;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A = Slave_Ports_Status_A[ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].ARDUINO_ARRAY_INDEX_A ].Exp_state_level_A ;
|
|
|
+ } else {//if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].ARDUINO_ARRAY_INDEX_A > 0 ) {
|
|
|
+ //exit parent
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_MENU_FLAG ;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_MENU_FLAG;
|
|
|
+ } //else
|
|
|
+ } else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_USE_LEVEL_FLAG) { //if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_FLAG)
|
|
|
+ //back to elements
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_ITEM_FLAG;
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A = DISPLAY_MENU_SELECTOR_ITEM_FLAG ;
|
|
|
+ } else { //else if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A == DISPLAY_MENU_SELECTOR_ITEM_OPTIONS_USE_LEVEL_FLAG)
|
|
|
+ Serial.print("ELSE777["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A, BIN);
|
|
|
+ }
|
|
|
+ } // if(DISPLAY_MENU_SELECTOR_oldEncPos_A != DISPLAY_MENU_SELECTOR_encoderPos_A ) {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #if defined(DISPLAY_MENU_SELECTOR_DEBUG)
|
|
|
+ Serial.print("DEBUG["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_SELECTOR_STATUS_A, BIN);
|
|
|
+ #endif
|
|
|
+ Serial.println(" ");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+#endif
|