Skip to content

Commit 9cbefce

Browse files
Update Notecard API from upstream schema changes (18d45d6058ce944f6b33ae7556210efedfb3b5c2)
1 parent b7c33a1 commit 9cbefce

1 file changed

Lines changed: 16 additions & 7 deletions

File tree

notecard/card.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -586,18 +586,21 @@ def random(card, count=None, mode=None):
586586

587587

588588
@validate_card_object
589-
def power(card, minutes=None, reset=None):
589+
def power(card, hours=None, minutes=None, reset=None):
590590
"""Use `card.power` API is used to configure a connected Mojo device or to manually request power consumption readings in firmware.
591591
592592
Args:
593593
card (Notecard): The current Notecard object.
594-
minutes (int): How often, in minutes, Notecard should log power consumption in a `_log.qo` Note. The default value is `720` (12 hours).
594+
hours (int): How often, in hours, Notecard should log power consumption in a `_log.qo` Note. Provided as a convenience alternative to `minutes`. If both `hours` and `minutes` are provided, the resulting cadence is the sum of the two.
595+
minutes (int): How often, in minutes, Notecard should log power consumption in a `_log.qo` Note. The default value is `720` (12 hours). May be combined with `hours`, in which case the two values are added together.
595596
reset (bool): Set to `true` to reset the power consumption counters back to 0.
596597
597598
Returns:
598599
dict: The result of the Notecard request.
599600
"""
600601
req = {"req": "card.power"}
602+
if hours is not None:
603+
req["hours"] = hours
601604
if minutes is not None:
602605
req["minutes"] = minutes
603606
if reset is not None:
@@ -737,14 +740,15 @@ def trace(card, mode=None):
737740

738741

739742
@validate_card_object
740-
def transport(card, allow=None, method=None, seconds=None, umin=None):
743+
def transport(card, allow=None, method=None, seconds=None, set=None, umin=None):
741744
"""Specify the connectivity protocol to prioritize on the Notecard Cell+WiFi, or when using NTN mode with Starnote and a compatible Notecard.
742745
743746
Args:
744747
card (Notecard): The current Notecard object.
745-
allow (bool): Set to `true` to allow adding Notes to non-compact Notefiles while connected over a non-terrestrial network. See Define NTN vs non-NTN Templates.
748+
allow (bool): Set to `true` to allow adding Notes to templated Notefiles that have no `port` while connected over a non-terrestrial network. See Define NTN vs non-NTN Templates.
746749
method (str): The connectivity method to enable on the Notecard.
747750
seconds (int): The amount of time (in seconds) a Notecard will spend on any fallback transport before retrying the first transport specified in the `method`. The default is `3600` or 60 minutes.
751+
set (bool): Set to `true` to apply the `allow` argument without also changing the transport `method`.
748752
umin (bool): Set to `true` to force a longer network transport timeout when using Wideband Notecards.
749753
750754
Returns:
@@ -757,6 +761,8 @@ def transport(card, allow=None, method=None, seconds=None, umin=None):
757761
req["method"] = method
758762
if seconds is not None:
759763
req["seconds"] = seconds
764+
if set is not None:
765+
req["set"] = set
760766
if umin is not None:
761767
req["umin"] = umin
762768
return card.Transaction(req)
@@ -855,7 +861,7 @@ def version(card):
855861

856862

857863
@validate_card_object
858-
def voltage(card, alert=None, calibration=None, hours=None, mode=None, name=None, off=None, offset=None, on=None, set=None, sync=None, usb=None, vmax=None, vmin=None):
864+
def voltage(card, alert=None, calibration=None, hours=None, mode=None, name=None, now=None, off=None, offset=None, on=None, set=None, sync=None, usb=None, vmax=None, vmin=None):
859865
"""Provide the current VMODEM_P voltage level on the Notecard, and provides information about historical voltage trends. When used with the mode argument, configures voltage thresholds based on how the device is powered.
860866
861867
Args:
@@ -865,14 +871,15 @@ def voltage(card, alert=None, calibration=None, hours=None, mode=None, name=None
865871
hours (int): The number of hours to analyze, up to 720 (30 days).
866872
mode (str): Used to set voltage thresholds based on how the Notecard will be powered, and which can be used to configure voltage-variable Notecard behavior. Each value is shorthand that assigns a battery voltage reading to a given device state like `high`, `normal`, `low`, and `dead`. In addition to the named presets below, a custom semicolon-separated shorthand string may be provided using any combination of the `usb`, `high`, `normal`, `low`, and `dead` states (e.g. `"usb:4.6;high:4.2;normal:3.6;low:0"`). NOTE: Setting voltage thresholds is not supported on the Notecard XP.
867873
name (str): Specifies an environment variable to override application default timing values.
874+
now (bool): By default, the returned `value` is an average of the voltage readings taken over the previous 15 minutes, which smooths out momentary fluctuations. Set to `true` to return the instantaneous voltage reading instead.
868875
off (bool): Disable historic voltage trend calculations.
869876
offset (int): Number of hours to move into the past before starting analysis.
870877
on (bool): Enable historic voltage trend calculations.
871878
set (bool): Used along with `calibration`, set to `true` to specify a new calibration value.
872879
sync (bool): When enabled and the `usb` argument is set to `true`, the Notecard will perform a sync when USB power is connected or disconnected.
873880
usb (bool): When enabled, the Notecard will monitor for changes to USB power state.
874-
vmax (float): Ignore voltage readings above this level when performing calculations.
875-
vmin (float): Ignore voltage readings below this level when performing calculations.
881+
vmax (float): Ignore voltage readings above this level when performing calculations. Defaults to the maximum voltage the Notecard's components are rated for.
882+
vmin (float): Ignore voltage readings below this level when performing calculations. Defaults to the minimum voltage the Notecard's components are rated for.
876883
877884
Returns:
878885
dict: The result of the Notecard request.
@@ -888,6 +895,8 @@ def voltage(card, alert=None, calibration=None, hours=None, mode=None, name=None
888895
req["mode"] = mode
889896
if name:
890897
req["name"] = name
898+
if now is not None:
899+
req["now"] = now
891900
if off is not None:
892901
req["off"] = off
893902
if offset is not None:

0 commit comments

Comments
 (0)