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