TRUE = 1 FALSE = 0 import debug import MOD import MDM import morselib import smslib import misc import SER import gpslib debug.msg("Modules Loaded") def main(): debug.msg('Running...') gpspos_lastvalid = '' cutdown_count = FALSE smslib.sms_setup() start_time = MOD.secCounter() misc.log('Started\n', start_time) #Logs that the device has started #MOD.watchdogEnable(300) while 1: #MOD.watchdogReset() #Retrieve current position gpsloc = gpslib.getActualPosition() gpspos_split = gpsloc.split(',') if ((gpspos_split[0] == '$GPGGA') and (len(gpspos_split) > 11)): #Check GPS fix status gps_statusnow = gpslib.gps_status(gpsloc) else: gps_statusnow = FALSE #Check if updated if TRUE record to last valid if ( (gps_statusnow == TRUE) or (gpspos_lastvalid == '') ): gpspos_lastvalid = gpsloc #Morse Code if (gps_statusnow == TRUE): morselib.radio_on_off('on') morselib.splitter(gpspos_split[2]) MOD.sleep(30) morselib.splitter(gpspos_split[4]) MOD.sleep(30) morselib.splitter(gpspos_split[9]) morselib.radio_on_off('off') else: #send old data gpspos_split = gpspos_lastvalid.split(',') morselib.radio_on_off('on') morselib.long_tone(70) morselib.splitter(gpspos_split[2]) MOD.sleep(30) morselib.splitter(gpspos_split[4]) MOD.sleep(30) morselib.splitter(gpspos_split[9]) morselib.radio_on_off('off') # If GPS position fix valid send sms of position if not then senf 'NF' and the last valid if (gps_statusnow == TRUE): gpsloc1 = gpspos_split[1] + ',' + gpspos_split[2] + ',' + gpspos_split[3] + ',' + gpspos_split[4] + ',' + gpspos_split[5] + ',' + gpspos_split[9] # smslib.sms_send('07748628528', gpsloc1) else: gpspos_split = gpspos_lastvalid.split(',') gpsloc1 = gpspos_split[1] + ',' + gpspos_split[2] + ',' + gpspos_split[3] + ',' + gpspos_split[4] + ',' + gpspos_split[5] + ',' + gpspos_split[9] # smslib.sms_send('07748628528', 'NF ' + gpspos_lastvalid) #MISC reception_value = smslib.reception_check() #Log Position data = gpsloc + ',' + reception_value + '\n' present_time = MOD.secCounter() misc.log(data, start_time) #Cutdown if (((present_time - start_time) > 7200) and (cutdown_count == FALSE): misc.cutdown() cutdown_count = TRUE #Power Saving with radio on for 10secs debug.msg('Power Saving') MOD.sleep(100) morselib.radio_on_off('on') morselib.long_tone(100) morselib.radio_on_off('off') MOD.sleep(100)