Ejemplo n.º 1
0
void radio_cfg() {
   IRQ_ENABLE;
   at_config();
   tx_chan = CHANNEL;
   rx_chan = CHANNEL;
   at_rxmode(rx_chan);

   //here is the antenna diversity stuff
   char reg_old_div;
   char reg_old_ctrl;
   reg_old_div = at_get_reg(RG_ANT_DIV);
   reg_old_ctrl = at_get_reg(RG_RX_CTRL);

   //without diversity:
   //reg_old_div |= 0x05; //use antenna 1 On-chip 60,56
   reg_old_div |= 0x06; //use antenna 0 Coax 57,57

   reg_old_ctrl |= 0x07; //no matter which antenna is used

   //with diversity:
   //reg_old_div |= 0x0d; //use antenna diversity
   //reg_old_ctrl |= 0x03; //recommended value when using antenna diversity*/

   at_set_reg(RG_ANT_DIV, reg_old_div);
   at_set_reg(RG_RX_CTRL, reg_old_ctrl);

   cmd_mode         = CMD_MODE_SPIN;
   cmd_mode_changed = 0;
   cmd_ledmode       = CMD_LEDMODE_CNT;
   return;
}
Ejemplo n.º 2
0
char *set_config(char *message, const char *name, const char *value)
{
    pthread_mutex_lock(&m_atcommand);
    cpt_seq++;
    at_config(message, cpt_seq, name, value);
    if (send_message(message, at_socket) != 0)
        printf("[FAILED] Message sending failed\n");
    pthread_mutex_unlock(&m_atcommand);
    return message;
}
Ejemplo n.º 3
0
int main ()
{
	char message [512];
	int n = 1;
	int tps = 1;
	int wait =1;
	/*
	//handle the ctrl -c to make the drone land
	struct sigaction act;
	memset(&act,0,sizeof(act));
	act.sa_handler = intHandler;
	sigaction(SIGINT, &act, NULL);
	*/

    if (init_socket() != 0)
    {
        printf("[FAILED] Socket initialization failed\n");
    }
    else //complex_move(...;float roll_power, float pitch_power, float vertical_power, float yaw_power)
    {
		sleep(1);
    	printf("demarrage\n");
		set_trim(message, n++, wait);
		
		while(tps < 167)
		{
			take_off(message, n++, wait);
			tps++;
		}
		tps = 0;
		
		//test de fonction
		at_config(message, n++, "pic:ultrasound_freq","2");
		
		//while(tps < 133)
		//while(1)
		while(keepRunning)
		{
			reset_com(message, wait);
	 		tps++;
		}
		tps = 0;
/*
        printf("debut commande\n");

		while(tps < 500)
		{
			//go front and up and turning clockwise			
			set_complex_move(message,n++,0,-0.05,0.1,0.05,wait);
			tps++;
		}
		tps = 0;

		set_complex_move(message, n++,0,0,0,0,wait);
		while(tps < 133)
		{
			reset_com(message,wait);
	 		tps++;
		}
		tps = 0;
*/
		landing(message, n++,wait);
		sleep(1);

	}
    close(sockfd);
	return 0;
}