CPU

CPU

cpu.model()

Получить название процессора и номер ревизии, установленные на вашей плате.

Аргументы: нет

Возвращает: строку с названием процессора, установленного на вашей плате.

-- Get the CPU model
cpu = cpu.model();

-- Print to screen
print("CPU: "..cpu)

cpu.board()

Получить информацию об устройстве.

Аргументы: нет

Возвращает: тип платы, подтип платы и бренд платы. Подтип платы и бренд платы могут быть пустыми.

-- Get board information
type, subtype, brand = cpu.board();

-- Print to screen
print("Type: "..type)
print("Subtype: "..subtype)
print("Brand: "..brand)

cpu.speed([speed [, dynamic]])

Получить и при необходимости установить текущую скорость процессора в МГц.

Аргументы:

  • speed: одно из значений cpu.SPEED_DEFAULT, cpu.SPEED_FAST, cpu.SPEED_MEDIUM, cpu.SPEED_SLOW или любое фактическое значение в МГц, поддерживаемое системой.
  • dynamic: (по умолчанию false). Устанавливает новую скорость процессора как фиксированное значение. Установите dynamic в true, чтобы использовать новую скорость процессора как максимальную скорость, позволяя системе динамически переключать фактическую скорость по требованию.

Возвращает: скорость процессора в МГц.

-- Get CPU speed
speed = cpu.speed();

-- Print to screen
print("Speed: "..speed.." MHz")

cpu.temperature()

Получить текущую температуру процессора в градусах Цельсия.

Аргументы: нет

Возвращает: температуру процессора в градусах Цельсия. Доступно не во всех процессорах.

-- Get CPU temperature
temp = cpu.temperature();

-- Print to screen
print("Temp: "..temp.." ºC")

cpu.resetreason()

Возвращает причину перезагрузки.

Аргументы: нет

Возвращает: одну из причин:

cpu.RESET_POWERON
cpu.RESET_SW
cpu.RESET_DEEPSLEEP
cpu.RESET_SDIO
cpu.RESET_TG0WDT_SYS
cpu.RESET_TG1WDT_SYS
cpu.RESET_RTCWDT_SYS
cpu.RESET_INTRUSION
cpu.RESET_TGWDT_CPU
cpu.RESET_SW_CPU
cpu.RESET_RTCWDT_CPU
cpu.RESET_EXT_CPU
cpu.RESET_RTCWDT_BROWN_OUT
cpu.RESET_RTCWDT_RTC

cpu.wakeupreason()

Возвращает причину пробуждения.

Аргументы: нет

Возвращает: одну из причин:

cpu.WAKEUP_NONE
cpu.WAKEUP_EXT0
cpu.WAKEUP_EXT1
cpu.WAKEUP_TIMER
cpu.WAKEUP_TOUCHPAD
cpu.WAKEUP_ULP

cpu.wakeupon()

Устанавливает разрешенные причины для пробуждения. Может быть вызвано несколько раз для установки нескольких вариантов.

Аргументы: один из

cpu.WAKEUP_NONE
cpu.WAKEUP_EXT0
cpu.WAKEUP_EXT1
cpu.WAKEUP_TIMER
cpu.WAKEUP_TOUCHPAD
cpu.WAKEUP_ULP

Возвращает: ничего

Дополнительные аргументы зависят от выбранной причины пробуждения:

cpu.WAKEUP_EXT0

  • gpio
  • level

cpu.WAKEUP_EXT1

  • mask
  • wakeup_mode

cpu.WAKEUP_TIMER

  • time_in_us

cpu.WAKEUP_TOUCHPAD

WAKEUP_ULP

-- allow wakeup by ULP
cpu.wakeupon(cpu.WAKEUP_ULP)
-- allow wakeup by EXT0
cpu.wakeupon(cpu.WAKEUP_EXT0, pio.GPIO26, 1)

cpu.sleep(seconds)

Перевести процессор в режим глубокого сна на время, указанное в аргументе seconds. По истечении времени сна процессор перезагружается.

Аргументы:

  • seconds: количество секунд сна.

Возвращает: ничего.

-- Sleep for 10 seconds
cpu.sleep(10)

cpu.deepsleep()

Перевести процессор в режим глубокого сна. Процессор перезагружается, как только происходит одно из событий, настроенных с помощью функции cpu.wakeupon.

Аргументы: нет

Возвращает: ничего

-- Sleep now
cpu.deepsleep()

cpu.wakeupext1pin()

Если причина пробуждения процессора (cpu.wakeupreason) равна cpu.WAKEUP_EXT1, то эта функция может использоваться для определения GPIO, на котором произошло событие.

-- Read the GPIO that woke the CPU
pin = cpu.wakeupext1pin()

-- Print to screen
print("Pin that woke the CPU: "..pin)

cpu.wakeupext1mask()

Если причина пробуждения процессора (cpu.wakeupreason) равна cpu.WAKEUP_EXT1, то эта функция может использоваться для запроса маски всех GPIO EXT1, чтобы выяснить, на каком GPIO произошло событие.

-- Read the GPIO mask
mask = cpu.wakeupext1mask()

-- Print to screen
print("EXT1 wake GPIO mask: "..mask)

cpu.watchpoint(addr [, size [, flags]])

Позволяет установить точку наблюдения на определенный адрес, на операции ЗАГРУЗКИ (LOAD), ЗАПИСИ (STORE) или ДОСТУПА (ACCESS).

Аргументы:

  • addr: адрес для наблюдения.
  • size: размер адреса, по умолчанию 4, должен быть одним из значений 2^n, где n находится в диапазоне [0..6].
  • flags: одно из значений cpu.WATCHPOINT_LOAD, cpu.ESP_WATCHPOINT_STORE, cpu.ESP_WATCHPOINT_ACCESS.

Возвращает: ничего.

cpu.backtrace()

Если система была перезапущена после сбоя/паники/аварийного завершения работы, стек вызовов сбоя будет сохранен в специальной области памяти. Используйте эту функцию, чтобы получить этот стек вызовов.

Аргументы: нет

Возвращает: ничего или таблицу Lua, содержащую обратный трассировочный стек (backtrace).

/examples/lua > cpu.backtrace()
Backtrace: none