* exit program if we cannot set up the serial port
* leave the program if ctrl+c is pressed three times even without logoff from BTS
This commit is contained in:
parent
44227dd62f
commit
7ed1a64d9d
|
@ -266,19 +266,12 @@ static int handle_state_resp(enum abis_bs11_phase state)
|
||||||
{
|
{
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
printf("PHASE: %u STATE: ", state & 0xf);
|
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case BS11_STATE_WARM_UP:
|
case BS11_STATE_WARM_UP:
|
||||||
sleep(5);
|
|
||||||
break;
|
|
||||||
case BS11_STATE_LOAD_SMU_SAFETY:
|
case BS11_STATE_LOAD_SMU_SAFETY:
|
||||||
sleep(5);
|
|
||||||
break;
|
|
||||||
case BS11_STATE_LOAD_SMU_INTENDED:
|
case BS11_STATE_LOAD_SMU_INTENDED:
|
||||||
sleep(5);
|
|
||||||
break;
|
|
||||||
case BS11_STATE_LOAD_MBCCU:
|
case BS11_STATE_LOAD_MBCCU:
|
||||||
|
sleep(5);
|
||||||
break;
|
break;
|
||||||
case BS11_STATE_SOFTWARE_RQD:
|
case BS11_STATE_SOFTWARE_RQD:
|
||||||
bs11cfg_state = STATE_SWLOAD;
|
bs11cfg_state = STATE_SWLOAD;
|
||||||
|
@ -314,7 +307,7 @@ static int handle_state_resp(enum abis_bs11_phase state)
|
||||||
case BS11_STATE_NORMAL:
|
case BS11_STATE_NORMAL:
|
||||||
if (have_trx1)
|
if (have_trx1)
|
||||||
create_trx1_objects(g_bts);
|
create_trx1_objects(g_bts);
|
||||||
return 1;
|
//return 1;
|
||||||
default:
|
default:
|
||||||
sleep(5);
|
sleep(5);
|
||||||
break;
|
break;
|
||||||
|
@ -464,13 +457,18 @@ static void handle_options(int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int num_sigint;
|
||||||
|
|
||||||
static void signal_handler(int signal)
|
static void signal_handler(int signal)
|
||||||
{
|
{
|
||||||
fprintf(stdout, "signal %u received\n", signal);
|
fprintf(stdout, "signal %u received\n", signal);
|
||||||
|
|
||||||
switch (signal) {
|
switch (signal) {
|
||||||
case SIGINT:
|
case SIGINT:
|
||||||
|
num_sigint++;
|
||||||
abis_nm_bs11_factory_logon(g_bts, 0);
|
abis_nm_bs11_factory_logon(g_bts, 0);
|
||||||
|
if (num_sigint >= 3)
|
||||||
|
exit(0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -489,7 +487,11 @@ int main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
g_bts = &gsmnet->bts[0];
|
g_bts = &gsmnet->bts[0];
|
||||||
|
|
||||||
rs232_setup(serial_port, delay_ms);
|
rc = rs232_setup(serial_port, delay_ms);
|
||||||
|
if (rc < 0) {
|
||||||
|
fprintf(stderr, "Problem setting up serial port\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
signal(SIGINT, &signal_handler);
|
signal(SIGINT, &signal_handler);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue