void set_aircaft_preparing_status(unsigned char *buf) { FILE *fp; int i; memcpy((uint8*)(&aircraft_preparing_status), buf, sizeof(aircraft_preparing_status)); update_setting_status(&aircraft_preparing_status); if((fp=fopen(HELI_CONFIGURATION,"w+"))==NULL){ printf("can not open heli configuration file\n"); return ; } for(i=0;i<11;i++) fprintf(fp,"%u,",*(((uint8*)&aircraft_preparing_status)+i)); fclose(fp); switch(aircraft_preparing_status.o_fp){ case SERVO_PWM_PERIOD_20: set_servo_pwm_period(20000); break; case SERVO_PWM_PERIOD_14: set_servo_pwm_period(14000); break; case SERVO_PWM_PERIOD_7: set_servo_pwm_period(7000); break; case SERVO_PWM_PERIOD_3: set_servo_pwm_period(3031); break; default: break; } printf("------------------heli config----------------------\n"); printf("heli type:%4d ,oil_m :%4d\n",aircraft_preparing_status.h_tp,aircraft_preparing_status.om); printf("fuel_cons:%4d , cp_tp:%4d\n",aircraft_preparing_status.fc,gsfstate.CP_tp); printf("servo_fre:%4d , tg:%4d\n",aircraft_preparing_status.o_fp,gsfstate.tg); printf(" max_v:%4d , gps_tp:%4d\n",gsfstate.max_v,aircraft_preparing_status.g_tp); printf(" radar:%4d , rsv1:%4d\n",gsfstate.radar,aircraft_preparing_status.reserved1); printf(" rsv2:%4d\n",aircraft_preparing_status.reserved2); }
static void heli_configuration_init() { FILE *fp_heli_config; uint32 buf[11]; int i; if((fp_heli_config=fopen(HELI_CONFIGURATION,"r"))==NULL){ printf("can not open heli configuration file\n"); return ; } for(i=0;i<11;i++){ if(fscanf(fp_heli_config,"%u,",buf+i)==EOF){ print_err("heli configuration file error\n"); fclose(fp_heli_config); return; } } fclose(fp_heli_config); for(i=0;i<11;i++) *((uint8*)(&aircraft_preparing_status)+i)=(uint8)(buf[i]&0xff); update_setting_status(&aircraft_preparing_status); switch(aircraft_preparing_status.o_fp){ case SERVO_PWM_PERIOD_20: set_servo_pwm_period(20000); break; case SERVO_PWM_PERIOD_14: set_servo_pwm_period(14000); break; case SERVO_PWM_PERIOD_7: set_servo_pwm_period(7000); break; case SERVO_PWM_PERIOD_3: set_servo_pwm_period(3031); break; default: break; } }
void set_aircaft_preparing_status(unsigned char *buf) { memcpy((uint8*)(&aircraft_preparing_status), buf, sizeof(aircraft_preparing_status)); update_setting_status(&aircraft_preparing_status); }