supervisor – 主管设置

在这些板上可用
  • 8086 Commander
  • @sarfata shIRtty
  • ARAMCON Badge 2019
  • ARAMCON2 Badge
  • ATMegaZero ESP32-S2
  • Adafruit BLM Badge
  • Adafruit CLUE nRF52840 Express
  • Adafruit Circuit Playground Bluefruit
  • Adafruit Circuit Playground Express 4-H
  • Adafruit CircuitPlayground Express
  • Adafruit CircuitPlayground Express with Crickit libraries
  • Adafruit CircuitPlayground Express with displayio
  • Adafruit EdgeBadge
  • Adafruit Feather Bluefruit Sense
  • Adafruit Feather M0 Adalogger
  • Adafruit Feather M0 Basic
  • Adafruit Feather M0 Express
  • Adafruit Feather M0 Express with Crickit libraries
  • Adafruit Feather M0 RFM69
  • Adafruit Feather M0 RFM9x
  • Adafruit Feather M4 CAN
  • Adafruit Feather M4 Express
  • Adafruit Feather MIMXRT1011
  • Adafruit Feather RP2040
  • Adafruit Feather STM32F405 Express
  • Adafruit Feather nRF52840 Express
  • Adafruit FunHouse
  • Adafruit Gemma M0
  • Adafruit Gemma M0 PyCon 2018
  • Adafruit Grand Central M4 Express
  • Adafruit Hallowing M4 Express
  • Adafruit ItsyBitsy M0 Express
  • Adafruit ItsyBitsy M4 Express
  • Adafruit ItsyBitsy RP2040
  • Adafruit ItsyBitsy nRF52840 Express
  • Adafruit LED Glasses Driver nRF52840
  • Adafruit Macropad RP2040
  • Adafruit MagTag
  • Adafruit Matrix Portal M4
  • Adafruit Metro ESP32S2
  • Adafruit Metro M0 Express
  • Adafruit Metro M4 Airlift Lite
  • Adafruit Metro M4 Express
  • Adafruit Metro nRF52840 Express
  • Adafruit Monster M4SK
  • Adafruit NeoKey Trinkey M0
  • Adafruit NeoPixel Trinkey M0
  • Adafruit ProxLight Trinkey M0
  • Adafruit PyGamer
  • Adafruit PyPortal
  • Adafruit PyPortal Pynt
  • Adafruit PyPortal Titano
  • Adafruit PyRuler
  • Adafruit Pybadge
  • Adafruit QT Py M0
  • Adafruit QT Py M0 Haxpress
  • Adafruit QT Py RP2040
  • Adafruit QT2040 Trinkey
  • Adafruit Rotary Trinkey M0
  • Adafruit Slide Trinkey M0
  • Adafruit Trellis M4 Express
  • Adafruit Trinket M0
  • AloriumTech Evo M51
  • Arduino MKR Zero
  • Arduino MKR1300
  • Arduino Nano 33 BLE
  • Arduino Nano 33 IoT
  • Arduino Nano RP2040 Connect
  • Arduino Zero
  • Artisense Reference Design RD00
  • AtelierDuMaker nRF52840 Breakout
  • BDMICRO VINA-D21
  • BDMICRO VINA-D51
  • BLE-SS dev board Multi Sensor
  • BastBLE
  • BastWiFi
  • BlueMicro840
  • CP Sapling M0
  • CP Sapling M0 w/ SPI Flash
  • CP32-M4
  • Capable Robot Programmable USB Hub
  • Cedar Grove StringCar M0 Express
  • Challenger RP2040 WiFi
  • Circuit Playground Express Digi-Key PyCon 2019
  • CircuitBrains Basic
  • CircuitBrains Deluxe
  • CrumpS2
  • Cytron Maker Pi RP2040
  • DynOSSAT-EDU-EPS
  • DynOSSAT-EDU-OBC
  • DynaLoRa_USB
  • ESP 12k NodeMCU
  • Electronic Cats Bast Pro Mini M0
  • Electronic Cats CatWAN USBStick
  • Electronic Cats Hunter Cat NFC
  • Electronic Cats NFC Copy Cat
  • Electronut Labs Blip
  • Electronut Labs Papyr
  • EncoderPad RP2040
  • Escornabot Makech
  • Espruino Pico
  • Espruino Wifi
  • Feather ESP32S2 without PSRAM
  • Feather MIMXRT1011
  • Feather MIMXRT1062
  • FeatherS2
  • FeatherS2 Neo
  • FeatherS2 PreRelease
  • Fluff M0
  • Fomu
  • Franzininho WIFI w/Wroom
  • Franzininho WIFI w/Wrover
  • Gravitech Cucumber M
  • Gravitech Cucumber MS
  • Gravitech Cucumber R
  • Gravitech Cucumber RS
  • HMI-DevKit-1.1
  • Hacked Feather M0 Express with 8Mbyte SPI flash
  • HalloWing M0 Express
  • HiiBot BlueFi
  • IMXRT1010-EVK
  • IkigaiSense Vita nRF52840
  • J&J Studios datum-Distance
  • J&J Studios datum-IMU
  • J&J Studios datum-Light
  • J&J Studios datum-Weather
  • Kaluga 1
  • LILYGO TTGO T8 ESP32-S2 w/Display
  • LoC BeR M4 base board
  • MDBT50Q-DB-40
  • MDBT50Q-RX Dongle
  • MEOWBIT
  • MORPHEANS MorphESP-240
  • MakerDiary nRF52840 MDK
  • MakerDiary nRF52840 MDK USB Dongle
  • Makerdiary M60 Keyboard
  • Makerdiary Pitaya Go
  • Makerdiary nRF52840 M.2 Developer Kit
  • Melopero Shake RP2040
  • Meow Meow
  • Metro MIMXRT1011
  • Mini SAM M4
  • NUCLEO STM32F746
  • NUCLEO STM32F767
  • NUCLEO STM32H743
  • OPENMV-H7 R1
  • Oak Dev Tech BREAD2040
  • Oak Dev Tech PixelWing ESP32S2
  • Open Hardware Summit 2020 Badge
  • PCA10056 nRF52840-DK
  • PCA10059 nRF52840 Dongle
  • PCA10100 nRF52833 Dongle
  • PYB LR Nano V2
  • Particle Argon
  • Particle Boron
  • Particle Xenon
  • PewPew 10.2
  • PewPew 13
  • PewPew M4
  • PicoPlanet
  • Pimoroni Interstate 75
  • Pimoroni Keybow 2040
  • Pimoroni PGA2040
  • Pimoroni Pico LiPo (16MB)
  • Pimoroni Pico LiPo (4MB)
  • Pimoroni PicoSystem
  • Pimoroni Plasma 2040
  • Pimoroni Tiny 2040
  • PyCubedv04
  • PyCubedv04-MRAM
  • PyCubedv05
  • PyCubedv05-MRAM
  • PyKey60
  • PyboardV1_1
  • Raspberry Pi Pico
  • Robo HAT MM1 M4
  • S2Mini
  • SAM E54 Xplained Pro
  • SAM32v26
  • SPRESENSE
  • ST STM32F746G Discovery
  • STM32F411E_DISCO
  • STM32F412G_DISCO
  • STM32F4_DISCO
  • Saola 1 w/Wroom
  • Saola 1 w/Wrover
  • Seeeduino Wio Terminal
  • Seeeduino XIAO
  • Serpente
  • Silicognition LLC M4-Shim
  • Simmel
  • SparkFun LUMIDrive
  • SparkFun MicroMod RP2040 Processor
  • SparkFun MicroMod SAMD51 Processor
  • SparkFun MicroMod nRF52840 Processor
  • SparkFun Pro Micro RP2040
  • SparkFun Pro nRF52840 Mini
  • SparkFun Qwiic Micro
  • SparkFun RedBoard Turbo
  • SparkFun SAMD21 Dev Breakout
  • SparkFun SAMD21 Mini Breakout
  • SparkFun STM32 MicroMod Processor
  • SparkFun Thing Plus - RP2040
  • SparkFun Thing Plus - SAMD51
  • Sprite_v2b
  • StackRduino M0 PRO
  • TG-Boards' Datalore IP M4
  • TG-Watch
  • THUNDERPACK_v11
  • THUNDERPACK_v12
  • Targett Module Clip w/Wroom
  • Targett Module Clip w/Wrover
  • Teensy 4.0
  • Teensy 4.1
  • Teknikio Bluebird
  • The Open Book Feather
  • TinkeringTech ScoutMakes Azul
  • TinyS2
  • Trinket M0 Haxpress
  • UARTLogger II
  • WarmBit BluePixel nRF52840
  • Winterbloom Big Honking Button
  • Winterbloom Sol
  • XinaBox CC03
  • XinaBox CS11
  • iMX RT 1020 EVK
  • iMX RT 1060 EVK
  • keithp.com snekboard
  • micro:bit v2
  • microS2
  • nanoESP32-S2 w/Wrover
  • nanoESP32-S2 w/Wroom
  • ndGarage[n°] Bit6: FeatherSnow-v2
  • ndGarage[n°]Bit6:FeatherSnow
  • nice!nano
  • senseBox MCU
  • stm32f411ce-blackpill
  • stm32f411ce-blackpill-with-flash
  • uChip
  • uGame10

