aboutsummaryrefslogtreecommitdiffstats
path: root/src/bs11_config.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-01-29 21:14:05 +0000
committerHarald Welte <laforge@gnumonks.org>2009-01-29 21:14:05 +0000
commit623d53185b7cc40edbb24648f112cb9d8e8bb5eb (patch)
tree5c3c00165a2964f1c255ea990881373b3fc63980 /src/bs11_config.c
parent1602ade492b2dafb4cb187f4de18a7d66dda84cc (diff)
bs11_config:
* disable serial port POST processing * default delay is 0 * make window size user-configurable (default: 8) * add missing help line for the --delay option * don't forget to create the CCLK object as part of minimal config
Diffstat (limited to 'src/bs11_config.c')
-rw-r--r--src/bs11_config.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/bs11_config.c b/src/bs11_config.c
index 7b3088986..cdcd939c1 100644
--- a/src/bs11_config.c
+++ b/src/bs11_config.c
@@ -84,11 +84,12 @@ static int handle_serial_msg(struct msgb *rx_msg);
/* create all objects for an initial configuration */
static int create_objects(struct gsm_bts *bts, int trx1)
{
- //abis_nm_bs11_factory_logon(bts, 1);
+ abis_nm_bs11_factory_logon(bts, 1);
abis_nm_bs11_create_object(bts, BS11_OBJ_LI, 0, sizeof(obj_li_attr),
obj_li_attr);
abis_nm_bs11_create_object(bts, BS11_OBJ_GPSU, 0, 0, NULL);
abis_nm_bs11_create_object(bts, BS11_OBJ_ALCO, 0, 0, NULL);
+ abis_nm_bs11_create_object(bts, BS11_OBJ_CCLK, 0, 0, NULL);
abis_nm_bs11_create_object(bts, BS11_OBJ_BBSIG, 0,
sizeof(obj_bbsig0_attr), obj_bbsig0_attr);
abis_nm_bs11_create_object(bts, BS11_OBJ_PA, 0,
@@ -122,7 +123,7 @@ static int create_objects(struct gsm_bts *bts, int trx1)
if (trx1)
abis_nm_bs11_set_trx_power(&bts->trx[1], BS11_TRX_POWER_30mW);
- //abis_nm_bs11_factory_logon(bts, 0);
+ abis_nm_bs11_factory_logon(bts, 0);
return 0;
}
@@ -130,9 +131,10 @@ static int create_objects(struct gsm_bts *bts, int trx1)
static char *serial_port = "/dev/ttyUSB0";
static char *fname_safety = "BTSBMC76.SWI";
static char *fname_software = "HS011106.SWL";
-static int delay_ms = 100;
+static int delay_ms = 0;
static int serial_fd = -1;
static int have_trx1 = 0;
+static int win_size = 8;
static struct gsm_bts *g_bts;
/* adaption layer from GSM 08.59 + 12.21 to RS232 */
@@ -315,7 +317,8 @@ static int handle_state_resp(u_int8_t state)
bs11cfg_state = STATE_SWLOAD;
/* send safety load */
if (file_is_readable(fname_safety))
- rc = abis_nm_software_load(g_bts, fname_safety, 8);
+ rc = abis_nm_software_load(g_bts, fname_safety,
+ win_size);
else
fprintf(stderr, "No valid Safety Load file \"%s\"\n",
fname_safety);
@@ -331,7 +334,8 @@ static int handle_state_resp(u_int8_t state)
bs11cfg_state = STATE_SWLOAD;
/* send software (FIXME: over A-bis?) */
if (file_is_readable(fname_software))
- rc = abis_nm_software_load(g_bts, fname_software, 8);
+ rc = abis_nm_software_load(g_bts, fname_software,
+ win_size);
else
fprintf(stderr, "No valid Software file \"%s\"\n",
fname_software);
@@ -416,6 +420,8 @@ static void print_help(void)
printf("\t--with-trx1\t\t-t\tAssume the BS-11 has 2 TRX\n");
printf("\t--software file\t\t-s\tSpecify Software file\n");
printf("\t--safety file\t\t-S\tSpecify Safety Load file\n");
+ printf("\t--delay file\t\t-d\tSpecify delay\n");
+ printf("\t--win-size num\t\t-w\tSpecify Window Size\n");
}
static void handle_options(int argc, char **argv)
@@ -431,9 +437,10 @@ static void handle_options(int argc, char **argv)
{ "software", 1, 0, 's' },
{ "safety", 1, 0, 'S' },
{ "delay", 1, 0, 'd' },
+ { "win-size", 1, 0, 'w' },
};
- c = getopt_long(argc, argv, "hp:s:S:t",
+ c = getopt_long(argc, argv, "hp:s:S:td:w:",
long_options, &option_index);
if (c == -1)
@@ -458,6 +465,9 @@ static void handle_options(int argc, char **argv)
case 'd':
delay_ms = atoi(optarg);
break;
+ case 'w':
+ win_size = atoi(optarg);
+ break;
default:
break;
}
@@ -502,6 +512,7 @@ int main(int argc, char **argv)
tio.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
tio.c_iflag |= (INPCK | ISTRIP);
tio.c_iflag &= ~(ISTRIP | IXON | IXOFF | IGNBRK | INLCR | ICRNL | IGNCR);
+ tio.c_oflag &= ~(OPOST);
rc = tcsetattr(serial_fd, TCSADRAIN, &tio);
if (rc < 0) {
perror("tcsetattr()");