From e61db2e7d8a3a477c66f2856a20f171fdf0783b9 Mon Sep 17 00:00:00 2001
From: Eric Kooistra <kooistra@astron.nl>
Date: Mon, 9 Aug 2021 11:07:18 +0200
Subject: [PATCH] For dp_bsn_sync_scheduler: Added block_size RO field.
 Improved field_description. Use MM_BUS_SIZE to define address_offset.

---
 libraries/base/dp/dp.peripheral.yaml | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/libraries/base/dp/dp.peripheral.yaml b/libraries/base/dp/dp.peripheral.yaml
index a98b02e078..0459fbc491 100644
--- a/libraries/base/dp/dp.peripheral.yaml
+++ b/libraries/base/dp/dp.peripheral.yaml
@@ -217,36 +217,46 @@ peripherals:
         fields:
           - - field_name: ctrl_enable
               field_description: "Enable the output when 1, disable the output when 0. To first disable output to re-enable output."
-              address_offset: 0x0
+              address_offset: 0 * MM_BUS_SIZE  # = 0x0
               mm_width: 1
               access_mode: RW
           - - field_name: ctrl_interval_size
               field_description: "Number of samples in output sync interval"
-              address_offset: 0x4
+              address_offset: 1 * MM_BUS_SIZE  # = 0x4
               access_mode: RW
           - - field_name: ctrl_start_bsn
-              field_description: "Schedule start BSN for the output."
-              address_offset: 0x8
+              field_description:
+                "Schedule start BSN for the output. The start BSN needs to be in the future,
+                if the start BSN is in the past or if the input stream is not active, then
+                ctrl_enable = '1' will have no effect."
+              address_offset: 2 * MM_BUS_SIZE  # = 0x8
               user_width: 64
               radix: uint64
               access_mode: RW
           - - field_name: mon_current_input_bsn
               field_description: "Current input BSN. This can be read to determine a start BSN in the future."
-              address_offset: 0x10
+              address_offset: 4 * MM_BUS_SIZE  # = 0x10
               user_width: 64
               radix: uint64
               access_mode: RO
           - - field_name: mon_output_enable
-              field_description: "1 when output is enabled, 0 when output is disabled."
-              address_offset: 0x18
+              field_description:
+                "Is 1 when output is enabled, 0 when output is disabled. The output stream gets
+                 enabled when ctrl_enable is set '1' and when the BSN of the input stream has
+                 reached the ctrl_start_bsn."
+              address_offset: 6 * MM_BUS_SIZE  # = 0x18
               mm_width: 1
               access_mode: RO
           - - field_name: mon_output_sync_bsn
               field_description: "Output BSN at sync. This yields the number of blocks per output sync interval."
-              address_offset: 0x1C
+              address_offset: 7 * MM_BUS_SIZE  # = 0x1C
               user_width: 64
               radix: uint64
               access_mode: RO
+          - - field_name: block_size
+              field_description: "Number of samples per BSN block, same for input stream and output stream."
+              address_offset: 9 * MM_BUS_SIZE  # = 0x24
+              access_mode: RO
 
 
   - peripheral_name: dp_bsn_monitor    # pi_dp_bsn_monitor.py
-- 
GitLab