Задание
Задание этой главы — написать небольшую программу, которая обменивается данными с внешним миром через последовательный интерфейс из предыдущей главы. Она должна принимать из последовательного порта команды «mag» (магнитометр) и «acc» (акселерометр). В ответ программа должна отправлять в последовательный порт соответствующие данные датчика.
На этот раз шаблона кода не будет: всё, что нужно, уже есть в главах UART и в этой. Однако вот несколько подсказок:
-
Вам может пригодиться
core::str::from_utf8, чтобы преобразовать байты из буфера в&str: ведь нужно сравнивать их со строками"mag"и"acc". -
Придётся почитать документацию по API и возможностям магнитометра. Интерфейс API предоставляет крейт
lsm303agr, а даташит LSM303AGR описывает параметры измерения магнитного поля датчиком. Характеристики датчика — на страницах 13–15, а самое важное — на страницах 66–67, где описан формат выходных регистров.