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; }
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; }
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; }