From dc6e7be01219a181fa4388f713dd4d2130ac5767 Mon Sep 17 00:00:00 2001 From: Theodor Chikin Date: Tue, 16 Sep 2025 16:51:54 +0300 Subject: [PATCH] added time measurement of HDMA receive --- BF_companion | Bin 57792 -> 62280 bytes main.c | 126 ++++++++++++++++++++++++++++++--------------------- 2 files changed, 74 insertions(+), 52 deletions(-) diff --git a/BF_companion b/BF_companion index 71cd3d55c292a275c1e91946ea4f2737bd363ec7..0b989d0c8571a3de7e6b1a6d1ca44dc8684dbbcf 100755 GIT binary patch delta 21221 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

6D3j{Gy;c?|h3I#;8*nclgW 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