omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    Data logging in the background

    Pythonista
    background
    3
    4
    2031
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • max72
      max72 last edited by max72

      I'm playing with Pythonista, and it's a very nice tool.
      I found also many suggestion on the forum, thanks.
      I'm trying now to do accelerometer logging.
      Issue is when the phone idles logging stops.
      Searching around it looks like there is no viable solution, but I found an hint about the use of
      console.set_idle_timer_disabled(flag)

      I placed it in the Today widget and ran it, but unfortunately it's not working.
      Is there any hope?
      I'm attaching the code.

      Thanks in advance,
      Massimo

      #!python3
      import appex, ui
      import location
      import motion
      import csv
      import time
      import sys
      import console
      from functools import partial
      
      count=0
      i=0
      
      #@ui.in_background
      def avvialog(sender):
      	global count
      	global i
      	console.set_idle_timer_disabled(True)
      	motion.start_updates()
      	location.start_updates()
      	if (count<10):
      		ui.delay(partial(avvialog,sender),1)
      		label.text="partito"+str(i)
      		i=i+1
      		v.add_subview(label)
      		a=motion.get_user_acceleration()
      		b=location.get_location()
      		with open('filelogc.csv','a') as csvfile:
      			fh = csv.writer(csvfile,delimiter=',')
      			fh.writerow([time.clock(),time.asctime(),b["latitude"],b["longitude"],b["speed"],(a[0]**2+a[1]**2+a[2]**2)**0.5])
      	else:	
      		motion.stop_updates()
      		location.stop_updates()
      		label.text="stop"
      		v.add_subview(label)
      		console.set_idle_timer_disabled(False)
      		count=0
      		i=0
      			
      
      def fermalog(sender):
      	global count
      	count=100
      	
      # button setup	
      v = ui.View(frame=(0, 0, 300, 150))
      label = ui.Label(frame=(0, 0, 150, 90), flex='lwh', font=('<System>', 24), alignment=ui.ALIGN_CENTER, name='result_label',text="in pausa")
      v.add_subview(label)
      button1 = ui.Button(title='start', font=('<System>', 24), flex='rwh', action=avvialog)
      button1.frame = (0, 50, 100, 100)
      button2 = ui.Button(title='stop', font=('<System>', 24), flex='rwh', action=fermalog)
      button2.frame = (120, 50, 220, 100)
      v.add_subview(button1)
      v.add_subview(button2)	
      appex.set_widget_view(v)
      
      
      
      mikael 1 Reply Last reply Reply Quote 0
      • mikael
        mikael @max72 last edited by

        @max72, combining Today widget and long-term processing seems like asking for extra trouble. In a plain script disabling the idle timer works fine, as long as you set the setting in the main thread (due to a bug in the latest version).

        What is your use case?

        cvp 1 Reply Last reply Reply Quote 0
        • cvp
          cvp @mikael last edited by

          @mikael it seems he uses it in background thread ipo main thread

          1 Reply Last reply Reply Quote 0
          • max72
            max72 last edited by

            Thanks!
            I made wrong assumptions about the today widget and its implications..
            Running the script directly seems to solve the issues.
            I'll give it a long-term whirl, but it looks like it works fine.
            Thanks again for your time and insight.
            Massimo

            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            Powered by NodeBB Forums | Contributors