This shows you the differences between two versions of the page.
en:examples [2020/03/25 16:28] |
en:examples [2020/03/25 16:28] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | **1 Code recommended for checking the console and the web interface** | ||
+ | #include <stdio.h> | ||
+ | /* | ||
+ | ** Lab 1: hello, world! | ||
+ | */ | ||
+ | void control(void) | ||
+ | { | ||
+ | puts("hello, world!"); | ||
+ | } | ||
+ | |||
+ | **2 Code recommended for testing the magnetometer** | ||
+ | |||
+ | #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); | ||
+ | } | ||
+ | | ||
+ | **3 Code recommended for checking the AVS** | ||
+ | #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!"); | ||
+ | } | ||
+ | Sleep(1); | ||
+ | } | ||
+ | printf("Disable hyro #%d\n", num); | ||
+ | hyro_turn_off(num); | ||
+ | } | ||
+ | |||
+ | **4 Code recommended for testing solar sensors** | ||
+ | |||
+ | #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); | ||
+ | sun_sensor_turn_on(num); | ||
+ | printf("Get RAW data from sun sensor #%d\n", num); | ||
+ | for (i = 0; i < 10; i++) { | ||
+ | uint16_t value1; | ||
+ | uint16_t value2; | ||
+ | if (LSS_OK == sun_sensor_request_raw(num, &value1, &value2)) { | ||
+ | printf("%d: raw=%d ; %d\n", i, value1, value2); | ||
+ | } else { | ||
+ | puts("Fail!"); | ||
+ | } | ||
+ | Sleep(1); | ||
+ | } | ||
+ | printf("Disable sensor #%d\n", num); | ||
+ | sun_sensor_turn_off(num); | ||
+ | } | ||
+ | |||
+ | **5 Code recommended for checking the flywheel control** | ||
+ | |||
+ | #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); | ||
+ | } | ||
+ | |||
+ | **6 Code recommended for checking the camera and the transmitter** | ||
+ | #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!"); | ||
+ | } | ||
+ | |||
+ | **8 Code recommended for checking the fan engine** | ||
+ | |||
+ | #include "libschsat.h" | ||
+ | /* | ||
+ | ** Lab 8: manage fan motor's speed | ||
+ | */ | ||
+ | void control(void) | ||
+ | { | ||
+ | const int num = 1; /* motor number #1 */ | ||
+ | int16_t temp; | ||
+ | int16_t rpm = -3000; /* -3000 ... +3000 */ | ||
+ | printf("Enable fan #%d\n", num); | ||
+ | fan_turn_on(num); | ||
+ | printf("Manage speed fan motor #%d\n", num); | ||
+ | while (rpm <= 3000) { | ||
+ | printf("<<< Set speed to %d\n", rpm); | ||
+ | if (LSS_OK == fan_set_speed(num, rpm, &temp)) { | ||
+ | if (temp == rpm) | ||
+ | printf("\t%d confirmed\n", rpm); | ||
+ | } | ||
+ | Sleep(1); | ||
+ | if (LSS_OK == fan_request_speed(num, &temp)) { | ||
+ | printf("Got speed %d >>>\n", temp); | ||
+ | } else { | ||
+ | puts("Fail! >>>"); | ||
+ | } | ||
+ | rpm += 500; | ||
+ | } | ||
+ | printf("<<< Set fan speed to 0\n"); | ||
+ | if (LSS_OK == fan_set_speed(num, 0, &temp)) { | ||
+ | if (temp == 0) | ||
+ | printf("\t%d confirmed\n", 0); | ||
+ | } | ||
+ | Sleep(1); | ||
+ | if (LSS_OK == fan_request_speed(num, &temp)) { | ||
+ | printf("Got fan speed %d >>>\n", temp); | ||
+ | } else { | ||
+ | puts("Fail! >>>"); | ||
+ | } | ||
+ | Sleep(1); | ||
+ | fan_set_speed(num, 0, &temp); | ||
+ | Sleep(1); | ||
+ | printf("Disable fan motor #%d\n", num); | ||
+ | fan_turn_off(num); | ||
+ | } | ||
+ | |||
+ | **9 Code recommended for checking the telemetry transmitter** | ||
+ | |||
+ | #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; | ||
+ | } | ||
+ | |||
+ | **10 Code recommended for testing coils** | ||
+ | |||
+ | #include "libschsat.h" | ||
+ | /* | ||
+ | ** Lab 10: manage coil | ||
+ | */ | ||
+ | void control(void) | ||
+ | { | ||
+ | const int num = 0; /* coil number #0 */ | ||
+ | int16_t temp; | ||
+ | int16_t pwm = -32000; /* -32000 ... +32000 */ | ||
+ | printf("Enable coil #%d\n", num); | ||
+ | coil_turn_on(num); | ||
+ | printf("Manage coil #%d\n", num); | ||
+ | Sleep(1); | ||
+ | while (pwm <= 32000) { | ||
+ | printf("<<< Set value to %d\n", pwm); | ||
+ | if (LSS_OK == coil_set_value(num, pwm, &temp)) { | ||
+ | if (temp == pwm) | ||
+ | printf("\t%d confirmed\n", pwm); | ||
+ | } | ||
+ | mSleep(100); | ||
+ | pwm += 1000; | ||
+ | } | ||
+ | Sleep(1); | ||
+ | printf("<<< Set value to 0\n"); | ||
+ | if (LSS_OK == coil_set_value(num, 0, &temp)) { | ||
+ | if (temp == 0) | ||
+ | printf("\t%d confirmed\n", 0); | ||
+ | } | ||
+ | Sleep(1); | ||
+ | printf("Disable coil #%d\n", num); | ||
+ | coil_turn_off(num); | ||
+ | } |