User Tools

Translations of this page:

Site Tools


en:examples

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);
}
en/examples.txt · Last modified: 2020/03/25 16:28 (external edit)