Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

N3 Wifi Power Down


  • Please log in to reply
2 replies to this topic

#1 Roy Salisbury

Roy Salisbury

    Advanced Member

  • Members
  • PipPipPip
  • 32 posts

Posted 19 June 2015 - 02:54 AM

Is there a way to "power down" or have the WiFi go into a low power sleep mode?  I'm finding that my power requirements are too much for the N3 WiFi and will be moving over to a lower power nRF24L01 module.  I'd still like to use the board but cant with the power requirements.

 

I was going to switch over to the Fez Cerbino Bee that I have lying around but OMG .. such non-standard pin usage for an "Arduino Compatible" pin header.  I have a Netduino Mini arriving tomorrow but that's just more I have to figure out in the power setup (not a simple USB connection).

 

Roy



#2 Roy Salisbury

Roy Salisbury

    Advanced Member

  • Members
  • PipPipPip
  • 32 posts

Posted 19 June 2015 - 04:27 AM

I've been looking at the Netduino.IP_CC3100 code on github.  I see this:

 

public CC3100(SPI.SPI_module spiBusID, Cpu.Pin csPinID, Cpu.Pin intPinID, Cpu.Pin resetPinID, Cpu.Pin hibernatePinID)

 

And based on the comments in the code this pin will power down the chip.  Not really a "low power" powerdown, but it would work for what I am asking.  So... How can I specify a pin?  This is not really something that we would normally create as the Framework is doing it all for us "magically".

 

I'm guessing there might be a way to use reflection and get an instance of the running CC31000 and call the ILinkLayer.EnterPowerDownMode() method (which would use this hibernatePin).

 

However, this is where I am starting to get in over my head.  I just don't know the codebase well enough.

 

Roy



#3 Roy Salisbury

Roy Salisbury

    Advanced Member

  • Members
  • PipPipPip
  • 32 posts

Posted 19 June 2015 - 05:39 AM

I did a bit of reflection hacking and got to the "ILinkLayer.Stop" in the interface.  It turned the led off, but no noticable power difference.  I'm guessing the low power state just is not there...

 


Type socketNativeType = Type.GetType("Netduino.IP.LinkLayers.CC3100SocketNative, Netduino.IP.LinkLayers.CC3100");
var field = socketNativeType.GetField("_cc3100", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
var o = field.GetValue(null);
 
foreach (var i in o.GetType().GetInterfaces())
{
    foreach (var method in i.GetMethods())
    {
        if (method.Name == "Stop")
        {
            method.Invoke(o, null);
        }
    }
}

 






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.