#include #include #include #define M_PI 3.146284827473 #include "libschsat.h" void control(void){ /*Устанавливаем период отправки телеметрии магнитометром*/ magnetometer_gyro_set_telemetry_period(0, 100); /*Объявляем переменные*/ float mag_x = 0, mag_y = 0, mag_z = 0; uint16_t mag_num = 0; float mag_alpha; /*Выводим 13 значений магнитометра один раз в 10 секунд*/ for (int i = 0; i < 13; i++){ mSleep(10000); /*Интервал задержки 10 сек*/ /*Получаем значения магнитометра*/ magnetometer_request_raw(mag_num, &mag_x, &mag_y, &mag_z); /*Вычисляем азимут*/ mag_alpha = atan2(mag_y, mag_x)*180/M_PI; /*Выводим значения азимута*/ printf("alfa = %d mag_alpha = %f\n", i*30, mag_alpha); } puts("Sent"); }