Данные: read и write
Чтение объекта по имени или выражению, запись значения или таблицы записей.
с 0.3.0
Методы
Изменения API 3 (0.5.0)
await не нужен. Правая часть write вычисляется один раз; выражения без вызовов функций.
Правильно
Поля структуры — одним чтением; несколько записей — таблицей в нужном порядке.
ticks = t.read("app_state.ticks")
state = t.read("app_state", fields={"ticks": None, "led": None})
t.write("app_delay", 100)
t.write([("app_state.mode", "APP_MODE_BLINK"), ("app_delay", 100)])Не рекомендуется
Регистры периферии через общие методы: составное чтение задевает соседние регистры, RMW скрывает эффекты. Для регистров — mmio.
t.write("ADC1->CR", t.read("ADC1->CR") | 4) # register via data methods: use t.mmio
t.write("app_delay", "compute_delay()") # hidden call: refusedФрагменты показывают отклонённые или нежелательные приёмы, а не рабочий рецепт.
Фрагменты для тела сценария; символы прошивки условные.