Octave 3.20 FX30S Green signal and Red power LED - how to turn them off

Hi
I would like to minimise FX30S current consumption by turning of all LEDs.

How do I turn off the cellular network (Green) LED ?

I have tried using the following resources LED_PWR_RED does turn of the RED led but LED_PWR_GRN does not turn off the green LED

Resource "/io/config"
 {
  "devs": [
    {
      "conf": [
        {
          "cntr": 0,
          "name": "EXT_IO2_AI",
          "res": "EXT_IO2_AI",
          "type": "AI",
          "unit": "none"
        },
        {
          "name": "LED_PWR_GRN",
          "res": "LED_PWR_GRN",
          "type": "DO"
        },
        {
          "name": "LED_PWR_RED",
          "res": "LED_PWR_RED",
          "type": "DO"
        }
      ],
      "type": "basic"
    }
  ]
}

Hi John

For the Power LED, to turn it off
LED_PWR_GRN_FCN = true /* Allows control of Power LED
LED_PWR_GRN = true
LED_PWR_RED = false

I know this seems inverted and yes it is to me. We have JIRA tickets to change but it would impact a lot of existing users code.

For the USER_LED, this is the logic from one of my edge actions
grn_led = true;
red_led = false;
fx30_user_led = “red”

 grn_led = true;
 red_led = true;
 fx30_user_led = "off"

  grn_led = false;
  red_led = true;
  fx30_user_led = "green"

  grn_led = false;
  red_led = false;
  fx30_user_led = "amber"
1 Like

Hi David

Many thanks for the prompt reply - that makes sense (as much as the FX30(S) hardware ever does :))

I have noticed that following entry then exit from ULPM the PWR LEDs are switched back on. Octave (in developer mode) thinks that the PWR LEDS are off. Is this expected behaviour?

For anyone else messing with power saving this is the io/config that I used to enable access to the PWR GREEN (cellular) and PWR RED (power) LEDs

{
  "devs": [
    {
      "conf": [
        {
          "name": "LED_PWR_GRN",
          "res": "LED_PWR_GRN",
          "type": "DO"
        },
        {
          "name": "LED_PWR_GRN_FCN",
          "res": "LED_PWR_GRN_FCN",
          "type": "DO"
        },
        {
          "name": "LED_PWR_RED",
          "res": "LED_PWR_RED",
          "type": "DO"
        }
      ],
      "type": "basic"
    }
  ]
}

Hey John,

I will look into the ULPM / LED behavior.

Current bodge / workaround for FX30S PWR LED volatility

Note that this doesn’t fix the issue of the FX30S LEDs behaviour during the period of time (~50 seconds) between ULPM exit ( or POR) and the Octave Edge apps running correctly. During this period the LED_PWR_RED is on, LED_PWR_GRN is on when the Radio connects to the network. Consuming a chunk of current.

/*

  To save power the FX30 RED and Green "PWR" LEDs need to off
  With Current 3.2.1 FW the LEDs revert to default after system POR

  Intention is for this handler to run once on boot
  The only way I have found to trigger this handler is with a one shot auto timer

  Notes

  A one shot timer is actually 2 shot  
  First shot  event.value.state == "running"
  Second shot event.value.state == "idle"

  There will be a WP7702 boot delay ~25 seconds before this handler fires
  Not great for power saving because the RED led will be on anyway
*/

function (event) {

  var retVal = {};

  console.log(event);

  if(event.value.state == "running")   {
    retVal["dh://io/LED_PWR_GRN_FCN/value"] = [true];
    retVal["dh://io/LED_PWR_GRN/value"] = [true];
    retVal["dh://io/LED_PWR_RED/value"] = [false];
    retVal["cl://boot_oneshot"] = [{ boot__oneshot: "set to correct values" }];
  }

  return retVal;
}

Very nice and helpful John

1 Like