l1ctl_tx_ccch_req() now uses arfcn as parameter.

The arfcn variable is renamed to test_arfcn.

I think that arfcn and other frequency parameters should be stored at
the process which sets it and using it when calling l1ctl_tx_ccch_req().
This commit is contained in:
Andreas Eversberg 2010-04-25 17:31:35 +02:00
parent 96e479645f
commit e91d8a934c
6 changed files with 12 additions and 13 deletions

View File

@ -19,7 +19,7 @@ int tx_ph_rach_req(struct osmocom_ms *ms);
/* Transmit L1CTL_DM_EST_REQ */
int tx_ph_dm_est_req(struct osmocom_ms *ms, uint16_t band_arfcn, uint8_t chan_nr);
/* Transmit NEW_CCCH_REQ */
int l1ctl_tx_ccch_req(struct osmocom_ms *ms);
int l1ctl_tx_ccch_req(struct osmocom_ms *ms, uint16_t arfcn);
int l1ctl_tx_echo_req(struct osmocom_ms *ms, unsigned int len);

View File

@ -20,7 +20,7 @@ struct osmol2_entity {
struct osmocom_ms {
struct write_queue wq;
enum gsm_band band;
int arfcn;
uint16_t test_arfcn;
struct osmol2_entity l2_entity;
};

View File

@ -44,7 +44,7 @@ static int signal_cb(unsigned int subsys, unsigned int signal,
switch (signal) {
case S_L1CTL_RESET:
ms = signal_data;
return l1ctl_tx_ccch_req(ms);
return l1ctl_tx_ccch_req(ms, ms->test_arfcn);
break;
}
return 0;

View File

@ -154,15 +154,14 @@ static int _cinfo_start_arfcn(unsigned int band_arfcn)
/* ask L1 to try to tune to new ARFCN */
/* FIXME: decode band */
fps.ms->arfcn = band_arfcn;
rc = l1ctl_tx_ccch_req(fps.ms);
rc = l1ctl_tx_ccch_req(fps.ms, band_arfcn);
if (rc < 0)
return rc;
/* allocate new cell info structure */
fps.cur_cell = cell_info_alloc();
fps.cur_arfcn = fps.ms->arfcn;
fps.cur_cell->band_arfcn = fps.ms->arfcn;
fps.cur_arfcn = band_arfcn;
fps.cur_cell->band_arfcn = band_arfcn;
/* FIXME: start timer in case we never get a sync */
fps.state = BSCAN_S_WAIT_DATA;
bsc_schedule_timer(&fps.timer, 2, 0);

View File

@ -64,10 +64,10 @@ static struct msgb *osmo_l1_alloc(uint8_t msg_type)
}
static int osmo_make_band_arfcn(struct osmocom_ms *ms)
static int osmo_make_band_arfcn(struct osmocom_ms *ms, uint16_t arfcn)
{
/* TODO: Include the band */
return ms->arfcn;
return arfcn;
}
static int rx_l1_ccch_resp(struct osmocom_ms *ms, struct msgb *msg)
@ -214,7 +214,7 @@ int tx_ph_data_req(struct osmocom_ms *ms, struct msgb *msg,
}
/* Transmit NEW_CCCH_REQ */
int l1ctl_tx_ccch_req(struct osmocom_ms *ms)
int l1ctl_tx_ccch_req(struct osmocom_ms *ms, uint16_t arfcn)
{
struct msgb *msg;
struct l1ctl_sync_new_ccch_req *req;
@ -224,7 +224,7 @@ int l1ctl_tx_ccch_req(struct osmocom_ms *ms)
return -1;
req = (struct l1ctl_sync_new_ccch_req *) msgb_put(msg, sizeof(*req));
req->band_arfcn = osmo_make_band_arfcn(ms);
req->band_arfcn = osmo_make_band_arfcn(ms, arfcn);
return osmo_send_l1(ms, msg);
}

View File

@ -173,7 +173,7 @@ static void handle_options(int argc, char **argv)
socket_path = talloc_strdup(l2_ctx, optarg);
break;
case 'a':
ms->arfcn = atoi(optarg);
ms->test_arfcn = atoi(optarg);
break;
case 'i':
if (!inet_aton(optarg, &gsmtap.sin_addr)) {
@ -209,7 +209,7 @@ int main(int argc, char **argv)
exit(1);
}
ms->arfcn = 871;
ms->test_arfcn = 871;
handle_options(argc, argv);