a.binder 5 年之前
父節點
當前提交
7afd6bd505

+ 4 - 3
SE/stuff/P5_Automation_can-dev-res/P5_Automation_can-dev-res.ino

@@ -230,6 +230,7 @@ ARDUINO_FUNCT_INIT_RESULT_T ARDUINO_FUNCT_INIT_RESULT__Slave_Ports_LOCAL_init =
 
 void setup() {
     Serial.begin(115200);
+//    Serial.println("#233 setup" );
 // _LCD_print_queue.push(1);
 // _LCD_print_queue.push(2);
 // _LCD_print_queue.push(3);
@@ -301,8 +302,8 @@ void loop() {
   #include "_PCINT_loop.h"
 
   time = millis();
-  Serial.print("Time: " );
-  Serial.println(time);
+  Serial.println("Time: " );
+ // Serial.println(time);
       #include "_SlaveID_loop1.h" //todo PCINT
       #include "_ControllerID_loop1.h"  //todo make default
   
@@ -314,7 +315,7 @@ void loop() {
                     DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
                     DISPLAY_PHYSICAL_CHAR_A,
                     DISPLAY_pos_seq_A_NEXT,
-                    "123456789012345678901" 
+                    "123456789012345678901234567890" 
         );     
   delay(5000);
   

+ 10 - 4
SE/stuff/P5_Automation_can-dev-res/_CAN_setup.h

@@ -7,10 +7,11 @@
       LCD_print(LCDarray1, LCDarray2, LCDtim/5);
     #endif
     #if defined(HAS_TFT_ILI9163C)
-      delay(LCDtim);  
+      /* TODO   delay(LCDtim);  
       DISPLAY_DEV.setCursor(0,20); 
       DISPLAY_DEV.print("MCP2515 Init Okay!!\r\n");
-      delay(LCDtim); 
+      delay(LCDtim);
+      */ 
     #endif
   } else { 
      LCDarray1 = "MCP2515 Init Failed";
@@ -22,6 +23,7 @@
       #if defined(HAS_LCD1602)
           LCD_print(LCDarray1, LCDarray2, LCDtim / 2 ) ;
       #endif
+        /* TODO 
       #if defined(HAS_TFT_ILI9163C)
         delay(LCDtim);  
         DISPLAY_DEV.setCursor(0,20); 
@@ -31,6 +33,7 @@
          DISPLAY_DEV.print(LCDarray2);
          delay(LCDtim); 
       #endif
+      */
   }
 
 
@@ -42,16 +45,19 @@
        #endif
         Serial.println("");
          #if defined(HAS_LCD1602)
+           /* TODO 
           LCD_print(LCDarray1, LCDarray2, LCDtim / 5 ) ;
           delay(LCDtim * 10); 
+          */
          #endif
          #if defined(HAS_TFT_ILI9163C)
-          delay(LCDtim);  
+         /* TODO AAdelay(LCDtim);  
           DISPLAY_DEV.setCursor(0,30); 
           DISPLAY_DEV.print(LCDarray1); DISPLAY_DEV.print(" ");
           DISPLAY_DEV.print(LCDarray2);
 
-          delay(LCDtim); 
+          delay(LCDtim);
+          */ 
          #endif
         CAN0.setMode(MCP_NORMAL);                // Change to normal mode to allow messages to be transmitted
         pinMode(CAN_INTpin, INPUT);                       // Setting pin 2 for /INT input

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/_PCINT_loop.h

@@ -1,6 +1,6 @@
 /* uint8_t count;
   Serial.print(".");
-  delay(1000);                                // every second,
+ // delay(1000);                                // every second,
   for (i=0; i < TOTAL_PINS; i++) {
     if (interrupt_count[i] != 0) {            // look at all the interrupted pins
       count=interrupt_count[i];               // store its count since the last iteration

+ 3 - 1
SE/stuff/P5_Automation_can-dev-res/_SlaveID_loop1.h

@@ -61,8 +61,9 @@ if(!digitalRead(CAN_INTpin))                    // If pin 2 is low, read receive
             
           }
         //EOF CAN
+        /*TODO
           #if defined(HAS_LCD1602)
-            delay(LCDtim);  
+          //  delay(LCDtim);  
             //lcd.setCursor(0,1); 
             lcd.print(lcdPattern);
             //lcd.print(lcdPos % 10);
@@ -75,6 +76,7 @@ if(!digitalRead(CAN_INTpin))                    // If pin 2 is low, read receive
             }
             lcdPos ++;
           #endif
+          */
        //   #if defined(HAS_TFT_ILI9163C)
        //     delay(LCDtim);  
         //    display.setCursor(0,60); 

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

@@ -65,7 +65,7 @@
                                //     DISPLAY_DEV.print(LCDarray1); DISPLAY_DEV.print(" "); DISPLAY_DEV.print(LCDarray2);
                                //   #endif
 
-                                      delay(5000);   // send data per 100ms
+                                  //    delay(5000);   // send data per 100ms
                 }
 
 

