Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Задание

Чтобы программа оставалась простой, будем считать, что вы бьёте, держа плату параллельно земле. Чтобы измерить силу удара, пришлось бы учитывать и ускорение по X, и по Y (а ось Z можно игнорировать, так как она отражает только гравитацию). Чтобы упростить задачу ещё больше, будем считать, что плату держат кнопкой B к себе, а кнопкой A — от себя, и бьют от себя. Значит, вы бьёте в положительном направлении оси X.

Вот что должен делать измеритель удара:

  • По умолчанию приложение не «следит» за ускорением платы.
  • Когда обнаружено значительное ускорение по X (то есть ускорение превышает некоторый порог), приложение должно начать новое измерение.
  • В течение этого интервала измерения приложение должно отслеживать максимальное наблюдаемое ускорение.
  • По окончании интервала приложение должно вывести максимальное наблюдаемое ускорение. Значение можно вывести с помощью макроса rprintln!.

Попробуйте и скажите мне, как сильно вы умеете бить ;-).

ПРИМЕЧАНИЕ Для этой задачи должен пригодиться ещё один API, о котором мы пока не говорили: set_accel_scale. Он нужен, чтобы измерять большие значения g.