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)
 
missions/firefly/main8.py.txt · Last modified: 2008/04/18 23:54 by jamescoxon
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki