From bd882bfadf1055ca04f60bd55405d4df189722bc Mon Sep 17 00:00:00 2001
From: wierenga <sdos@astron.nl>
Date: Mon, 24 Apr 2006 13:57:10 +0000
Subject: [PATCH] BugID: 708

Some registers are no longer read in multiple chunks. Update for it.
---
 .../PIC/RSP_Protocol/src/EPA_Protocol.prot    | 35 ++++++++++++-------
 1 file changed, 23 insertions(+), 12 deletions(-)

diff --git a/MAC/APL/PIC/RSP_Protocol/src/EPA_Protocol.prot b/MAC/APL/PIC/RSP_Protocol/src/EPA_Protocol.prot
index bddfe169c8b..330aa9f99fb 100644
--- a/MAC/APL/PIC/RSP_Protocol/src/EPA_Protocol.prot
+++ b/MAC/APL/PIC/RSP_Protocol/src/EPA_Protocol.prot
@@ -32,15 +32,10 @@ prelude = << PRELUDE_END
    * constants in MEPHeader.h.
    */
   static const int N_AP            = 4; // number of AP's per board
-  static const int N_COEF          = MIN(MEPHeader::FRAGMENT_SIZE, MEPHeader::BF_XROUT_SIZE) / sizeof(int16);
-  static const int BF_N_FRAGMENTS  = 1; // MEPHeader::BF_XROUT_SIZE / MEPHeader::FRAGMENT_SIZE
+  static const int BF_N_FRAGMENTS  = 2; // MEPHeader::BF_XROUT_SIZE / MEPHeader::FRAGMENT_SIZE
   static const int N_WAVE_SAMPLES  = MEPHeader::DIAG_WGXWAVE_SIZE / sizeof(int32);
-  static const int BST_N_FRAGMENTS = 1; // MEPHeader::BST_POWER_SIZE / MEPHeader::FRAGMENT_SIZE;
   static const int SST_N_FRAGMENTS = MEPHeader::SST_POWER_SIZE / MEPHeader::FRAGMENT_SIZE;
   static const int N_SST_STATS     = MEPHeader::FRAGMENT_SIZE / sizeof(uint32);
-  static const int N_BST_STATS     = MIN(MEPHeader::FRAGMENT_SIZE, MEPHeader::BST_POWER_SIZE) / sizeof(uint32);
-  static const int XST_N_FRAGMENTS = (MEPHeader::N_REMOTE_XLETS > MEPHeader::MAX_XLETS_PER_FRAGMENT ? 2 : 1);
-  static const int N_XST_STATS     = MEPHeader::XST_FRAGMENT_SIZE / sizeof(uint32);
 
   /*@}*/
 
@@ -567,8 +562,24 @@ event = {
 
 event = {
   noheader;
-  signal = BF_COEFS; // hdr should specify XROUT, XIOUT, XROUT or YIOUT
-  dir = INOUT; // read-write register
+  signal = BF_COEFS_WRITE; // hdr should specify XROUT, XIOUT, XROUT or YIOUT
+  dir = OUT; // read-write register
+  param = {
+    name = "hdr";
+    type = "MEPHeader";
+    userdefined;
+  };
+  param = {
+    name = "coef";
+    type = "MEPData";
+    userdefined;
+  };
+};
+
+event = {
+  noheader;
+  signal = BF_COEFS_READ; // hdr should specify XROUT, XIOUT, XROUT or YIOUT
+  dir = IN; // read-write register
   param = {
     name = "hdr";
     type = "MEPHeader";
@@ -576,7 +587,7 @@ event = {
   };
   param = {
     name = "coef";
-    type = "int16[N_COEF]";
+    type = "uint8[MEPHeader::FRAGMENT_SIZE]";
   };
 };
 
@@ -591,7 +602,7 @@ event = {
   };
   param = {
     name = "stat";
-    type = "uint32[N_BST_STATS]";
+    type = "uint32[MEPHeader::BST_POWER_SIZE / sizeof(uint32)]";
   };
 };
 
@@ -644,7 +655,7 @@ event = {
 event = {
   noheader;
   signal = RCU_RESULT; // hdr should specify XPOL or YPOL
-  dir = IN; // read-only register
+  dir = INOUT; // read-only register
   param = {
     name = "hdr";
     type = "MEPHeader";
@@ -682,7 +693,7 @@ event = {
   };
   param = {
     name = "xst_stat";
-    type = "uint32[N_XST_STATS]";
+    type = "uint32[MEPHeader::XST_STATS_SIZE / sizeof(uint32)]";
   };
 };
 
-- 
GitLab