+ 30 - 13
SE/stuff/P5_Automation_can-dev-res/_TFT_ILI9163C_func.h

@@ -67,21 +67,24 @@ void TFT_ILI9163C_BASE::scroll(uint16_t ssa) {
 */
 
 void DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A) { 
-    if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A + 1 > DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_CHARS_A) {//[ARDUINO_ATTR_ARRAY_S_INDEX]
+    if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A + 1 >= DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_CHARS_A) {//[ARDUINO_ATTR_ARRAY_S_INDEX]
         DISPLAY_DEV.setCursor(0,0);
-         DISPLAY_DEV.clearScreen();
-           
+         //DISPLAY_DEV.clearScreen();
+       DISPLAY_DEV.fillRect(0, 0, DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_PX_A , DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A  ,BLUE),    
          DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A = 0 ; //[ARDUINO_ATTR_ARRAY_S_INDEX]
          DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_X_CHARS_A = 0 ; //[ARDUINO_ATTR_ARRAY_S_INDEX]
     } else {
          DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A ++ ; //[ARDUINO_ATTR_ARRAY_S_INDEX]
          DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_X_CHARS_A = 0 ; //[ARDUINO_ATTR_ARRAY_S_INDEX]
+         
          DISPLAY_DEV.setCursor(0,DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A); //[ARDUINO_ATTR_ARRAY_S_INDEX]
     }
     
      #if defined(DEBUG)
                 Serial.print("#83 Dspl Y:["); 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.print("]  maxX:["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A); //[ARDUINO_ATTR_ARRAY_S_INDEX]
+                Serial.print("] #YxF:["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A * DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A); //[ARDUINO_ATTR_ARRAY_S_INDEX]
                 Serial.println("] "); 
             #endif
 }
@@ -94,20 +97,33 @@ void DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR
 void  DISPLAY_DEV_CTRL__println(DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A, 
                                 DISPLAY_array16_T DISPLAY_array16_A) {
                                 DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_A) ; 
+                               // DISPLAY_DEV.print(DISPLAY_array16_A);
+                               //  unsigned char LCDarray1buf[16];
+                                 //              DISPLAY_array16_A.toCharArray(LCDarray1buf, 16);
+                                 
+                                  String message(DISPLAY_array16_A);
+                                
+                                 
+                               
+                                int parts =  floor(message.length()/ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A ) ; //( message.length() + 100)
+                                if(message.length() >= DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A and parts == 1) parts ++; 
+                                int substr_begin = 0 ;
+                                int substr_end = 0 ;
+                                int i;
                                 
                                  #if defined(DEBUG)
                                      Serial.print("#34 arr16"); Serial.print(DISPLAY_array16_A);
-                                     Serial.print("#34 sizeof"); Serial.print(sizeof(DISPLAY_array16_A));
-                                     
+                                     Serial.print("] #34 sizeof["); Serial.print(message.length());
+                                     Serial.print("] #34 String["); Serial.print(message);
+                                     Serial.print("] #34 frag"); Serial.print( message.substring(2, 5));
+                                    Serial.print("] parts["); Serial.print( parts);
+                                    Serial.print("] XC["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A);
                                      Serial.println("] "); 
                                  #endif
-                                //String message(DISPLAY_array16_A);
-                                //int parts =  ceil( message.length() / DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A ) ;
-                                int substr_begin = 0 ;
-                                int substr_end = 0 ;
-                                int i;
+                                 
+                                
                                 
-                               /* for(i = 1 ; i<= parts; i++) {
+                                for(i = 1 ; i<= parts; i++) {
                                     //myString.substring(from, to)
                                     substr_end = substr_begin + DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A ;
                                     DISPLAY_DEV.print(message.substring(substr_begin, substr_end));
@@ -119,8 +135,9 @@ void  DISPLAY_DEV_CTRL__println(DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A
                                              Serial.println("] "); 
                                          #endif
                                         substr_begin = substr_end + 1;
-                                        if( parts > 1)  DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_A) ; 
-                                } */
+                                        if( parts >= 1 and not(i == parts))
+                                         DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_A) ; 
+                                } 
             }
             
             

