Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 67 → Rev 68

/mkset/branches/V0.02/main.c
0,0 → 1,82
/* First version by Bjoern Biesenbach <bjoern@bjoern-b.de> */
 
#include <stdio.h>
#include <stdlib.h>
#include "iniparser/src/iniparser.h"
#include "iniparser/src/dictionary.h"
#include "paramSet.h"
#include "main.h"
#include "serial.h"
 
int main(int argv, char *argc[])
{
dictionary *d;
if(argv != 4)
{
printf("\nUsage: ./mkset <setting_file> <setting> <serial_port>\n\n\n");
printf("\t Example: ./mkset Default.mkp 1 /dev/ttyS0\n\n");
exit(2);
}
d = iniparser_load(argc[1]);
strcpy(Param.Name, (iniparser_getstr(d,"Setup:Name")));
if(Param.Name=="")
strcpy(Param.Name,"<unnamed>");
Param.Kanalbelegung[0] = iniparser_getint(d,"Channels:Gas", 3);
Param.Kanalbelegung[1] = iniparser_getint(d,"Channels:Gier", 4);
Param.Kanalbelegung[2] = iniparser_getint(d,"Channels:Nick", 1);
Param.Kanalbelegung[3] = iniparser_getint(d,"Channels:Roll", 2);
Param.Kanalbelegung[4] = iniparser_getint(d,"Channels:Poti_1", 5);
Param.Kanalbelegung[5] = iniparser_getint(d,"Channels:Poti_2", 6);
Param.Kanalbelegung[6] = iniparser_getint(d,"Channels:Poti_3", 7);
Param.Kanalbelegung[7] = iniparser_getint(d,"Channels:Poti_4", 8);
Param.GlobalConfig = iniparser_getint(d,"Setup:GlobalConfig", 0);
Param.Stick_P = iniparser_getint(d,"Stick:Nick_Roll-P", 4);
Param.Stick_D = iniparser_getint(d,"Stick:Nick_Roll-D", 8);
Param.Gier_P = iniparser_getint(d,"Stick:Gier-P", 16);
Param.MaxHoehe = iniparser_getint(d,"Altitude:Setpoint", 251);
Param.Hoehe_MinGas = iniparser_getint(d,"Altitude:MinGas", 30);
Param.Hoehe_P = iniparser_getint(d,"Altitude:P", 10);
Param.Luftdruck_D = iniparser_getint(d,"Altitude:Barometric-D", 90);
Param.Hoehe_ACC_Wirkung = iniparser_getint(d,"Altitude:Z-ACC-Effect",15);
Param.Hoehe_Verstaerkung = iniparser_getint(d,"Altitude:Gain", 2);
Param.Gyro_P = iniparser_getint(d,"Gyro:P", 120);
Param.Gyro_I = iniparser_getint(d,"Gyro:I", 150);
Param.GyroAccFaktor = iniparser_getint(d,"Gyro:ACC_Gyro-Factor", 26);
Param.I_Faktor = iniparser_getint(d,"Gyro:Main-I", 5);
Param.Gas_Min = iniparser_getint(d,"Others:MinGas",15);
Param.Gas_Max = iniparser_getint(d,"Others:MaxGas",250);
Param.KompassWirkung = iniparser_getint(d,"Others:Compass-Effect",128);
Param.UnterspannungsWarnung = iniparser_getint(d,"Others:UnderVoltage",90);
Param.NotGas = iniparser_getint(d,"Others:NotGas",35);
Param.NotGasZeit = iniparser_getint(d,"Others:NotGasTime",20);
Param.UserParam1 = iniparser_getint(d,"User:Parameter_1",0);
Param.UserParam2 = iniparser_getint(d,"User:Parameter_2",0);
Param.UserParam3 = iniparser_getint(d,"User:Parameter_3",0);
Param.UserParam4 = iniparser_getint(d,"User:Parameter_4",0);
Param.ServoNickControl = iniparser_getint(d,"Camera:ServoNickControl",252);
Param.ServoNickComp = iniparser_getint(d,"Camera:ServoNickCompensation",100);
Param.ServoNickCompInvert = iniparser_getboolean(d,"Camera:ServoNickInvert",0);
Param.ServoNickMin = iniparser_getint(d,"Camera:ServoNickMin",0);
Param.ServoNickMax = iniparser_getint(d,"Camera:ServoNickMax",250);
Param.ServoNickRefresh = iniparser_getint(d,"Camera:ServoNickRefreshRate",50);
initSerial(argc[3]);
 
SendOutData('l'+(atoi(argc[2])-1), 1, &Param, sizeof(Param));
iniparser_freedict(d);
return EXIT_SUCCESS;
}