supervisor.runtime :Runtime

运行时信息,例如 runtime.serial_connected (USB 串行连接状态)。此对象是 的唯一实例 supervisor.Runtime

supervisor.enable_autoreload()None

根据 USB 文件写入活动启用自动重新加载。

supervisor.disable_autoreload()None

禁用基于 USB 文件写入活动的自动重新加载,直到 enable_autoreload 被调用。

supervisor.set_rgb_status_brightness(brightness: int)None

调用从 0-255 设置状态 neopixel 的亮度 set_rgb_status_brightness is called.

supervisor.reload()None

重新加载主要的 Python 代码并运行它(相当于在 REPL 中按 Ctrl-D)。

supervisor.set_next_stack_limit(size: int)None

为下一次 vm 运行设置堆栈的大小。如果它太大,将使用默认值。

supervisor.set_next_code_file(filename: Optional[str], *, reload_on_success: bool = False, reload_on_error: bool = False, sticky_on_success: bool = False, sticky_on_error: bool = False, sticky_on_reload: bool = False)None

设置在下一次虚拟机运行时运行的文件。

当不是None,则将给定filename 插入到通常的 ['code.py', 'main.py'] 搜索序列的前面。

可选的关键字参数指定指定文件运行后会发生什么:

sticky_on_…确定新设置的文件名和选项是否仍然有效:如果为 True,则进一步运行将继续运行该文件(除非它通过调用 set_next_code_filename()自身来说明)。如果为 False,则设置只会影响一次运行并在之后恢复到标准 code.py/main.py。