+ 1 - 8
SE/stuff/P5_Automation_can-dev-res/_TFT_ILI9163C_init.h

@@ -5,14 +5,7 @@
 
   
   // Color definitions
-  #define BLACK   0x0000
-  #define BLUE    0x001F
-  #define RED     0xF800
-  #define GREEN   0x07E0
-  #define CYAN    0x07FF
-  #define MAGENTA 0xF81F
-  #define YELLOW  0xFFE0  
-  #define WHITE   0xFFFF
+ 
 
  // TFT_ILI9163C display = TFT_ILI9163C(TFT_ILI9163C_CSpin, TFT_ILI9163C_DCpin, TFT_ILI9163C__RSTpin);
  // float p = 3.1415926;

+ 3 - 1
SE/stuff/P5_Automation_can-dev-res/_TFT_ILI9163C_setup.h

@@ -2,6 +2,8 @@
   //float p = 3.1415926;
   //  TFT_ILI9163C display = TFT_ILI9163C(TFT_ILI9163C_CSpin, TFT_ILI9163C_DCpin, TFT_ILI9163C__RSTpin);
      DISPLAY_DEV.begin();
+     
+     //DISPLAY_DEV.defineScrollArea(10,100);
      //@param  s  Desired text size. 1 is default 6x8, 2 is 12x16, 3 is 18x24, etc
      // DISPLAY_DEV.setTextSize(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_x_A , DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A);
      DISPLAY_DEV.clearScreen();
@@ -9,4 +11,4 @@
      DISPLAY_DEV.print(LCDarray1);
      DISPLAY_DEV.setCursor(0,10);
      DISPLAY_DEV.print(LCDarray2);
-     delay(LCDtim); 
+     

+ 4 - 4
SE/stuff/P5_Automation_can-dev-res/_TFT_ILI9163C_struct.h

@@ -6,7 +6,7 @@
    DISPLAY_PHYSICAL_Y_PX_T DISPLAY_PHYSICAL_Y_PX_A = 128 ;
 
 
-    DISPLAY_textsize_x_T DISPLAY_textsize_x_A = 8; //5 nominal
+    DISPLAY_textsize_x_T DISPLAY_textsize_x_A = 6.5; //5 nominal
     DISPLAY_textsize_y_T DISPLAY_textsize_y_A = 10; //8 nominal
 
  DISPLAY_PHYSICAL_X_CHARS_T DISPLAY_PHYSICAL_X_CHARS_A = DISPLAY_PHYSICAL_X_PX_A /  DISPLAY_textsize_x_A ; //todo to test
@@ -51,10 +51,10 @@ struct DISPLAY_PHYSICAL_CHAR_S {
           */
          //DISPLAY_PHYSICAL_CHAR_T 
         DISPLAY_PHYSICAL_CHAR_T   DISPLAY_PHYSICAL_CHAR_A =   { 
-                 DISPLAY_PHYSICAL_X_CHARS_A ,
-                 DISPLAY_PHYSICAL_Y_CHARS_A ,
+                 DISPLAY_PHYSICAL_X_PX_A ,
+                 DISPLAY_PHYSICAL_Y_PX_A ,
                  DISPLAY_PHYSICAL_X_CHARS_A,
-                 DISPLAY_PHYSICAL_X_CHARS_A ,
+                 DISPLAY_PHYSICAL_Y_CHARS_A ,
                  0, 
                  0,
                  DISPLAY_textsize_x_A,

+ 10 - 1
SE/stuff/P5_Automation_can-dev-res/__main_struct.h

@@ -49,4 +49,13 @@ const ARDUINO_ARRAY_INDEX_LAST_T ARDUINO_ARRAY_INDEX_LAST_INIT = 0 ;
 const ARDUINO_ARRAY_INDEX_T ARDUINO_ATTR_ARRAY_S_INDEX = ARDUINO_ARRAY_INDEX_FIRST ;
 
 
-
+//#define membersof(x) (sizeof(x) / sizeof(x[0]))
+
+ #define BLACK   0x0000
+  #define BLUE    0x001F
+  #define RED     0xF800
+  #define GREEN   0x07E0
+  #define CYAN    0x07FF
+  #define MAGENTA 0xF81F
+  #define YELLOW  0xFFE0  
+  #define WHITE   0xFFFF

+ 2 - 0
SE/stuff/P5_Automation_can-dev-res/_time_struct.h

@@ -0,0 +1,2 @@
+typedef long time_seq_id_T;
+typedef time_seq_id_T time_min_run_T;