diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2012-03-30 22:00:24 +0200 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2016-01-31 23:02:42 +0100 |
| commit | 3aaf3349a4328f4cca2b70c3edd41454eb5dafe6 (patch) | |
| tree | db274b0a7d10621bf658224d2c25b15c8075a56f /umtsmodem.py | |
| parent | bceeea8a47acc2747093bdb0cd6a5ec0b900d836 (diff) | |
umtsmodem: enable continuous logging of cells
Diffstat (limited to 'umtsmodem.py')
| -rwxr-xr-x | umtsmodem.py | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/umtsmodem.py b/umtsmodem.py index b700584..a5f20cc 100755 --- a/umtsmodem.py +++ b/umtsmodem.py @@ -100,7 +100,6 @@ def cell_info(modem): retry = False response = send_command(modem, 'AT*EGNCI\r', None) if 'ERROR\r\n' in response: - print "error" retry = True time.sleep(1) continue @@ -118,13 +117,9 @@ def cell_info(modem): cells.add((mcc, mnc, lac, cid)) except: retry = True - print "retrying" time.sleep(2) break - - for (mcc, mnc, lac, cid) in cells: - print "MCC: " + str(mcc) + ", MNC: " + str(mnc) + ", LAC: " + str(lac) + ", CellID: " + str(cid) - + return cells # # get UMTS cell information # send_command(modem, 'AT+CFUN=6\r', None) @@ -133,13 +128,28 @@ def cell_info(modem): # for line in response: # if line.startswith('*EWNCI: '): # print line.rstrip() - # # switch back to default mode # send_command(modem, 'AT+CFUN=1\r', None) +def log_cells(modem): + cells = set() + while True: + try: + current_cells = cell_info(modem) + for cell in current_cells: + if cell not in cells: + (mcc, mnc, lac, cid) = cell + print "MCC: " + str(mcc) + ", MNC: " + str(mnc) + ", LAC: " + str(lac) + ", CellID: " + str(cid) + cells.update(current_cells) + time.sleep(2) + print "foo" + except KeyboardInterrupt: + break + + def print_state(modem): - modem.timeout = 0.1 + modem.timeout = 0.3 modem.write('AT+CSQ\r') response = modem.readlines() for line in response: @@ -202,6 +212,7 @@ def show_usage(): print "\tdisconnect: disconnect from internet" print "\tstate: show signal/base station info" print "\tcellinfo: show info about all received cells" + print "\tlogcells: continuous output of newly received cells" if len(sys.argv) != 2: show_usage() @@ -223,8 +234,12 @@ elif sys.argv[1] == "disconnect": elif sys.argv[1] == "state": print_state(modem) elif sys.argv[1] == "cellinfo": -# start_modem(modem) - cell_info(modem) + cells = cell_info(modem) + for (mcc, mnc, lac, cid) in cells: + print "MCC: " + str(mcc) + ", MNC: " + str(mnc) + ", LAC: " + str(lac) + ", CellID: " + str(cid) +elif sys.argv[1] == "logcells": + log_cells(modem) + else: show_usage() |
