aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2013-02-05 23:36:05 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2013-02-13 10:34:40 +0100
commit225cf8229020e5474a5dc9824d012e50c2aa2ad8 (patch)
tree959bfeb233c08f81706a1630ca3cf3ead15a5914
parent18708dd3b60fa27e6a7121b686f11ee8c8069a4b (diff)
calib: Provide the fn and block number for each frame
-rw-r--r--contrib/sysmobts-calib/sysmobts-calib.c4
-rw-r--r--contrib/sysmobts-calib/sysmobts-layer1.c4
-rw-r--r--contrib/sysmobts-calib/sysmobts-layer1.h2
3 files changed, 7 insertions, 3 deletions
diff --git a/contrib/sysmobts-calib/sysmobts-calib.c b/contrib/sysmobts-calib/sysmobts-calib.c
index 14bc36fd..3204db72 100644
--- a/contrib/sysmobts-calib/sysmobts-calib.c
+++ b/contrib/sysmobts-calib/sysmobts-calib.c
@@ -434,10 +434,12 @@ static int bcch_follow(void)
/* now wait for the PhDataInd */
for (;;) {
+ uint32_t fn;
+ uint8_t block;
uint8_t data[23];
size_t size;
- rc = wait_for_data(data, &size);
+ rc = wait_for_data(data, &size, &fn, &block);
if (rc == 1)
continue;
CHECK_RC_MSG(rc, "No Data Indication");
diff --git a/contrib/sysmobts-calib/sysmobts-layer1.c b/contrib/sysmobts-calib/sysmobts-layer1.c
index 18b946fc..85aa940a 100644
--- a/contrib/sysmobts-calib/sysmobts-layer1.c
+++ b/contrib/sysmobts-calib/sysmobts-layer1.c
@@ -701,7 +701,7 @@ int wait_for_sync(HANDLE layer1, int cor, int calib, int source)
return 0;
}
-int wait_for_data(uint8_t *data, size_t *size)
+int wait_for_data(uint8_t *data, size_t *size, uint32_t *fn, uint8_t *block)
{
GsmL1_Prim_t prim;
int rc;
@@ -713,6 +713,8 @@ int wait_for_data(uint8_t *data, size_t *size)
return 1;
*size = prim.u.phDataInd.msgUnitParam.u8Size;
+ *fn = prim.u.phDataInd.u32Fn;
+ *block = prim.u.phDataInd.u8BlockNbr;
memcpy(data, prim.u.phDataInd.msgUnitParam.u8Buffer, *size);
return 0;
}
diff --git a/contrib/sysmobts-calib/sysmobts-layer1.h b/contrib/sysmobts-calib/sysmobts-layer1.h
index aeef354d..4e34e47a 100644
--- a/contrib/sysmobts-calib/sysmobts-layer1.h
+++ b/contrib/sysmobts-calib/sysmobts-layer1.h
@@ -39,6 +39,6 @@ extern int rf_clock_info(int *clkErr, int *clkErrRes);
extern int mph_close(HANDLE layer1);
extern int wait_for_sync(HANDLE layer1, int cor, int calib, int source);
extern int follow_bcch(HANDLE layer1);
-extern int wait_for_data(uint8_t *data, size_t *size);
+extern int wait_for_data(uint8_t *data, size_t *size, uint32_t *fn, uint8_t *block);
#endif