Octave edge 3.2.1 - FX30S - disable radio to save power

Using Octave Edge FW 3.2.1 is it possible to disable the Cellular radio in order to reduce current?

Also is it possible to disable the Cellular radio so that it is off when exiting ULPM?

Hi johnofleek,

As I know, cellular is the only way through which your device comunicate with Octave. Therefore, it’s impossible to disable cellular from Octave.

Thanks,

Hi Jerdung

Yes I agree the only way the Octave edge device can communicate with the Octave cloud is via cellular IP.

I think your response is that using an Octave 3.2.1 system it is not possible to disable the Cellular radio (Airplane mode) using an edge action and then re-enable the Cellular radio from an edge action - is this correct?

The following is more background information on the actual use case - where

  • minimising current is critical to battery life
  • radio registration consumes considerable current during the WP7702 boot cycle
  • To save power in this application - On exiting ULPM (often) the Octave edge actions don’t communicate with the cloud before re-entering ULPM

The following plot indicates measured FX30S 12V input current consumption during the various phases of the ULPM to ULPM cycle. The peaks are radio activity which in this application does not add to the functionality of the application.

For interest

The measured 12V ULPM current consumption is <200uA

Test Octave Edge code

/*
  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) {
  function fx30_read_io1(){
    // I/0 1 is pulled up by default
    // but reading the value is inverted logic - grrr
    // hence the need for this nonsense code
    // FX30 I/O 1 BROWN digital input == /io/EXT_IO1_DI
    var EXT_IO1_DI = Resource.read("/io/EXT_IO1_DI/value").value;
    // IO logic 0 
    if(EXT_IO1_DI == 0){
      return 1;
    }
    else{
      return 0;
    }
  }

  var retVal = {};

  if(event.value.state == "running") 
  {
    retVal["dh://io/LED_PWR_GRN_FCN/value"] = [true];
    retVal["dh://io/LED_PWR_GRN/value"] = [true];  // LED OFF
    retVal["dh://io/LED_PWR_RED/value"] = [false]; // LED OFF
  }
  else
  {
    // shutdown to ULPM unless blocked by FX30 I/O 1 BROWN digital input  /io/EXT_IO1_DI
    if(fx30_read_io1()){ 
      // set module to ULPM - FX30 should wake up on timer
      // ultimate aim will be to read the energia ADC here with minimal FX30 on time
      retVal["dh://util/ulpm/shutdown"] = [true];  
      var CurrentDate = new Date(); //current date time
      console.log(CurrentDate);
    }
    else {
      // ULPM bypass for debug purposes
      retVal["dh://io/LED_PWR_GRN/value"] = [false]; // GREEN LED ON
    }
  }

  return retVal;
}

Hi johnofleek,

I would say that there is no way to interfere with cellular radio from Octave site.

Thanks,

1 Like

Hi John,

Currently I don’t know of a method in Octave to set the device in airplane mode. I think that it would be very useful for use in many mobile asset tracking use cases; shipping on an airplane or ship, and in explosive environments such as gas wells or LPG use cases.

2 Likes