module machine

The machine module contains specific functions related to the board.

Quick Usage Example

import machine

help(machine) # display all members from the machine module
machine.freq() # get the CPU frequency
machine.unique_id() # return the 6-byte unique id of the board (the LoPy's WiFi MAC address)

Reset Functions

machine.reset()

Resets the device in a manner similar to pushing the external RESET button.

machine.reset_cause()

Get the reset cause. See constants for the possible return values.

Interrupt Functions

machine.disable_irq()

Disable interrupt requests. Returns and integer representing the previous IRQ state. This return value can be passed to enable_irq to restore the IRQ to its original state.

machine.enable_irq([state])

Enable interrupt requests. The most common use of this function is to pass the value returned by disable_irq to exit a critical section. Another options is to enable all interrupts which can be achieved by calling the function with no parameters.

Power Functions

machine.freq()

Returns CPU frequency in hertz.

machine.idle()

Gates the clock to the CPU, useful to reduce power consumption at any time during short or long periods. Peripherals continue working and execution resumes as soon as any interrupt is triggered (on many ports this includes system timer interrupt occurring at regular intervals on the order of millisecond).

machine.deepsleep([time_ms])

Stops the CPU and all peripherals (including networking interfaces, if any). Execution is resumed from the main script, just as with a reset. If a value in milliseconds is given then the device will wake up after that period of time, otherwise it will remain in deep sleep until the reset button is pressed.

machine.pin_deepsleep_wakeup(pins, mode, enable_pull)

Configure pins to wake up from deep sleep mode. The pins which have this capability are: P2, P3, P4, P6, P8 to P10 and P13 to P23.

The arguments are:

  • pins a list or tuple containing the GPIO to setup for deepsleep wakeup.
  • mode selects the way the configure GPIOs can wake up the module. The possible values are: machine.WAKEUP_ALL_LOW and machine.WAKEUP_ANY_HIGH.
  • enable_pull if set to True keeps the pull up or pull down resistors enabled during deep sleep. If this variable is set to True, then ULP or capactive touch wakeup cannot be used in combination with GPIO wakeup.
machine.wake_reason()

Get the wake reason. See constants for the possible return values. Returns a tuple of the form: (wake_reason, gpio_list). When the wakeup reason is either GPIO or touch pad, then the second element of the tuple is a list with GPIOs that generated the wakeup.

Miscellaneous Functions

machine.main(filename)

Set the filename of the main script to run after boot.py is finished. If this function is not called then the default file main.py will be executed.

It only makes sense to call this function from within boot.py.

machine.rng()

Return a 24-bit software generated random number.

machine.unique_id()

Returns a byte string with a unique identifier of a board/SoC. It will vary from a board/SoC instance to another, if underlying hardware allows. Length varies by hardware (so use substring of a full value if you expect a short ID). In some MicroPython ports, ID corresponds to the network MAC address.

Use binascii.hexlify() to convert the byte string to hexadecimal form for ease of manipulation and use elsewhere.

Constants

Reset Causes

machine.PWRON_RESET machine.HARD_RESET machine.WDT_RESET machine.DEEPSLEEP_RESET machine.SOFT_RESET machine.BROWN_OUT_RESET

Wake Reasons

machine.PWRON_WAKE machine.PIN_WAKE machine.RTC_WAKE machine.ULP_WAKE

Pin Wakeup Modes

machine.WAKEUP_ALL_LOW machine.WAKEUP_ANY_HIGH

results matching ""

    No results matching ""