//_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 Serial.println(DISPLAY_array16_A); #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); 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("] "); } 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 } 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 ; 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(" ");*/ 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] 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_INIT ) { if(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 - ARDUINO_LOOP_LATENCY_DISPLAY_MENU) ) { } else { //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_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].time_seq_id_A = time_seq_id_A ; DISPLAY_DEV.fillRect( (DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_CURSOR_X_CHARS_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_x_A), (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), maxX, DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A, DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_COLOR_A ); DISPLAY_DEV.setCursor( (DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_MENU_ITEM_INDEX_A].DISPLAY_MENU_ITEM_A[i].DISPLAY_CURSOR_X_CHARS_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_x_A), (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)); //[ARDUINO_ATTR_ARRAY_S_INDEX] 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("test 123"); } } } }