aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/sysmobts-calib/sysmobts-layer1.h
blob: ec961eba5e7a990662918bf0d599317ea9b4051c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef SYSMOBTS_LAYER_H
#define SYSMOBTS_LAYER_H

#include <sysmocom/femtobts/superfemto.h>

/* older header files don't have this */
#ifndef SUPERFEMTO_API
#define SUPERFEMTO_API(x,y,z)  ((x << 16) + (y << 8) + z)
#endif

#ifndef SUPERFEMTO_API_VERSION
#define SUPERFEMTO_API_VERSION SUPERFEMTO_API(2,2,0)
#endif


extern int initialize_layer1(uint32_t dsp_flags);
extern int print_system_info();
extern int activate_rf_frontend(int clock_source, int clock_cor);
extern int power_scan(int band, int arfcn, int duration, float *mean_rssi);
extern int follow_sch(int band, int arfcn, int calib, int reference, HANDLE *layer1);
extern int follow_bch(HANDLE layer1);
extern int find_bsic(void);
extern int set_tsc_from_bsic(HANDLE layer1, int bsic);
extern int set_clock_cor(int clock_corr, int calib, int source);
extern int rf_clock_info(HANDLE *layer1, 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);

#endif