Инструменты пользователя

Инструменты сайта


recomendations

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
recomendations [2015/11/04 23:10]
admin
recomendations [2015/11/04 23:15] (текущий)
admin
Строка 1: Строка 1:
-**Рекомендации для участников ​и примеры кода**+**Рекомендации для участников**
  
 **1 Включайте устройства по одному.** \\  **1 Включайте устройства по одному.** \\ 
Строка 21: Строка 21:
   transmitter_turn_on(1)   transmitter_turn_on(1)
  
-**3 Рекомендуемый код для ​проверки консоли и веб интерфейса**+**3 Позволяйте приборам загрузится** 
 +После подания питания на прибор командой xxx_power_on() приборам требуется время на загрузку. Кроме того после загрузки ​они не могут начать ответить на первую же посылку предназначенную ​им. Если вы хотите включить прибор и начать ​с ним работать - дождитесь загрузки прибора (не более 1сек) ​и по возможности подготовьте его к приему. Либо послав команду bus_setup() на шину, либо отправив любую посылку этому или другому прибору.
  
-  #include <​stdio.h>​ 
-  /* 
-  ** Lab 1: hello, world! 
-  */ 
-  void control(void) 
-  { 
-  puts("​hello,​ world!"​);​ 
-  } 
- 
-**4 Рекомендуемый код для проверки магнитометра** 
- 
-  #include "​libschsat.h"​ 
-  ​ 
-  /* 
-  ** Lab 2: get a raw data from a magnetometer 
-  */ 
-  void control(void) 
-  { 
-  int i; 
-  const int num = 1; /* magnetometer #1 */  ​ 
-  printf("​Enable magnetometer #​%d\n",​ num);  ​ 
-  magnetometer_turn_on(num);  ​ 
-  printf("​Get RAW data from magnetometer #​%d\n",​ num);  ​ 
-  for (i = 0; i < 10; i++) { 
-  int16_t x, y, z; 
-  if (LSS_OK == magnetometer_request_raw(num,​ &x, &y, &z)) { 
-  printf("​%d:​ x=%d y=%d z=%d\n",​ i, x, y, z); 
-  } else { 
-  puts("​Fail!"​);​ 
-  } 
-  Sleep(1); 
-  } 
-  printf("​Disable magnetometer #​%d\n",​ num); 
-    magnetometer_turn_off(num);​ 
-  } 
-  ​ 
-**5 Рекомендуемый код для проверки ДУС** 
-  #include "​libschsat.h"​ 
-  ​ 
-  /* 
-  ** Lab 3: get a raw data from a hyro 
-  */ 
-  void control(void) 
-  { 
-  int i; 
-  const int num = 1; /* hyro #1 */ 
-  printf("​Enable hyro #​%d\n",​ num); 
-  hyro_turn_on(num);​ 
-  printf("​Get RAW data from hyro #​%d\n",​ num); 
-  for (i = 0; i < 10; i++) { 
-  int16_t x, y, z; 
-  if (LSS_OK == hyro_request_raw(num,​ &x, &y, &z)) { 
-  printf("​%d:​ x=%d y=%d z=%d\n",​ i, x, y, z); 
-  } else { 
-  puts("​Fail!"​);​ 
-  } 
-  } 
-  printf("​Disable hyro #​%d\n",​ num); 
-  hyro_turn_off(num);​ 
-  } 
- 
-**6 Рекомендуемый код для проверки солнечных датчиков** 
- 
-  #include "​libschsat.h"​ 
-  ​ 
-  /* 
-  ** Lab 4: get a raw data from a sun sensor 
-  */ 
-  void control(void) 
-  { 
-  int i; 
-  const int num = 1; /* sun sensor #1 */ 
-    printf("​Enable sensor #​%d\n",​ num); 
-  sunsensor_turn_on(num);​ 
-    printf("​Get RAW data from sun sensor #​%d\n",​ num); 
-  for (i = 0; i < 10; i++) { 
-  uint16_t value; 
-  if (LSS_OK == sunsensor_request_raw(num,​ &​value)) { 
-  printf("​%d:​ raw=%d\n",​ i, value); 
-  } else { 
-  puts("​Fail!"​);​ 
-  } 
-  Sleep(1); 
-  } 
-  printf("​Disable sensor #​%d\n",​ num); 
-  sunsensor_turn_off(num);​ 
-  } 
- 
-**7 Рекомендуемый код для проверки управления маховиком** 
- 
- #include "​libschsat.h"​ 
- /* 
- ** Lab 5: manage motor'​s speed 
- */ 
- void control(void) 
- { 
- const int num = 1; /* motor number #1 */ 
- int16_t temp; 
- int16_t rpm = -3000; /* -3000 ... +3000 */ 
- printf("​Enable motor #​%d\n",​ num); 
- motor_turn_on(num);​ 
- printf("​Manage speed motor #​%d\n",​ num); 
- while (rpm <= 3000) { 
- printf("<<<​ Set speed to %d\n", rpm); 
- if (LSS_OK == motor_set_speed(num,​ rpm, &temp)) { 
- if (temp == rpm) 
- printf("​\t%d confirmed\n",​ rpm); 
- } 
- Sleep(1);​ 
- if (LSS_OK == motor_request_speed(num,​ &temp)) { 
- printf("​Got speed %d >>>​\n",​ temp); 
- } else { 
- puts("​Fail! >>>"​);​ 
- } 
- rpm += 500; 
- } 
- printf("<<<​ Set speed to 0\n"); 
- if (LSS_OK == motor_set_speed(num,​ 0, &temp)) { 
- if (temp == 0) 
- printf("​\t%d confirmed\n",​ 0); 
- } 
- Sleep(1); 
- if (LSS_OK == motor_request_speed(num,​ &temp)) { 
- printf("​Got speed %d >>>​\n",​ temp); 
- } else { 
- puts("​Fail! >>>"​);​ 
- } 
- Sleep(1); 
- motor_set_speed(num,​ 0, &temp); 
- Sleep(1); 
- printf("​Disable motor #​%d\n",​ num); 
- motor_turn_off(num);​ 
- } 
- 
-**8 Рекомендуемый код для проверки камеры и передатчика** 
- #include "​libschsat.h"​ 
-  
- /* 
- ** Lab 6: Camera capture demo 
- */ 
- void control(void) 
- { 
- int i; 
-  
- if (LSS_OK == camera_turn_on()) {  
- for (i = 1; i < 10; i++) { 
- printf("​Take photo #​%d\n",​ i); 
- if (camera_take_photo(i)) { 
- puts("​\tFail!"​);​ 
- } 
- } 
- } 
- else 
- puts("​\tFail!"​);​ 
-  
- printf("​Turn-on transmitter #​1\n"​);​ 
- if (LSS_OK == transmitter_turn_on(1)) { 
- for (i = 1; i < 10; i++) { 
- printf("​Transmit photo #​%d\n",​ i); 
- if (transmitter_transmit_photo(1,​ i)) { 
- puts("​\tFail!"​);​ 
- } 
- } 
- } else { 
- puts("​\tFail!"​);​ 
- } 
- printf("​Turn-off transmitter #​1\n"​);​ 
- if (transmitter_turn_off(1)) 
- puts("​\tFail!"​);​ 
- } 
- 
-**9 Рекомендуемый код для проверки передатчика телеметрии** 
- #include "​libschsat.h"​ 
- /* 
- ** Lab 9: UHF transceiver demo. 
- */ 
- void control(void) 
- {  
- const uint16_t tx_num = 2; 
- const uint16_t rx_num = 1; 
- const char hello[] = "​hello,​ world!";​ 
- printf("​Enable transceiver #​%d\n",​ tx_num); 
- transceiver_turn_on(tx_num);​ 
- Sleep(1); 
- bus_setup();​ 
- printf("​Send data from #%d to #​%d\n",​ tx_num, rx_num); 
- if (LSS_OK != transceiver_send(tx_num,​ rx_num, (uint8_t *) hello, sizeof(hello))) 
- puts("​Fail!"​);​ 
- printf("​Disable transceiver #​%d\n",​ tx_num); 
- transceiver_turn_off(tx_num);​ 
- return; 
- } 
recomendations.txt · Последние изменения: 2015/11/04 23:15 — admin