reload_on_…确定如何继续:如果为 False,则在通常的“代码完成运行”中等待。等待重新加载。/ 按任意键进入 REPL。使用 CTRL-D 重新加载。” 状态。如果为 True,则立即重新加载,就像按下 CTRL-D 一样。

…_on_success当程序运行完成或调用sys.exit().

…_on_error程序异常退出时生效,包括CTRL-C引起的KeyboardInterrupt。

…_on_reload 当程序被写入 USB 驱动器的文件(自动重新加载)或调用supervisor.reload().

这些设置存储在 RAM 中,而不是永久内存中,因此只会影响软重新加载。关闭或重置设备将始终恢复为标准设置。

在同一次运行中多次调用时,只有最后一次调用生效,替换之前所做的任何设置。这是None作为文件名传递的主要用途:重置为标准搜索序列。

supervisor.ticks_ms()int

返回自未指定参考点以来的时间(以毫秒为单位),在 2**29 毫秒后回绕。

该值被初始化,以便在上电后大约 65 秒发生第一次溢出,从而可以检查您的程序是否在溢出时正常工作。

选择 wrap 值是为了ticks_ms在没有长整数的板上(或在具有长整数的板上不分配任何长整数对象)上,始终可以添加或减去两个值而不会溢出。

该滴答值来自微控制器内部的低精度时钟,就像time.monotonic. 由于其准确性低且每隔几天“环绕”一次,它旨在处理短期事件,例如推进 LED 动画,而不是长期事件,例如倒计时直到假期。

滴答值的加法、减法和比较可以使用如下例程完成:

_TICKS_PERIOD = const(1<<29)
_TICKS_MAX = const(_TICKS_PERIOD-1)
_TICKS_HALFPERIOD = const(_TICKS_PERIOD//2)

def ticks_add(ticks, delta):
    "Add a delta to a base number of ticks, performing wraparound at 2**29ms."
    return (a + b) % _TICKS_PERIOD

def ticks_diff(ticks1, ticks2):
    "Compute the signed difference between two ticks values, assuming that they are within 2**28 ticks"
    diff = (ticks1 - ticks2) & _TICKS_MAX
    diff = ((diff + _TICKS_HALFPERIOD) & _TICKS_MAX) - _TICKS_HALFPERIOD
    return diff

def ticks_less(ticks1, ticks2):
    "Return true iff ticks1 is less than ticks2, assuming that they are within 2**28 ticks"
    return ticks_diff(ticks1, ticks2) < 0
supervisor.get_previous_traceback()Optional[str]

如果最后一次 vm 运行以异常结束(包括由 CTRL-C 引起的 KeyboardInterrupt),则将回溯作为字符串返回。否则,返回None.

异常回溯仅在软重新加载时保留,硬重置将清除它。

只考虑代码(主或引导)运行,而不是 REPL 运行。

supervisor.disable_ble_workflow()None

禁用 ble 工作流程直到重置。这可以防止在 VM 和用于它的服务之外进行 BLE 广告。

class supervisor.RunReason

CircuitPython 开始运行的原因。

STARTUP :object

CircuitPython启动了微控制器启动了。有关 microcontroller.Processor.reset_reason 启动微控制器的原因的更多详细信息,请参阅。

AUTO_RELOAD :object

由于对文件系统的外部写入,CircuitPython 重新启动。

SUPERVISOR_RELOAD :object

由于调用 .CircuitPython 重新启动supervisor.reload().

REPL_RELOAD :object

由于用户在 REPL 中键入 CTRL-D,CircuitPython 启动。

class supervisor.Runtime

运行时对象的当前状态。

用法:

import supervisor
if supervisor.runtime.serial_connected:
    print("Hello World!")

您不能创建 的实例 supervisor.Runtime。使用supervisor.runtime 访问的唯一实例可用。

usb_connected :bool

返回 USB 枚举状态(只读)。

serial_connected :bool

返回 USB 串行通信状态(只读)。

serial_bytes_available :int

返回是否有任何字节可在 USB 串行输入上读取。允许轮询以查看是调用内置 input() 还是等待。(只读)

run_reason :RunReason

返回 CircuitPython 在这个特定时间开始运行的原因。