a.binder 5 лет назад
Родитель
Сommit
b83fbd61c6

+ 62 - 0
SE/stuff/P5_Automation_can-dev/Slave_Ports_QUEUE.cpp

@@ -0,0 +1,62 @@
+#include "Slave_Ports_QUEUE.h"  
+
+
+
+
+
+Slave_Ports_QUEUE::Slave_Ports_QUEUE(){
+    Serial.print("#8 Slave_Ports_Status_QUEUE");
+    _queue_id_current = 0 ;
+    _queue_count =  0 ;
+   
+    Slave_Ports_Status_QUEUE_T Slave_Ports_Status_QUEUE_A[10] ;
+   
+}
+
+
+
+
+int Slave_Ports_QUEUE::queue__add_A( Slave_Ports_Status_QUEUE_T QUEUE_A ) {
+ 
+    if(_queue_count == 0) {
+    
+     }
+     Slave_Ports_Status_QUEUE_A[_queue_count + 1]._queue_id = _queue_id_current + 1 ;
+     Slave_Ports_Status_QUEUE_A[_queue_count + 1].TASK_TYPE_A = QUEUE_A.TASK_TYPE_A ;
+     if(QUEUE_A.time_seq_id > 0) { 
+        Slave_Ports_Status_QUEUE_A[_queue_count + 1].time_seq_id = QUEUE_A.time_seq_id ;
+     } else {
+        Slave_Ports_Status_QUEUE_A[_queue_count + 1].time_seq_id =  millis();
+     }
+      Slave_Ports_Status_QUEUE_A[_queue_count + 1].time_min_run = QUEUE_A.time_min_run ;
+         Serial.print("#261:queue__add A");
+
+}
+
+
+
+int Slave_Ports_QUEUE::queue__add(  int TASK_TYPE_A, long time_seq_id, long time_min_run ) {
+ 
+    
+     Slave_Ports_Status_QUEUE_A[_queue_count + 1]._queue_id = _queue_id_current + 1 ;
+     Slave_Ports_Status_QUEUE_A[_queue_count + 1].TASK_TYPE_A = TASK_TYPE_A ;
+     if(time_seq_id > 0) { 
+        Slave_Ports_Status_QUEUE_A[_queue_count + 1].time_seq_id = time_seq_id ;
+     } else {
+        Slave_Ports_Status_QUEUE_A[_queue_count + 1].time_seq_id =  millis();
+     }
+      Slave_Ports_Status_QUEUE_A[_queue_count + 1].time_min_run = time_min_run ;
+         Serial.print("#285:queue__add");
+      _queue_count++;
+      _queue_id_current++;
+      return _queue_id_current;
+      
+}
+
+
+
+Slave_Ports_QUEUE::~Slave_Ports_QUEUE(){
+     delete[] Slave_Ports_Status_QUEUE_A;
+    //Serial.print("#40 free ~Slave_Ports_Status");
+}
+

+ 41 - 0
SE/stuff/P5_Automation_can-dev/Slave_Ports_QUEUE.h

@@ -0,0 +1,41 @@
+
+#ifndef SLAVE_PORTS_QUEUE_H
+#define SLAVE_PORTS_QUEUE_H
+
+#include <Arduino.h>
+
+#include "Slave_Ports_Status_QUEUE.h"
+
+
+
+
+
+
+
+
+
+
+
+
+class Slave_Ports_QUEUE 
+{
+
+    
+public:
+       
+         int _queue_id_current  ;
+         int _queue_count ;
+            
+         Slave_Ports_Status_QUEUE_T *Slave_Ports_Status_QUEUE_A ;
+       
+          Slave_Ports_QUEUE(); 
+          ~Slave_Ports_QUEUE();    
+          int queue__add_A(Slave_Ports_Status_QUEUE_T QUEUE_A);
+          int queue__add(int TASK_TYPE_A, long time_seq_id, long time_min_run);
+
+
+
+};
+
+
+#endif

+ 0 - 0
SE/stuff/P5_Automation_can-dev/_PCINT_func.h


+ 0 - 41
SE/stuff/P5_Automation_can-dev/_Slave_Ports_func.h

@@ -1,41 +0,0 @@
-
-void _Slave_Ports_ttl_decrement ();
-
-void _Slave_Ports_action_queue ();  //request_confirm_Exp_state  //request_set__new_Exp_state
-
-//void LCD_print_background_screen_add(_LCD_print_screensT* _LCD_print_screens, int screenID,long time_seq_id, long time_min_run, String LCDarray1, String LCDarray2 ) {
-  //time_seq_id - used to maintain single display context
-  //time_max - used to how much time to keep in displayed text
-  
-    
-void _Slave_Ports_message_CAN_to_queue(); //
-void  _Slave_Ports_message_queue_to_CAN() ;//
-void  _Slave_Ports_message_queue_to_PWM() ;//
-
-/*
-  int queueID;
-  int _Slave_Ports_queue_task ; /*
-              { 0x01 _Slave_Ports_ttl_decrement, 
-                 0x02  request_confirm_Exp_state ,
-                 0x03  request_set__new_Exp_state }
-
- */
-
-
-
-/*
- 
-void _LCD_print_screens_list(_LCD_print_screensT* _LCD_print_screens ) {
- int i;
-
-
-   Serial.print("sizeof(_LCD_print_screens): ");
-    Serial.println(sizeof(_LCD_print_screens));
- for(i=0;i<=10;i++) { //sizeof(_LCD_print_buffors)
-          Serial.print(" $i[");
-          Serial.print(i);
-
-          Serial.print("] screenID: ");
-          Serial.print(_LCD_print_screens[i].screenID);
-
- */

+ 6 - 0
SE/stuff/P5_Automation_can-dev/can.h

@@ -0,0 +1,6 @@
+
+long unsigned int CANrxId;
+unsigned char CANlen = 0;
+unsigned char CANrxBuf[8];
+const int CAN_CSpin = 53 , CAN_INTpin = 10 ;
+MCP_CAN CAN0(CAN_CSpin);                          // Set CS to pin 10