Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
lesson6 [2019/06/28 11:25] golikov [Получение сырых данных для калибровки магнитометра] |
lesson6 [2020/02/04 14:33] golikov [Тест откалиброванного магнитометра] |
||
---|---|---|---|
Строка 17: | Строка 17: | ||
if not mgn_result[0]: #Если датчик не вернул сообщение об ошибке | if not mgn_result[0]: #Если датчик не вернул сообщение об ошибке | ||
print mgn_result[1], mgn_result[2], mgn_result[3] | print mgn_result[1], mgn_result[2], mgn_result[3] | ||
- | sleep(0.05) #Задержка пять десятых секунды | + | sleep(0.05) #Задержка пять сотых секунды |
magnetometer_turn_off(num) #Выключение магнитометра | magnetometer_turn_off(num) #Выключение магнитометра | ||
</file> | </file> | ||
Строка 25: | Строка 25: | ||
#include <stdio.h> | #include <stdio.h> | ||
#include <stdint.h> | #include <stdint.h> | ||
- | #include "libschsat.h" | + | |
- | #define LSS_OK 0 | + | |
- | #define LSS_ERROR 1 | + | |
- | #define LSS_BREAK 2 | + | |
- | + | ||
void control(void){ //Основная программа, в которой вызываем остальные функции | void control(void){ //Основная программа, в которой вызываем остальные функции | ||
/*Для вывода данных необходимость в объявлении массива отпадает*/ | /*Для вывода данных необходимость в объявлении массива отпадает*/ | ||
Строка 36: | Строка 31: | ||
uint16_t num = 1; | uint16_t num = 1; | ||
magnetometer_turn_on(num); //Включаем магнитометр | magnetometer_turn_on(num); //Включаем магнитометр | ||
- | Sleep(1); | + | mSleep(1000); |
int i; | int i; | ||
- | for (i = 0; i < 1000; i++) //Выполним 500 измерений | + | for (i = 0; i < 500; i++) //Выполним 500 измерений |
{ | { | ||
mgn_result[0] = magnetometer_request_raw(num, &mgn_result[1],&mgn_result[2],&mgn_result[3]); | mgn_result[0] = magnetometer_request_raw(num, &mgn_result[1],&mgn_result[2],&mgn_result[3]); | ||
Строка 44: | Строка 39: | ||
printf("%d, %d, %d\n", mgn_result[1], mgn_result[2], mgn_result[3]); | printf("%d, %d, %d\n", mgn_result[1], mgn_result[2], mgn_result[3]); | ||
} | } | ||
- | Sleep(0.5); //Задержка пять сотых секунды | + | mSleep(50); //Задержка пять сотых секунды |
} | } | ||
magnetometer_turn_off(num); | magnetometer_turn_off(num); | ||
Строка 146: | Строка 141: | ||
{{::06image020.png?nolink&600|}} | {{::06image020.png?nolink&600|}} | ||
+ | |||
+ | <note important> | ||
+ | Обратите внимание! Три верхних нормировочных коэффициента, отвечающие за смещение ноля, вставляются в формулу с обратными знаками, в отличие от остальных коэффициентов, описывающих искажения эллипсоида. | ||
+ | </note> | ||
Код на Python. | Код на Python. |