a.binder %!s(int64=5) %!d(string=hai) anos
pai
achega
3eb4eac09b

+ 14 - 10
SE/stuff/P5_Automation_can-dev-res/P5_Automation_can-dev-res.ino

@@ -95,17 +95,21 @@
 //#define DISABLE_LOOP //To debug and disable any output
 
 
-#include "__main_struct.h"
-#include "__main_struct_funct.h"
-#include "__main_struct_limits.h"
+#include "___main/__main_struct.h"
+#include "___main/__main_struct_funct.h"
+
+
+#include "___main/__main_struct_limits.h"
 #include "_time_struct.h"
 #include "_DRIVER_STATUS/_DRIVER_STATUS_struct.h"
 
-#include "__main_I2C_struc.h"
-#include "__main_static.h"
-#include "__main_auto.h"
-#include "__main_register.h"
-#include "__main_extern.h"
+#include "___main/__main_I2C_struc.h"
+#include "___main/__main_static.h"
+#include "___main/__main_auto.h"
+#include "___main/__main_register.h"
+#include "___main/__main_extern.h"
+
+#include "___template/__STORAGE_ARRAY_func.h" //testing
 
 #define  _ControllerID   0x101 
 #define  _Slave1_ID   0x103 
@@ -330,7 +334,7 @@
 
 
 
-#include "__main_init.h"
+#include "___main/__main_init.h"
 
  #ifdef DISABLE_LOOP 
         #include "___DEBUG/___DEBUG_DISABLE_INIT.h"
@@ -414,7 +418,7 @@ void setup() {
 
 
     #ifndef DISABLE_LOOP 
-     #include "__main_setup.h"
+     #include "___main/__main_setup.h"
     #endif
 
  #ifdef DISABLE_LOOP 

+ 6 - 5
SE/stuff/P5_Automation_can-dev-res/_I2C_driver_Adafruit_PWMServoDriver/_I2C_driver_Adafruit_PWMServoDriver_func.h

@@ -14,7 +14,7 @@
         Adafruit_PWMServoDriver_ATTR_ARRAY_T  &Adafruit_PWMServoDriver_ATTR_ARRAY_A) {
      int i;
     //int *ptrNumber;
-    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
+    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS_I2C ; i++) {
         if(not(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == 0 )) {
             //Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A = I2C_ADDRESS_A;
             //Adafruit_PWMServoDriver _class_cntr = Adafruit_PWMServoDriver(I2C_ADDRESS_A) ;
@@ -92,7 +92,7 @@
 int Adafruit_PWMServoDriver_setPWM(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A,
  I2C_ADDRESS_T I2C_ADDRESS_A, int  LocalPort, int PWM_MIN, int PWM_MAX) {
  int i;
-    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
+    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS_I2C ; i++) {
         if(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == I2C_ADDRESS_A ) {
             Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V.setPWM(LocalPort, PWM_MIN, PWM_MAX);
             Serial.print("#577 setPWM i["); Serial.print(i);  Serial.println("]"); 
@@ -100,14 +100,14 @@ int Adafruit_PWMServoDriver_setPWM(Adafruit_PWMServoDriver_T* Adafruit_PWMServoD
         }
     }
     return 1;
-  }
+  } 
 
 
 
 
 ARDUINO_ARRAY_PRIMARY_KET_T Adafruit_PWMServoDriver__get_PRIMARY_KET_T(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A,  I2C_ADDRESS_T I2C_ADDRESS_A) {
  ARDUINO_ARRAY_PRIMARY_KET_T i;
-    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
+    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS_I2C ; i++) {
         if(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == I2C_ADDRESS_A ) {
            return i;
             break;
@@ -121,9 +121,10 @@ ARDUINO_ARRAY_PRIMARY_KET_T Adafruit_PWMServoDriver__get_PRIMARY_KET_T(Adafruit_
 void Adafruit_PWMServoDriver__print_status(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A) {
  Serial.println("#99 Adafruit_PWMServoDriver__print_status ");
  ARDUINO_ARRAY_PRIMARY_KET_T i;
-    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
+    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS_I2C ; i++) {
        Serial.print(" i["); Serial.print(i); 
        Serial.print("] I2C_ADDRESS_A[");  Serial.print(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A);
+       Serial.print("] ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A[");  Serial.print(Adafruit_PWMServoDriver_A[i].ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A);
        Serial.println("] ");  
     }
     //return 1;

+ 6 - 4
SE/stuff/P5_Automation_can-dev-res/_ROTTARY_SW/_ROTTARY_SW_func.h

@@ -5,7 +5,7 @@
 
  // You can assign any number of functions to different pins. How cool is that?
 void ROTTARY_SW_sw_INT() {
-   Serial.println("ROTTARY_SW_sw_INT TRIG");
+  // Serial.println("ROTTARY_SW_sw_INT TRIG");
 }
 
 /*
@@ -34,12 +34,13 @@ void ROTTARY_SW_dt_INT() {
    bFlag = 1; //signal that we're expecting pinA to signal the transition to detent from free rotation
   }
   sei(); //restart interrupts
-  #ifdef DEBUG
+ /* #ifdef DEBUG
   if(DEBUG > 4) {
     Serial.print("dt_: #[");  
     //Serial.print(encoderPos); Serial.print("] R1[");  Serial.print(reading1); Serial.print("] R2[");  Serial.print(reading2); Serial.print("] aFlag["); Serial.print(aFlag);   Serial.print("] bFlag["); Serial.print(bFlag); 
      Serial.println("] "); }
    #endif
+   */
 }
 
 void ROTTARY_SW_clk_INT(){
@@ -65,13 +66,14 @@ void ROTTARY_SW_clk_INT(){
    aFlag = 1; //signal that we're expecting pinA to signal the transition to detent from free rotation
   }
   sei(); //restart interrupts
-    #ifdef DEBUG
+   /* #ifdef DEBUG
     if(DEBUG > 4) {
-    Serial.println("clkA: #["); 
+   // Serial.println("clkA: #["); 
      //Serial.print(encoderPos); 
      //Serial.print("] R1["); //Serial.print(reading1); //Serial.print("] R2[");  Serial.print(reading2); Serial.print("] AFlag["); Serial.print(aFlag);   Serial.print("] bFlag["); Serial.print(bFlag);  
    // Serial.println("] "); 
    }
    #endif   
+   */
 }
 

+ 2 - 2
SE/stuff/P5_Automation_can-dev-res/_ROTTARY_SW/_ROTTARY_SW_setup.h

@@ -19,7 +19,7 @@
     #ifdef DISABLE_LOOP || DEBUG
              Serial.println("will  attachPinChangeInterrupt(ROTTARY_SW_dt, ROTTARY_SW_dt_INT, RISING)");
     #endif
-  attachPinChangeInterrupt(ROTTARY_SW_dt, ROTTARY_SW_dt_INT, RISING); //FALLING //RISING 
+ // attachPinChangeInterrupt(ROTTARY_SW_dt, ROTTARY_SW_dt_INT, RISING); //FALLING //RISING 
     #ifdef DISABLE_LOOP || DEBUG
              Serial.println("will  pinMode(ROTTARY_SW_dt, INPUT_PULLUP)");
     #endif
@@ -27,7 +27,7 @@
    #ifdef DISABLE_LOOP || DEBUG
              Serial.println("will  attachPinChangeInterrupt(ROTTARY_SW_clk, ROTTARY_SW_clk_INT, RISING)");
     #endif
-  attachPinChangeInterrupt(ROTTARY_SW_clk, ROTTARY_SW_clk_INT, RISING); //CHANGE
+//  attachPinChangeInterrupt(ROTTARY_SW_clk, ROTTARY_SW_clk_INT, RISING); //CHANGE
   #ifdef DISABLE_LOOP || DEBUG
              Serial.println("pinMode(ROTTARY_SW_clk, INPUT_PULLUP)");
     #endif

+ 3 - 1
SE/stuff/P5_Automation_can-dev-res/__main_I2C_struc.h → SE/stuff/P5_Automation_can-dev-res/___main/__main_I2C_struc.h

@@ -29,7 +29,7 @@ typedef I2C_ARRAY_DRIVER_S I2C_ARRAY_DRIVER_T ;
 
 typedef struct ARDUINO_ATTR_ARRAY_S I2C_ARDUINO_ATTR_ARRAY_T;
 
-
+static ARDUINO_ARRAY_INDEX_T I2C_ARRAY_INDEX_A[ARDUINO_ARRAY_INDEX_LIMIT_PORTS_I2C] = {} ; //TO KEEP INDEXES 
 
 static I2C_ARDUINO_ATTR_ARRAY_T  I2C_ARDUINO_ATTR_ARRAY_A =  //[ARDUINO_ATTR_ARRAY_S_INDEX] 
         {    ARDUINO_ARRAY_INDEX_CURRENT_INIT ,
@@ -46,6 +46,8 @@ static I2C_ARDUINO_ATTR_ARRAY_T  I2C_ARDUINO_ATTR_ARRAY_A =  //[ARDUINO_ATTR_ARR
  
 static  I2C_ARRAY_DRIVER_T  I2C_ARRAY_DRIVER_A[5]={} ; //
 
+
+
          /*
 void I2C_INDEX_DRIVER__add(I2C_INDEX_DRIVER_T*  I2C_INDEX_DRIVER_A, I2C_ARDUINO_ATTR_ARRAY_T  &I2C_ARDUINO_ATTR_ARRAY_A) {
         I2C_INDEX_DRIVER_A[1].I2C_ADDRESS_A = I2C_ADDRESS_0x40 ;

+ 0 - 0
SE/stuff/P5_Automation_can-dev-res/__main_auto.h → SE/stuff/P5_Automation_can-dev-res/___main/__main_auto.h


+ 0 - 0
SE/stuff/P5_Automation_can-dev-res/__main_extern.h → SE/stuff/P5_Automation_can-dev-res/___main/__main_extern.h


+ 0 - 0
SE/stuff/P5_Automation_can-dev-res/__main_init.h → SE/stuff/P5_Automation_can-dev-res/___main/__main_init.h


+ 0 - 0
SE/stuff/P5_Automation_can-dev-res/__main_register.h → SE/stuff/P5_Automation_can-dev-res/___main/__main_register.h


+ 0 - 0
SE/stuff/P5_Automation_can-dev-res/__main_setup.h → SE/stuff/P5_Automation_can-dev-res/___main/__main_setup.h


+ 0 - 0
SE/stuff/P5_Automation_can-dev-res/__main_static.h → SE/stuff/P5_Automation_can-dev-res/___main/__main_static.h


+ 3 - 1
SE/stuff/P5_Automation_can-dev-res/__main_struct.h → SE/stuff/P5_Automation_can-dev-res/___main/__main_struct.h

@@ -65,6 +65,7 @@ typedef long ARDUINO_ARRAY_time_min_run_MIN_T ;
 
 typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ; 
 
+
 struct ARDUINO_ATTR_ARRAY_S {
     ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT_A ;
     ARDUINO_ARRAY_INDEX_LAST_T ARDUINO_ARRAY_INDEX_LAST_A ;
@@ -75,7 +76,7 @@ struct ARDUINO_ATTR_ARRAY_S {
     ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_A ;
 };
 
-
+typedef ARDUINO_ATTR_ARRAY_S ARDUINO_ATTR_ARRAY_T;
 
 struct ARDUINO_ARRAY_INDEX_T_TO_DELETE_S {
     ARDUINO_ARRAY_INDEX_TO_DELETE ARDUINO_ARRAY_INDEX_TO_DELETE_A ;
@@ -85,6 +86,7 @@ struct ARDUINO_ARRAY_INDEX_TABLE_S { //to controll elements - like deletion etc
    ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A ;
 };
 
+typedef ARDUINO_ARRAY_INDEX_TABLE_S ARDUINO_ARRAY_INDEX_TABLE_T;
 
 struct ARDUINO_ARRAY_ASSOC_TABLE_S {  //to associate and cache
    ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A ; //indexed name of sth

+ 20 - 0
SE/stuff/P5_Automation_can-dev-res/__main_struct_funct.h → SE/stuff/P5_Automation_can-dev-res/___main/__main_struct_funct.h

@@ -55,6 +55,26 @@ void ARDUINO_ATTR_ARRAY_S__commit_added_element(
 
 
 
+ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_TABLE_S__add( //ADD SOME INT ELEMENT OF ARDUINO_ARRAY_INDEX_A
+    ARDUINO_ARRAY_INDEX_TABLE_T* ARDUINO_ARRAY_INDEX_TABLE_A,
+    ARDUINO_ATTR_ARRAY_T &ARDUINO_ATTR_ARRAY_A,
+    ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A 
+    ) {
+       ARDUINO_ARRAY_INDEX_CURRENT_T  ARDUINO_ARRAY_INDEX_CURRENT_A = ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A;
+               if(ARDUINO_ARRAY_INDEX_CURRENT_A == ARDUINO_ARRAY_INDEX_CORRUPT) {
+                    ARDUINO_ARRAY_INDEX_TABLE_A[ARDUINO_ARRAY_INDEX_CURRENT_A].ARDUINO_ARRAY_INDEX_A = ARDUINO_ARRAY_INDEX_CORRUPT;
+                    ARDUINO_ATTR_ARRAY_S__commit_added_element( ARDUINO_ATTR_ARRAY_A , ARDUINO_ARRAY_INDEX_CURRENT_A); //__STORAGE_ARRAY_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A
+                }
+                
+    ARDUINO_ARRAY_INDEX_CURRENT_A = ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A ;
+        ARDUINO_ARRAY_INDEX_TABLE_A[ARDUINO_ARRAY_INDEX_CURRENT_A].ARDUINO_ARRAY_INDEX_A = ARDUINO_ARRAY_INDEX_A;
+            ARDUINO_ATTR_ARRAY_S__commit_added_element(ARDUINO_ATTR_ARRAY_A , ARDUINO_ARRAY_INDEX_CURRENT_A);
+                
+}
+
+
+
+
 /*
 void ARDUINO_ARRAY_COUNT(
 ARDUINO_ARRAY_INDEX_TABLE_S* ARDUINO_ARRAY_INDEX_TABLE_A,

+ 0 - 0
SE/stuff/P5_Automation_can-dev-res/__main_struct_limits.h → SE/stuff/P5_Automation_can-dev-res/___main/__main_struct_limits.h


+ 28 - 0
SE/stuff/P5_Automation_can-dev-res/___template/__STORAGE_ARRAY_func.h

@@ -0,0 +1,28 @@
+
+/*
+typedef ARDUINO_ATTR_ARRAY_S __STORAGE_ARRAY_ATTR_ARRAY_T ;
+
+typedef ARDUINO_ARRAY_INDEX_TABLE_S  __STORAGE_ARRAY_T ; //testing
+
+ void __STORAGE_ARRAY_ADD(
+ __STORAGE_ARRAY_T* __STORAGE_ARRAY_A , 
+ __STORAGE_ARRAY_ATTR_ARRAY_T &__STORAGE_ARRAY_ATTR_ARRAY_A)
+    {
+        int i = __STORAGE_ARRAY_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
+          if(i == ARDUINO_ARRAY_INDEX_CORRUPT) {
+              __STORAGE_ARRAY_A[i].ARDUINO_ARRAY_INDEX_A = i;
+                
+                ARDUINO_ATTR_ARRAY_S__commit_added_element(
+                          __STORAGE_ARRAY_ATTR_ARRAY_A , i); //__STORAGE_ARRAY_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A
+                   
+    }
+      i = __STORAGE_ARRAY_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A ;
+        __STORAGE_ARRAY_A[i].ARDUINO_ARRAY_INDEX_A = i;
+
+            ARDUINO_ATTR_ARRAY_S__commit_added_element(
+                          __STORAGE_ARRAY_ATTR_ARRAY_A , 
+                          i);
+   
+  
+}
+*/