Setting Duty Cycle

Continuing the discussion from More info on "growing set of abstract parsing tools":

@chris asked a great question: Speaking of the Spotter duty cycle configuration - How does one turn that on? Can’t seem to find it in the docs.

@chris I’ve got an answer for you from the firmware team.

The concept here is that we can set a configuration scheme to the Spotter such that it turns on and off the entire Smart Mooring. This is the most power efficient and simplest way to enable some duty cycle for the Dev Kit systems.

Head over to Guide 5.

Take a look at the section “05. Tying it all together” and the subsection “Configure our Bristlemouth application” where you can see the code:

  • bridge cfg set 0 s u bridgePowerControllerEnabled 1

    Enables the Smart Mooring periodic power controller.

  • bridge cfg set 0 s u sampleIntervalMs 3600000

    Sets the interval to turn on the Smart Mooring every hour.

  • bridge cfg set 0 s u sampleDurationMs 605000

    Sets the ‘on’ duration to 10 minutes + 5 seconds to add some padding to make sure the Dev Kit has time to send its message.

  • bridge cfg commit 0 s

    Saves the settings and reboots ‘The Bridge’, which is the name of the dedicated Smart Mooring controller in the Spotter.

You can use the sampleIntervalMs n and sampleDurationMs n to create a duty cycle scheme that makes sense for your application.

We’ll be releasing more comprehensive user guides for Spotter and other Sofar Bristlemouth modules soon, in the meantime, if you have any questions on the details from Guide 5 - let us know.

Awesome!! Sorry I failed to find it in the docs myself. I think this is important enough that it’ll be useful to have spelled out on the forums though.

And along those lines, wanted to share something I’ve noticed. The dashboard makes a query to with our authorization token and spotter ID. This API returns all kinds of useful info, including lat/long and most importantly battery life and solar voltage. This is immensely useful for monitoring deployments and I’ll probably plan to programmatically query it every minute or so for analysis.

I mostly just wanted to share this with others and point out that it might be useful to make this an official API or mention it on your docs.

1 Like