Skip to content

lightsleep and trying to keeping camera working #56

@davefes

Description

@davefes

I need to use lightsleep in a solar-powered application. However, either using lightsleep() (forever) or lightsleep(60000)after a day or so leaves the camera in an unknown state. A power-on reset seems to be the only way to recover normal operation.

Also, machine.reset() doesn't seem to do a good enough job of recovering proper operation.

Using deepsleep seems better, but the 2 second boot-up time is limiting.

    while True:
        print ('going to lightsleep for 60 seconds')
        time.sleep_ms(10)

        lightsleep(60000)

        if (wake_source.value() == 1):
            print ('you got a valid trigger')
            time.sleep_ms(10)

          # wait for camera ready
            for i in range(5):
                cam = camera.init()
                print("Camera ready?: ", cam)
                if cam:
                    break
                else:
                    time.sleep(1)
            else:
                print('Timeout, doing a machine.reset()')
                time.sleep_ms(5)

                machine.reset()

          # other settings after camera.init()
            camera.quality(5)
            camera.brightness(-2)
            camera.speffect(2)  # B&W

          # take 5 frames, rejecting the first four!!
            for x in range(5):
                img = camera.capture()
                time.sleep_ms(100)

            camera.deinit()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions