/DUBwise/tags/v0.51/misc/firmware_prepare/hex2bin.rb |
---|
0,0 → 1,35 |
require 'rio' |
plain_str="" |
rio(ARGV[0]).read.each_line {|l| |
# plain_str << l[11..-3].delete("\n\r") |
puts l |
l.delete!("\n\r") |
plain_str<< l[9,(l.length-11)] |
puts ">"+ l[9,(l.length-11)] |
} |
puts plain_str.length/2.0 |
#return |
new = [] |
(plain_str.length/2).times {|i| |
new << (plain_str[(i*2)..(i*2+1)].to_i(16)) |
} |
foo=rio(ARGV[1]) |
foo.write( ((new.length >> 24 )&0xff).chr) |
foo.write( ((new.length >> 16 )&0xff).chr) |
foo.write( ((new.length >> 8 )&0xff).chr) |
foo.write( ((new.length&0xff)).chr) |
new.each { |c| |
foo.write( c.chr) |
} |
puts new.length |
/DUBwise/tags/v0.51/misc/firmware_prepare/prepare_all.rb |
---|
0,0 → 1,24 |
Dir["*.hex"].each { |f| |
case |
when f=~ /Navi/ |
`ruby hex2bin.rb #{f} /home/ligi/prj/DUBwise/j2me/res/firmwares/all_firmwares/navi.bin` |
p "written nc" |
when f =~ /Flight/ |
`ruby hex2bin.rb #{f} /home/ligi/prj/DUBwise/j2me/res/firmwares/all_firmwares/fc.bin` |
p "written fc" |
when f =~ /MK3Ma/ |
`ruby hex2bin.rb #{f} /home/ligi/prj/DUBwise/j2me/res/firmwares/all_firmwares/mk3.bin` |
p "written mk3" |
else |
p "cant handle" + f |
end |
} |
/DUBwise/tags/v0.51/misc/messenger.rb |
---|
0,0 → 1,135 |
# mailto: ligi atttt ligi dotttt de |
require 'socket' |
require 'fcntl' |
class IPSocket |
def portInfo(out = STDOUT) |
out.puts "local: #{addr[1]}\n" + |
"remote: #{peeraddr[1]}" |
end |
end |
if ARGV.length!=1 || !ARGV[0].include?(":") |
puts "USAGE:" |
puts "$> ruby messenger.rb [ip:port]" |
puts "" |
puts "using default address" |
host="0" |
port=9876 |
else |
host=ARGV[0].split(":").first |
port=ARGV[0].split(":").last.to_i |
end |
puts "starting server at ip " + host + " port:" + port.to_s |
serverSocket = TCPServer.new(host,port) |
slots={ } |
server = Thread.start { |
while (clientSocket = serverSocket.accept) |
Thread.start { |
clientSocket_= clientSocket |
clientSocket_.portInfo |
while true |
begin |
command=clientSocket_.gets |
puts command |
case |
when command =~ /new/ |
clientSocket_.puts "new" |
if slots[command.delete("\r\n").split(":").last].nil? |
slots[command.delete("\r\n").split(":").last]={:from=>clientSocket_ , :to=>nil} |
break |
else |
clientSocket_.puts "slot exists" |
end |
when command =~ /conn/ |
case |
when slots[command.delete("\r\n").split(":").last].nil? |
clientSocket_.puts "slot not found" |
when !slots[command.delete("\r\n").split(":").last][:to].nil? |
clientSocket_.puts "slot has partner" |
else |
clientSocket_.puts "conn" |
slots[command.delete("\r\n").split(":").last][:to]=clientSocket_ |
break |
end |
when command =~ /all/ |
# clientSocket_.puts slots.keys |
if slots=={} |
clientSocket_.puts "none" |
else |
slots.keys.each_with_index {|slot,i| |
clientSocket_.puts i.to_s + " | " + slot + ((slots[slot][:to].nil?)?"| free":"| connected") |
} |
end |
else |
clientSocket_.puts "Unknown command" |
end |
rescue =>e |
puts "err" + e |
end |
end |
} |
end |
} |
while true |
slots.each { |slot_name,hash| |
#puts " processing " + slot_name |
if !hash[:to].nil? |
begin |
got=hash[:to].read_nonblock(3000) |
puts slot_name +"<"+ got |
hash[:from].write got |
hash[:to].flush |
rescue Errno::EAGAIN => e |
rescue =>e |
slots[slot_name][:to]=nil |
p e |
end |
end |
begin |
got=hash[:from].read_nonblock(3000) |
puts slot_name +">"+ got |
hash[:to].write got if !hash[:to].nil? |
hash[:to].flush if !hash[:to].nil? |
rescue Errno::EAGAIN => e |
rescue =>e |
hash[:to].close if !hash[:to].nil? |
slots.delete(slot_name) |
p e |
end |
# |
} |
sleep 0.00005 |
end |
/DUBwise/tags/v0.51/misc/pc-komp-ref/definitions |
---|
0,0 → 1,299 |
--Kanalbelegung[8] |
to_cat("Channels", [ |
{:pos=>act_pos , :name=>"Nick" , :typ=>"STICK" }, |
{:pos=>act_pos+1 , :name=>"Roll" , :typ=>"STICK" }, |
{:pos=>act_pos+2 , :name=>"Accelerate" , :typ=>"STICK" }, |
{:pos=>act_pos+3 , :name=>"Gier" , :typ=>"STICK" }, |
{:pos=>act_pos+4 , :name=>"POTI1" , :typ=>"STICK" }, |
{:pos=>act_pos+5 , :name=>"POTI2" , :typ=>"STICK" }, |
{:pos=>act_pos+6 , :name=>"POTI3" , :typ=>"STICK" }, |
{:pos=>act_pos+7 , :name=>"POTI4" , :typ=>"STICK" }, |
]) |
act_pos+=8 |
--GlobalConfigOld; |
to_cat("Configuration", [ |
{:pos=>act_pos*8 , :name=>"ALTITUDE_CONTROL" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+1 , :name=>"Switch for Setpoint" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+2 , :name=>"Heading Hold" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+3 , :name=>"Compas Active" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+5 , :name=>"GPS" , :typ=>"BITSWITCH" }, |
]) |
act_pos+=1 |
--GlobalConfig; |
to_cat("Configuration", [ |
{:pos=>act_pos*8 , :name=>"ALTITUDE_CONTROL" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+1 , :name=>"Switch for Setpoint" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+2 , :name=>"Heading Hold" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+3 , :name=>"Compas Active" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+4 , :name=>"Compas Fix" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+5 , :name=>"GPS" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+6 , :name=>"Coupling" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+7 , :name=>"Yaw Rate Limiter" , :typ=>"BITSWITCH" } |
]) |
act_pos+=1 |
--Hoehe_MinGas; |
to_cat("Altitude", [{ :pos=>act_pos , :name=>"Min. Accelerate" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Luftdruck_D; |
to_cat("Altitude", [{ :pos=>act_pos , :name=>"Barometric D" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--MaxHoehe; |
to_cat("Altitude", [{ :pos=>act_pos , :name=>"Setpoint" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Hoehe_P; |
to_cat("Altitude", [{ :pos=>act_pos , :name=>"Altitude P" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Hoehe_Verstaerkung; |
to_cat("Altitude", [{ :pos=>act_pos , :name=>"Gain" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Hoehe_ACC_Wirkung; |
to_cat("Altitude", [{ :pos=>act_pos , :name=>"Z-ACC" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Stick_P; |
to_cat("Stick", [{ :pos=>act_pos , :name=>"Nick/Roll P" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Stick_D; |
to_cat("Stick", [{ :pos=>act_pos , :name=>"Nick/Roll D" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Gier_P; |
to_cat("Stick", [{ :pos=>act_pos , :name=>"Gier P" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Gas_Min; |
to_cat("Other", [{ :pos=>act_pos , :name=>"Min Gas" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Gas_Max; |
to_cat("Other", [{ :pos=>act_pos , :name=>"Max Gas" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--GyroAccFaktor; |
to_cat("Gyro", [{ :pos=>act_pos , :name=>"ACC/Gyro Factor" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--KompassWirkung; |
to_cat("Other", [{ :pos=>act_pos , :name=>"Compass Effect" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Gyro_P; |
to_cat("Gyro", [{ :pos=>act_pos , :name=>"P-Rate" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Gyro_I; |
to_cat("Gyro", [{ :pos=>act_pos , :name=>"I-Rate" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Gyro_D; |
to_cat("Gyro", [{ :pos=>act_pos , :name=>"D-Rate" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--UnterspannungsWarnung; |
to_cat("Other", [{ :pos=>act_pos , :name=>"Voltage Warning" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NotGas; |
to_cat("Other", [{ :pos=>act_pos , :name=>"Distress Gas" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NotGasZeit; |
to_cat("Other", [{ :pos=>act_pos , :name=>"Distress Gas Time" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--UfoAusrichtung; |
act_pos+=1 |
--I_Faktor; |
act_pos+=1 |
--UserParam1; |
to_cat("User", [{ :pos=>act_pos , :name=>"Param 1" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--UserParam2; |
to_cat("User", [{ :pos=>act_pos , :name=>"Param 2" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--UserParam3; |
to_cat("User", [{ :pos=>act_pos , :name=>"Param 3" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--UserParam4; |
to_cat("User", [{ :pos=>act_pos , :name=>"Param 4" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--ServoNickControl; |
to_cat("Camera", [{ :pos=>act_pos , :name=>"Servo control" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--ServoNickComp; |
to_cat("Camera", [{ :pos=>act_pos , :name=>"Nick compensation" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--ServoNickMin; |
to_cat("Camera", [{ :pos=>act_pos , :name=>"Servo min" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--ServoNickMax; |
to_cat("Camera", [{ :pos=>act_pos , :name=>"Servo max" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--ServoNickRefresh; |
to_cat("Camera", [{ :pos=>act_pos , :name=>"Refresh rate" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--LoopGasLimit; |
to_cat("Looping", [{ :pos=>act_pos , :name=>"Gas Limit" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--LoopThreshold; |
to_cat("Looping", [{ :pos=>act_pos , :name=>"Threshold" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--LoopHysterese; |
to_cat("Looping", [{ :pos=>act_pos , :name=>"Hysterese" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--AchsKopplung1; |
to_cat("Coupling", [{ :pos=>act_pos , :name=>"Yaw pos. feedback" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--AchsKopplung2; |
to_cat("Coupling", [{ :pos=>act_pos , :name=>"Coupling2" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--CouplingYawCorrection; |
to_cat("Coupling", [{ :pos=>act_pos , :name=>"Coupling YawCorrect" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--AchsGegenKopplung1; |
to_cat("Coupling", [{ :pos=>act_pos , :name=>"Yaw neg. feedback" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--WinkelUmschlagNick; |
to_cat("Looping", [{ :pos=>act_pos , :name=>"TurnOver Nick" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--WinkelUmschlagRoll; |
to_cat("Looping", [{ :pos=>act_pos , :name=>"TurnOver Roll" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--GyroAccAbgleich; |
to_cat("Gyro", [{ :pos=>act_pos , :name=>"ACC/Gyro Comp" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Driftkomp; |
to_cat("Gyro", [{ :pos=>act_pos , :name=>"Drift-Compensation" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--DynamicStability; |
to_cat("Gyro", [{ :pos=>act_pos , :name=>"Dynamic stability" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--UserParam5; |
to_cat("User", [{ :pos=>act_pos , :name=>"Param 5" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--UserParam6; |
to_cat("User", [{ :pos=>act_pos , :name=>"Param 6" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--UserParam7; |
to_cat("User", [{ :pos=>act_pos , :name=>"Param 7" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--UserParam8; |
to_cat("User", [{ :pos=>act_pos , :name=>"Param 8" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--LoopConfig; |
to_cat("Looping", [ |
{:pos=>act_pos*8 , :name=>"UP" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+1 , :name=>"DOWN" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+2 , :name=>"LEFT" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+3 , :name=>"RIGHT" , :typ=>"BITSWITCH" } |
]) |
act_pos+=1 |
--ServoNickCompInvert; |
to_cat("Camera", [{ :pos=>act_pos*8 , :name=>"Invert Direction" , :typ=>"BITSWITCH" }] ) |
act_pos+=1 |
--J16Bitmask; |
to_cat("Output", [{ :pos=>act_pos , :name=>"J16 Bitmask" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--J16Timing; |
to_cat("Output", [{ :pos=>act_pos , :name=>"J16 Timing" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--J17Bitmask; |
to_cat("Output", [{ :pos=>act_pos , :name=>"J17 Bitmask" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--J17Timing; |
to_cat("Output", [{ :pos=>act_pos , :name=>"J17 Timing" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviGpsModeControl; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"Mode Control" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviGpsGain; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"GPS-Gain" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviGpsP; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"GPS-P" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviGpsPLimit; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"GPS-P Limit" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviGpsI; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"GPS-I" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviGpsILimit; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"GPS-I Limit" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviGpsD; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"GPS-D" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviGpsDLimit; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"GPS-D Limit" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviGpsACC; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"GPS-ACC" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviGpsMinSat; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"Satelite Minimum" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviStickThreshold; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"Stick Threhsold" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--ExternalControl; |
to_cat("Stick", [{ :pos=>act_pos , :name=>"External Control" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviWindCorrection; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"Wind Correction" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviSpeedCompensation; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"Speed Compensation" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--NaviOperatingRadius; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"Operating Radius" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--BitConfig; |
to_cat("Looping", [ |
{:pos=>act_pos*8 , :name=>"UP" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+1 , :name=>"DOWN" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+2 , :name=>"LEFT" , :typ=>"BITSWITCH" }, |
{:pos=>act_pos*8+3 , :name=>"RIGHT" , :typ=>"BITSWITCH" } |
]) |
to_cat("Altitude", [ |
{:pos=>act_pos*8+4 , :name=>"3-Way switch" , :typ=>"BITSWITCH" } |
]) |
act_pos+=1 |
--NaviAngleLimitation; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"Angle Limit" , :typ=>"BYTE" }] ) |
act_pos+=1 |
--Reserved[4] |
act_pos+=4 |
--Reserved[7] |
act_pos+=7 |
--Name[12] |
name_pos=act_pos |
act_pos+=12 |
end_pos=act_pos |
--NaviPH_LoginTime; |
to_cat("Navi", [{ :pos=>act_pos , :name=>"PH LoginTime" , :typ=>"BYTE" }] ) |
act_pos+=1 |
/DUBwise/tags/v0.51/misc/pc-komp-ref/generate.rb |
---|
0,0 → 1,124 |
require 'rio' |
all_tabs=[] |
all_names=[] |
all_positions=[] |
all_types=[] |
all_namestarts=[] |
all_lengths=[] |
function_hash={} |
act_name="" |
rio("definitions").read.each_line { |line| |
if line =~ /--/ |
act_name=line.split("--")[1].delete!("\r\n") |
function_hash[act_name]="" |
else |
function_hash[act_name] << line |
end |
} |
#puts function_hash.inspect |
#exit |
Dir["header_files/*.h"].sort.each { |e| |
puts "----------------" + e |
new="" |
start=false |
rio(e).each_line { |l| |
start=true if l =~ /struct\r/ |
start=true if l =~ /struct\n/ |
start=false if l =~ /\}/ |
if (l =~ /;/ ) && start |
new << l |
end |
} |
act_pos=0 |
name_pos=0 |
end_pos=0 |
@categorys=[] |
@category={} |
def to_cat(name,items) |
@categorys << name |
@category[name]=[] if !@category[name] |
@category[name] |= items |
end |
new.each_line { |l| |
found=false |
function_hash.each_pair { |k,v| |
if l.scan(k)!=[] |
found=true |
p "found" + k |
puts v |
puts act_pos |
instance_eval(v) |
end |
} |
if !found |
p "Fatal: line not found " + l |
p "stopping process" |
exit |
end |
} |
#p @category |
@categorys.uniq! |
@categorys.sort! |
all_tabs << ["{\"" + @categorys.join("\",\"") + "\"}"] |
puts "[\"" + @categorys.join("\",\"") + "\"]" |
all_names << ["{"+@categorys.map { |c| |
"{\"" + @category[c].map { |e| |
e[:name] |
}.join("\",\"") + "\"}" |
}.join(",")+"}"] |
all_positions << ["{"+@categorys.map { |c| |
"{" + @category[c].map { |e| |
e[:pos] |
}.join(",") + "}" |
}.join(",")+"}"] |
all_types << ["{"+ @categorys.map { |c| |
"{PARAMTYPE_" + @category[c].map { |e| |
e[:typ] |
}.join(",PARAMTYPE_") + "}" |
}.join(",") + "}"] |
all_namestarts << name_pos |
all_lengths << end_pos |
#rio(e+".new") <new |
} |
puts "// -- start generated code --" |
puts "public final static int PARAMTYPE_BYTE=0;" |
puts "public final static int PARAMTYPE_BITSWITCH=1;" |
puts "public final static int PARAMTYPE_STICK=2;" |
puts "public final static String[][] all_tab_names={"+all_tabs.join(",")+"};" |
puts "public final static String[][][] all_field_names={"+all_names.join(",")+"};" |
puts "public final static int[][][] all_field_positions={"+all_positions.join(",")+"};" |
puts "public final static int[][][] all_field_types={"+all_types.join(",")+"};" |
puts "public final static int[] all_name_positions={"+all_namestarts.join(",")+"};" |
puts "public final static int[] all_lengths={"+all_lengths.join(",")+"};" |
puts "// -- end generated code --" |
/DUBwise/tags/v0.51/misc/pc-komp-ref/header_files/73.h |
---|
0,0 → 1,170 |
/*####################################################################################### |
Flight Control |
#######################################################################################*/ |
#ifndef _FC_H |
#define _FC_H |
//#define GIER_GRAD_FAKTOR 1450L // Abhängigkeit zwischen GyroIntegral und Winkel |
//#define GIER_GRAD_FAKTOR 1550L // Abhängigkeit zwischen GyroIntegral und Winkel |
#define GIER_GRAD_FAKTOR 1291L // Abhängigkeit zwischen GyroIntegral und Winkel |
#define STICK_GAIN 4 |
#define FLAG_MOTOR_RUN 1 |
#define FLAG_FLY 2 |
#define FLAG_CALIBRATE 4 |
#define FLAG_START 8 |
extern unsigned char MikroKopterFlags; |
extern volatile unsigned int I2CTimeout; |
extern unsigned char Sekunde,Minute; |
extern long IntegralNick,IntegralNick2; |
extern long IntegralRoll,IntegralRoll2; |
extern long Mess_IntegralNick,Mess_IntegralNick2; |
extern long Mess_IntegralRoll,Mess_IntegralRoll2; |
extern long IntegralAccNick,IntegralAccRoll; |
extern volatile long Mess_Integral_Hoch; |
extern long Integral_Gier,Mess_Integral_Gier,Mess_Integral_Gier2; |
extern volatile int KompassValue; |
extern volatile int KompassStartwert; |
extern volatile int KompassRichtung; |
extern long ErsatzKompass; |
extern int ErsatzKompassInGrad; // Kompasswert in Grad |
extern int HoehenWert; |
extern int SollHoehe; |
extern volatile int MesswertNick,MesswertRoll,MesswertGier; |
extern int AdNeutralNick,AdNeutralRoll,AdNeutralGier, Mittelwert_AccNick, Mittelwert_AccRoll; |
extern int NeutralAccX, NeutralAccY,Mittelwert_AccHoch; |
extern volatile float NeutralAccZ; |
extern long Umschlag180Nick, Umschlag180Roll; |
extern signed int ExternStickNick,ExternStickRoll,ExternStickGier; |
extern unsigned char Parameter_UserParam1,Parameter_UserParam2,Parameter_UserParam3,Parameter_UserParam4,Parameter_UserParam5,Parameter_UserParam6,Parameter_UserParam7,Parameter_UserParam8; |
extern int NaviAccNick,NaviAccRoll,NaviCntAcc; |
extern unsigned int modell_fliegt; |
void MotorRegler(void); |
void SendMotorData(void); |
void CalibrierMittelwert(void); |
void Mittelwert(void); |
void SetNeutral(void); |
void Piep(unsigned char Anzahl); |
extern void DefaultKonstanten(void); |
void DefaultKonstanten1(void); |
void DefaultKonstanten2(void); |
extern unsigned char h,m,s; |
extern volatile unsigned char Timeout ; |
extern unsigned char CosinusNickWinkel, CosinusRollWinkel; |
extern volatile int DiffNick,DiffRoll; |
extern int Poti1, Poti2, Poti3, Poti4; |
extern volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
extern volatile unsigned char SenderOkay; |
extern int StickNick,StickRoll,StickGier; |
extern char MotorenEin; |
extern void DefaultKonstanten1(void); |
extern void DefaultKonstanten2(void); |
#define STRUCT_PARAM_LAENGE 86 |
struct mk_param_struct |
{ |
unsigned char Kanalbelegung[8]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
unsigned char Hoehe_MinGas; // Wert : 0-100 |
unsigned char Luftdruck_D; // Wert : 0-250 |
unsigned char MaxHoehe; // Wert : 0-32 |
unsigned char Hoehe_P; // Wert : 0-32 |
unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
unsigned char Stick_P; // Wert : 1-6 |
unsigned char Stick_D; // Wert : 0-64 |
unsigned char Gier_P; // Wert : 1-20 |
unsigned char Gas_Min; // Wert : 0-32 |
unsigned char Gas_Max; // Wert : 33-250 |
unsigned char GyroAccFaktor; // Wert : 1-64 |
unsigned char KompassWirkung; // Wert : 0-32 |
unsigned char Gyro_P; // Wert : 10-250 |
unsigned char Gyro_I; // Wert : 0-250 |
unsigned char UnterspannungsWarnung; // Wert : 0-250 |
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
unsigned char UfoAusrichtung; // X oder + Formation |
unsigned char I_Faktor; // Wert : 0-250 |
unsigned char UserParam1; // Wert : 0-250 |
unsigned char UserParam2; // Wert : 0-250 |
unsigned char UserParam3; // Wert : 0-250 |
unsigned char UserParam4; // Wert : 0-250 |
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
unsigned char ServoNickRefresh; // |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
unsigned char AchsGegenKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick Gegenkoppelt (NickRollGegenkopplung) |
unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
unsigned char Driftkomp; |
unsigned char DynamicStability; |
unsigned char UserParam5; // Wert : 0-250 |
unsigned char UserParam6; // Wert : 0-250 |
unsigned char UserParam7; // Wert : 0-250 |
unsigned char UserParam8; // Wert : 0-250 |
//---Output --------------------------------------------- |
unsigned char J16Bitmask; // for the J16 Output |
unsigned char J16Timing; // for the J16 Output |
unsigned char J17Bitmask; // for the J17 Output |
unsigned char J17Timing; // for the J17 Output |
//---NaviCtrl--------------------------------------------- |
unsigned char NaviGpsModeControl; // Parameters for the Naviboard |
unsigned char NaviGpsGain; |
unsigned char NaviGpsP; |
unsigned char NaviGpsI; |
unsigned char NaviGpsD; |
unsigned char NaviGpsACC; |
unsigned char NaviGpsMinSat; |
unsigned char NaviStickThreshold; |
unsigned char NaviWindCorrection; |
unsigned char NaviSpeedCompensation; |
unsigned char NaviOperatingRadius; |
unsigned char NaviAngleLimitation; |
//---Ext.Ctrl--------------------------------------------- |
unsigned char ExternalControl; // for serial Control |
//------------------------------------------------ |
unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char Reserved[4]; |
char Name[12]; |
}; |
extern struct mk_param_struct EE_Parameter; |
extern unsigned char Parameter_Luftdruck_D; |
extern unsigned char Parameter_MaxHoehe; |
extern unsigned char Parameter_Hoehe_P; |
extern unsigned char Parameter_Hoehe_ACC_Wirkung; |
extern unsigned char Parameter_KompassWirkung; |
extern unsigned char Parameter_Gyro_P; |
extern unsigned char Parameter_Gyro_I; |
extern unsigned char Parameter_Gier_P; |
extern unsigned char Parameter_ServoNickControl; |
extern unsigned char Parameter_AchsKopplung1; |
extern unsigned char Parameter_AchsGegenKopplung1; |
extern unsigned char Parameter_J16Bitmask; // for the J16 Output |
extern unsigned char Parameter_J16Timing; // for the J16 Output |
extern unsigned char Parameter_J17Bitmask; // for the J17 Output |
extern unsigned char Parameter_J17Timing; // for the J17 Output |
/* |
extern unsigned char Parameter_NaviGpsModeControl; // Parameters for the Naviboard |
extern unsigned char Parameter_NaviGpsGain; |
extern unsigned char Parameter_NaviGpsP; |
extern unsigned char Parameter_NaviGpsI; |
extern unsigned char Parameter_NaviGpsD; |
extern unsigned char Parameter_NaviGpsACC; |
extern unsigned char Parameter_NaviOperatingRadius; |
extern unsigned char Parameter_NaviWindCorrection; |
extern unsigned char Parameter_NaviSpeedCompensation; |
*/ |
#endif //_FC_H |
/DUBwise/tags/v0.51/misc/pc-komp-ref/header_files/74.h |
---|
0,0 → 1,179 |
/*####################################################################################### |
Flight Control |
#######################################################################################*/ |
#ifndef _FC_H |
#define _FC_H |
//#define GIER_GRAD_FAKTOR 1291L // Abhängigkeit zwischen GyroIntegral und Winkel |
//#define GIER_GRAD_FAKTOR 1160L |
extern unsigned long GIER_GRAD_FAKTOR; // Abhängigkeit zwischen GyroIntegral und Winkel |
#define STICK_GAIN 4 |
#define FLAG_MOTOR_RUN 1 |
#define FLAG_FLY 2 |
#define FLAG_CALIBRATE 4 |
#define FLAG_START 8 |
extern unsigned char MikroKopterFlags; |
extern volatile unsigned int I2CTimeout; |
extern unsigned char Sekunde,Minute; |
extern long IntegralNick,IntegralNick2; |
extern long IntegralRoll,IntegralRoll2; |
extern long Mess_IntegralNick,Mess_IntegralNick2; |
extern long Mess_IntegralRoll,Mess_IntegralRoll2; |
extern long IntegralAccNick,IntegralAccRoll; |
extern volatile long Mess_Integral_Hoch; |
extern long Integral_Gier,Mess_Integral_Gier,Mess_Integral_Gier2; |
extern volatile int KompassValue; |
extern volatile int KompassStartwert; |
extern volatile int KompassRichtung; |
extern long ErsatzKompass; |
extern int ErsatzKompassInGrad; // Kompasswert in Grad |
extern int HoehenWert; |
extern int SollHoehe; |
extern volatile int MesswertNick,MesswertRoll,MesswertGier; |
extern int AdNeutralNick,AdNeutralRoll,AdNeutralGier, Mittelwert_AccNick, Mittelwert_AccRoll; |
extern int NeutralAccX, NeutralAccY,Mittelwert_AccHoch; |
extern volatile float NeutralAccZ; |
extern long Umschlag180Nick, Umschlag180Roll; |
extern signed int ExternStickNick,ExternStickRoll,ExternStickGier; |
extern unsigned char Parameter_UserParam1,Parameter_UserParam2,Parameter_UserParam3,Parameter_UserParam4,Parameter_UserParam5,Parameter_UserParam6,Parameter_UserParam7,Parameter_UserParam8; |
extern int NaviAccNick,NaviAccRoll,NaviCntAcc; |
extern unsigned int modell_fliegt; |
void MotorRegler(void); |
void SendMotorData(void); |
void CalibrierMittelwert(void); |
void Mittelwert(void); |
void SetNeutral(void); |
void Piep(unsigned char Anzahl); |
extern void DefaultKonstanten(void); |
void DefaultKonstanten1(void); |
void DefaultKonstanten2(void); |
extern unsigned char h,m,s; |
extern volatile unsigned char Timeout ; |
extern unsigned char CosinusNickWinkel, CosinusRollWinkel; |
extern volatile int DiffNick,DiffRoll; |
extern int Poti1, Poti2, Poti3, Poti4; |
extern volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
extern volatile unsigned char Motor1, Motor2,Motor3,Motor4,Motor5,Motor6,Motor7,Motor8; |
extern volatile unsigned char SenderOkay; |
extern int StickNick,StickRoll,StickGier; |
extern char MotorenEin; |
extern void DefaultKonstanten1(void); |
extern void DefaultKonstanten2(void); |
#define STRUCT_PARAM_LAENGE 92 |
struct mk_param_struct |
{ |
unsigned char Kanalbelegung[8]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
unsigned char Hoehe_MinGas; // Wert : 0-100 |
unsigned char Luftdruck_D; // Wert : 0-250 |
unsigned char MaxHoehe; // Wert : 0-32 |
unsigned char Hoehe_P; // Wert : 0-32 |
unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
unsigned char Stick_P; // Wert : 1-6 |
unsigned char Stick_D; // Wert : 0-64 |
unsigned char Gier_P; // Wert : 1-20 |
unsigned char Gas_Min; // Wert : 0-32 |
unsigned char Gas_Max; // Wert : 33-250 |
unsigned char GyroAccFaktor; // Wert : 1-64 |
unsigned char KompassWirkung; // Wert : 0-32 |
unsigned char Gyro_P; // Wert : 10-250 |
unsigned char Gyro_I; // Wert : 0-250 |
unsigned char Gyro_D; // Wert : 0-250 |
unsigned char UnterspannungsWarnung; // Wert : 0-250 |
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
unsigned char UfoAusrichtung; // X oder + Formation |
unsigned char I_Faktor; // Wert : 0-250 |
unsigned char UserParam1; // Wert : 0-250 |
unsigned char UserParam2; // Wert : 0-250 |
unsigned char UserParam3; // Wert : 0-250 |
unsigned char UserParam4; // Wert : 0-250 |
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
unsigned char ServoNickRefresh; // |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
unsigned char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
unsigned char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
unsigned char Driftkomp; |
unsigned char DynamicStability; |
unsigned char UserParam5; // Wert : 0-250 |
unsigned char UserParam6; // Wert : 0-250 |
unsigned char UserParam7; // Wert : 0-250 |
unsigned char UserParam8; // Wert : 0-250 |
//---Output --------------------------------------------- |
unsigned char J16Bitmask; // for the J16 Output |
unsigned char J16Timing; // for the J16 Output |
unsigned char J17Bitmask; // for the J17 Output |
unsigned char J17Timing; // for the J17 Output |
//---NaviCtrl--------------------------------------------- |
unsigned char NaviGpsModeControl; // Parameters for the Naviboard |
unsigned char NaviGpsGain; |
unsigned char NaviGpsP; |
unsigned char NaviGpsI; |
unsigned char NaviGpsD; |
unsigned char NaviGpsPLimit; |
unsigned char NaviGpsILimit; |
unsigned char NaviGpsDLimit; |
unsigned char NaviGpsACC; |
unsigned char NaviGpsMinSat; |
unsigned char NaviStickThreshold; |
unsigned char NaviWindCorrection; |
unsigned char NaviSpeedCompensation; |
unsigned char NaviOperatingRadius; |
unsigned char NaviAngleLimitation; |
unsigned char NaviPH_LoginTime; |
//---Ext.Ctrl--------------------------------------------- |
unsigned char ExternalControl; // for serial Control |
//------------------------------------------------ |
unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char Reserved[4]; |
char Name[12]; |
}; |
extern struct mk_param_struct EE_Parameter; |
extern unsigned char Parameter_Luftdruck_D; |
extern unsigned char Parameter_MaxHoehe; |
extern unsigned char Parameter_Hoehe_P; |
extern unsigned char Parameter_Hoehe_ACC_Wirkung; |
extern unsigned char Parameter_KompassWirkung; |
extern unsigned char Parameter_Gyro_P; |
extern unsigned char Parameter_Gyro_I; |
extern unsigned char Parameter_Gier_P; |
extern unsigned char Parameter_ServoNickControl; |
extern unsigned char Parameter_AchsKopplung1; |
extern unsigned char Parameter_AchsKopplung2; |
//extern unsigned char Parameter_AchsGegenKopplung1; |
extern unsigned char Parameter_J16Bitmask; // for the J16 Output |
extern unsigned char Parameter_J16Timing; // for the J16 Output |
extern unsigned char Parameter_J17Bitmask; // for the J17 Output |
extern unsigned char Parameter_J17Timing; // for the J17 Output |
/* |
extern unsigned char Parameter_NaviGpsModeControl; // Parameters for the Naviboard |
extern unsigned char Parameter_NaviGpsGain; |
extern unsigned char Parameter_NaviGpsP; |
extern unsigned char Parameter_NaviGpsI; |
extern unsigned char Parameter_NaviGpsD; |
extern unsigned char Parameter_NaviGpsACC; |
extern unsigned char Parameter_NaviOperatingRadius; |
extern unsigned char Parameter_NaviWindCorrection; |
extern unsigned char Parameter_NaviSpeedCompensation; |
*/ |
#endif //_FC_H |
/DUBwise/tags/v0.51/misc/pc-komp-ref/header_files/old/4.h |
---|
0,0 → 1,106 |
/*####################################################################################### |
Flight Control |
#######################################################################################*/ |
#ifndef _FC_H |
#define _FC_H |
extern volatile unsigned char Timeout; |
extern unsigned char Sekunde,Minute; |
extern volatile long IntegralNick,IntegralNick2; |
extern volatile long IntegralRoll,IntegralRoll2; |
extern volatile long Mess_IntegralNick,Mess_IntegralNick2; |
extern volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
extern volatile long Mess_Integral_Hoch; |
extern volatile long Integral_Gier,Mess_Integral_Gier,Mess_Integral_Gier2; |
extern volatile int KompassValue; |
extern volatile int KompassStartwert; |
extern volatile int KompassRichtung; |
extern int HoehenWert; |
extern int SollHoehe; |
extern volatile int MesswertNick,MesswertRoll,MesswertGier; |
extern volatile int AdNeutralNick,AdNeutralRoll,AdNeutralGier, Mittelwert_AccNick, Mittelwert_AccRoll; |
extern volatile int NeutralAccX, NeutralAccY,Mittelwert_AccHoch; |
extern volatile float NeutralAccZ; |
void MotorRegler(void); |
void SendMotorData(void); |
void CalibrierMittelwert(void); |
void Mittelwert(void); |
void SetNeutral(void); |
unsigned char h,m,s; |
volatile unsigned char Timeout ; |
unsigned char CosinusNickWinkel, CosinusRollWinkel; |
volatile long IntegralNick,IntegralNick2; |
volatile long IntegralRoll,IntegralRoll2; |
volatile long Integral_Gier; |
volatile long Mess_IntegralNick,Mess_IntegralNick2; |
volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
volatile long Mess_Integral_Gier; |
volatile int DiffNick,DiffRoll; |
extern int Poti1, Poti2, Poti3, Poti4; |
volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
unsigned char MotorWert[5]; |
volatile unsigned char SenderOkay; |
int StickNick,StickRoll,StickGier; |
char MotorenEin; |
extern void DefaultKonstanten(void); |
#define STRUCT_PARAM_LAENGE 58 |
struct mk_param_struct |
{ |
unsigned char Kanalbelegung[8]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
unsigned char GlobalConfigOld; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
unsigned char Hoehe_MinGas; // Wert : 0-100 |
unsigned char Luftdruck_D; // Wert : 0-250 |
unsigned char MaxHoehe; // Wert : 0-32 |
unsigned char Hoehe_P; // Wert : 0-32 |
unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
unsigned char Stick_P; // Wert : 1-6 |
unsigned char Stick_D; // Wert : 0-64 |
unsigned char Gier_P; // Wert : 1-20 |
unsigned char Gas_Min; // Wert : 0-32 |
unsigned char Gas_Max; // Wert : 33-250 |
unsigned char GyroAccFaktor; // Wert : 1-64 |
unsigned char KompassWirkung; // Wert : 0-32 |
unsigned char Gyro_P; // Wert : 10-250 |
unsigned char Gyro_I; // Wert : 0-250 |
unsigned char UnterspannungsWarnung; // Wert : 0-250 |
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
unsigned char UfoAusrichtung; // X oder + Formation |
unsigned char I_Faktor; // Wert : 0-250 |
unsigned char UserParam1; // Wert : 0-250 |
unsigned char UserParam2; // Wert : 0-250 |
unsigned char UserParam3; // Wert : 0-250 |
unsigned char UserParam4; // Wert : 0-250 |
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
unsigned char ServoNickRefresh; // Wert : 0-250 // Richtung Einfluss Gyro/Servo |
unsigned char ServoNickCompInvert; // Wert : 0-250 // Richtung Einfluss Gyro/Servo |
unsigned char Reserved[7]; |
char Name[12]; |
}; |
extern struct mk_param_struct EE_Parameter; |
extern unsigned char Parameter_Luftdruck_D; |
extern unsigned char Parameter_MaxHoehe; |
extern unsigned char Parameter_Hoehe_P; |
extern unsigned char Parameter_Hoehe_ACC_Wirkung; |
extern unsigned char Parameter_KompassWirkung; |
extern unsigned char Parameter_Gyro_P; |
extern unsigned char Parameter_Gyro_I; |
extern unsigned char Parameter_Gier_P; |
extern unsigned char Parameter_ServoNickControl; |
#endif //_FC_H |
/DUBwise/tags/v0.51/misc/pc-komp-ref/header_files/old/5.h |
---|
0,0 → 1,119 |
/*####################################################################################### |
Flight Control |
#######################################################################################*/ |
#ifndef _FC_H |
#define _FC_H |
extern volatile unsigned int I2CTimeout; |
extern unsigned char Sekunde,Minute; |
extern volatile long IntegralNick,IntegralNick2; |
extern volatile long IntegralRoll,IntegralRoll2; |
extern volatile long Mess_IntegralNick,Mess_IntegralNick2; |
extern volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
extern volatile long Mess_Integral_Hoch; |
extern volatile long Integral_Gier,Mess_Integral_Gier,Mess_Integral_Gier2; |
extern volatile int KompassValue; |
extern volatile int KompassStartwert; |
extern volatile int KompassRichtung; |
extern int HoehenWert; |
extern int SollHoehe; |
extern volatile int MesswertNick,MesswertRoll,MesswertGier; |
extern volatile int AdNeutralNick,AdNeutralRoll,AdNeutralGier, Mittelwert_AccNick, Mittelwert_AccRoll; |
extern volatile int NeutralAccX, NeutralAccY,Mittelwert_AccHoch; |
extern volatile float NeutralAccZ; |
void MotorRegler(void); |
void SendMotorData(void); |
void CalibrierMittelwert(void); |
void Mittelwert(void); |
void SetNeutral(void); |
unsigned char h,m,s; |
volatile unsigned char Timeout ; |
unsigned char CosinusNickWinkel, CosinusRollWinkel; |
volatile long IntegralNick,IntegralNick2; |
volatile long IntegralRoll,IntegralRoll2; |
volatile long Integral_Gier; |
volatile long Mess_IntegralNick,Mess_IntegralNick2; |
volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
volatile long Mess_Integral_Gier; |
volatile int DiffNick,DiffRoll; |
extern int Poti1, Poti2, Poti3, Poti4; |
volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
unsigned char MotorWert[5]; |
volatile unsigned char SenderOkay; |
int StickNick,StickRoll,StickGier; |
char MotorenEin; |
extern void DefaultKonstanten(void); |
#define STRUCT_PARAM_LAENGE 58 |
struct mk_param_struct |
{ |
unsigned char Kanalbelegung[8]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
unsigned char GlobalConfigOld; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
unsigned char Hoehe_MinGas; // Wert : 0-100 |
unsigned char Luftdruck_D; // Wert : 0-250 |
unsigned char MaxHoehe; // Wert : 0-32 |
unsigned char Hoehe_P; // Wert : 0-32 |
unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
unsigned char Stick_P; // Wert : 1-6 |
unsigned char Stick_D; // Wert : 0-64 |
unsigned char Gier_P; // Wert : 1-20 |
unsigned char Gas_Min; // Wert : 0-32 |
unsigned char Gas_Max; // Wert : 33-250 |
unsigned char GyroAccFaktor; // Wert : 1-64 |
unsigned char KompassWirkung; // Wert : 0-32 |
unsigned char Gyro_P; // Wert : 10-250 |
unsigned char Gyro_I; // Wert : 0-250 |
unsigned char UnterspannungsWarnung; // Wert : 0-250 |
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
unsigned char UfoAusrichtung; // X oder + Formation |
unsigned char I_Faktor; // Wert : 0-250 |
unsigned char UserParam1; // Wert : 0-250 |
unsigned char UserParam2; // Wert : 0-250 |
unsigned char UserParam3; // Wert : 0-250 |
unsigned char UserParam4; // Wert : 0-250 |
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
unsigned char ServoNickRefresh; // |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
//------------------------------------------------ |
unsigned char LoopConfig; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char Reserved[4]; |
char Name[12]; |
}; |
/* |
unsigned char ServoNickMax; // Wert : 0-250 |
unsigned char ServoNickRefresh; // |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
//------------------------------------------------ |
unsigned char LoopConfig; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char Reserved[4]; |
char Name[12]; |
*/ |
extern struct mk_param_struct EE_Parameter; |
extern unsigned char Parameter_Luftdruck_D; |
extern unsigned char Parameter_MaxHoehe; |
extern unsigned char Parameter_Hoehe_P; |
extern unsigned char Parameter_Hoehe_ACC_Wirkung; |
extern unsigned char Parameter_KompassWirkung; |
extern unsigned char Parameter_Gyro_P; |
extern unsigned char Parameter_Gyro_I; |
extern unsigned char Parameter_Gier_P; |
extern unsigned char Parameter_ServoNickControl; |
#endif //_FC_H |
/DUBwise/tags/v0.51/misc/pc-komp-ref/header_files/old/6.h |
---|
0,0 → 1,137 |
/*####################################################################################### |
Flight Control |
#######################################################################################*/ |
#ifndef _FC_H |
#define _FC_H |
extern volatile unsigned int I2CTimeout; |
extern unsigned char Sekunde,Minute; |
extern volatile long IntegralNick,IntegralNick2; |
extern volatile long IntegralRoll,IntegralRoll2; |
extern volatile long Mess_IntegralNick,Mess_IntegralNick2; |
extern volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
extern volatile long IntegralAccNick,IntegralAccRoll; |
extern volatile long Mess_Integral_Hoch; |
extern volatile long Integral_Gier,Mess_Integral_Gier,Mess_Integral_Gier2; |
extern volatile int KompassValue; |
extern volatile int KompassStartwert; |
extern volatile int KompassRichtung; |
extern int HoehenWert; |
extern int SollHoehe; |
extern volatile int MesswertNick,MesswertRoll,MesswertGier; |
extern volatile int AdNeutralNick,AdNeutralRoll,AdNeutralGier, Mittelwert_AccNick, Mittelwert_AccRoll; |
extern volatile int NeutralAccX, NeutralAccY,Mittelwert_AccHoch; |
extern volatile float NeutralAccZ; |
extern long Umschlag180Nick, Umschlag180Roll; |
void MotorRegler(void); |
void SendMotorData(void); |
void CalibrierMittelwert(void); |
void Mittelwert(void); |
void SetNeutral(void); |
void Piep(unsigned char Anzahl); |
extern void DefaultKonstanten(void); |
void DefaultKonstanten1(void); |
void DefaultKonstanten2(void); |
extern unsigned char h,m,s; |
extern volatile unsigned char Timeout ; |
extern unsigned char CosinusNickWinkel, CosinusRollWinkel; |
extern volatile long IntegralNick,IntegralNick2; |
extern volatile long IntegralRoll,IntegralRoll2; |
extern volatile long Integral_Gier; |
extern volatile long Mess_IntegralNick,Mess_IntegralNick2; |
extern volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
extern volatile long Mess_Integral_Gier; |
extern volatile int DiffNick,DiffRoll; |
extern int Poti1, Poti2, Poti3, Poti4; |
extern volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
extern unsigned char MotorWert[5]; |
extern volatile unsigned char SenderOkay; |
extern int StickNick,StickRoll,StickGier; |
extern char MotorenEin; |
extern void DefaultKonstanten1(void); |
extern void DefaultKonstanten2(void); |
#define STRUCT_PARAM_LAENGE 65 |
struct mk_param_struct |
{ |
unsigned char Kanalbelegung[8]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
unsigned char Hoehe_MinGas; // Wert : 0-100 |
unsigned char Luftdruck_D; // Wert : 0-250 |
unsigned char MaxHoehe; // Wert : 0-32 |
unsigned char Hoehe_P; // Wert : 0-32 |
unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
unsigned char Stick_P; // Wert : 1-6 |
unsigned char Stick_D; // Wert : 0-64 |
unsigned char Gier_P; // Wert : 1-20 |
unsigned char Gas_Min; // Wert : 0-32 |
unsigned char Gas_Max; // Wert : 33-250 |
unsigned char GyroAccFaktor; // Wert : 1-64 |
unsigned char KompassWirkung; // Wert : 0-32 |
unsigned char Gyro_P; // Wert : 10-250 |
unsigned char Gyro_I; // Wert : 0-250 |
unsigned char UnterspannungsWarnung; // Wert : 0-250 |
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
unsigned char UfoAusrichtung; // X oder + Formation |
unsigned char I_Faktor; // Wert : 0-250 |
unsigned char UserParam1; // Wert : 0-250 |
unsigned char UserParam2; // Wert : 0-250 |
unsigned char UserParam3; // Wert : 0-250 |
unsigned char UserParam4; // Wert : 0-250 |
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
unsigned char ServoNickRefresh; // |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
unsigned char AchsGegenKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick Gegenkoppelt (NickRollGegenkopplung) |
unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
unsigned char Driftkomp; |
//------------------------------------------------ |
unsigned char LoopConfig; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char Reserved[4]; |
char Name[12]; |
}; |
/* |
unsigned char ServoNickMax; // Wert : 0-250 |
unsigned char ServoNickRefresh; // |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
//------------------------------------------------ |
unsigned char LoopConfig; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char Reserved[4]; |
char Name[12]; |
*/ |
extern struct mk_param_struct EE_Parameter; |
extern unsigned char Parameter_Luftdruck_D; |
extern unsigned char Parameter_MaxHoehe; |
extern unsigned char Parameter_Hoehe_P; |
extern unsigned char Parameter_Hoehe_ACC_Wirkung; |
extern unsigned char Parameter_KompassWirkung; |
extern unsigned char Parameter_Gyro_P; |
extern unsigned char Parameter_Gyro_I; |
extern unsigned char Parameter_Gier_P; |
extern unsigned char Parameter_ServoNickControl; |
extern unsigned char Parameter_AchsKopplung1; |
extern unsigned char Parameter_AchsGegenKopplung1; |
#endif //_FC_H |
/DUBwise/tags/v0.51/misc/pc-komp-ref/header_files/old/7.h |
---|
0,0 → 1,144 |
/*####################################################################################### |
Flight Control |
#######################################################################################*/ |
#ifndef _FC_H |
#define _FC_H |
extern volatile unsigned int I2CTimeout; |
extern unsigned char Sekunde,Minute; |
extern volatile long IntegralNick,IntegralNick2; |
extern volatile long IntegralRoll,IntegralRoll2; |
extern volatile long Mess_IntegralNick,Mess_IntegralNick2; |
extern volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
extern volatile long IntegralAccNick,IntegralAccRoll; |
extern volatile long Mess_Integral_Hoch; |
extern volatile long Integral_Gier,Mess_Integral_Gier,Mess_Integral_Gier2; |
extern volatile int KompassValue; |
extern volatile int KompassStartwert; |
extern volatile int KompassRichtung; |
extern int HoehenWert; |
extern int SollHoehe; |
extern volatile int MesswertNick,MesswertRoll,MesswertGier; |
extern volatile int AdNeutralNick,AdNeutralRoll,AdNeutralGier, Mittelwert_AccNick, Mittelwert_AccRoll; |
extern volatile int NeutralAccX, NeutralAccY,Mittelwert_AccHoch; |
extern volatile float NeutralAccZ; |
extern long Umschlag180Nick, Umschlag180Roll; |
extern signed int ExternStickNick,ExternStickRoll,ExternStickGier; |
extern unsigned char Parameter_UserParam1,Parameter_UserParam2,Parameter_UserParam3,Parameter_UserParam4,Parameter_UserParam5,Parameter_UserParam6,Parameter_UserParam7,Parameter_UserParam8; |
void MotorRegler(void); |
void SendMotorData(void); |
void CalibrierMittelwert(void); |
void Mittelwert(void); |
void SetNeutral(void); |
void Piep(unsigned char Anzahl); |
extern void DefaultKonstanten(void); |
void DefaultKonstanten1(void); |
void DefaultKonstanten2(void); |
extern unsigned char h,m,s; |
extern volatile unsigned char Timeout ; |
extern unsigned char CosinusNickWinkel, CosinusRollWinkel; |
extern volatile long IntegralNick,IntegralNick2; |
extern volatile long IntegralRoll,IntegralRoll2; |
extern volatile long Integral_Gier; |
extern volatile long Mess_IntegralNick,Mess_IntegralNick2; |
extern volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
extern volatile long Mess_Integral_Gier; |
extern volatile int DiffNick,DiffRoll; |
extern int Poti1, Poti2, Poti3, Poti4; |
extern volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
extern unsigned char MotorWert[5]; |
extern volatile unsigned char SenderOkay; |
extern int StickNick,StickRoll,StickGier; |
extern char MotorenEin; |
extern void DefaultKonstanten1(void); |
extern void DefaultKonstanten2(void); |
#define STRUCT_PARAM_LAENGE 71 |
struct mk_param_struct |
{ |
unsigned char Kanalbelegung[8]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
unsigned char Hoehe_MinGas; // Wert : 0-100 |
unsigned char Luftdruck_D; // Wert : 0-250 |
unsigned char MaxHoehe; // Wert : 0-32 |
unsigned char Hoehe_P; // Wert : 0-32 |
unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
unsigned char Stick_P; // Wert : 1-6 |
unsigned char Stick_D; // Wert : 0-64 |
unsigned char Gier_P; // Wert : 1-20 |
unsigned char Gas_Min; // Wert : 0-32 |
unsigned char Gas_Max; // Wert : 33-250 |
unsigned char GyroAccFaktor; // Wert : 1-64 |
unsigned char KompassWirkung; // Wert : 0-32 |
unsigned char Gyro_P; // Wert : 10-250 |
unsigned char Gyro_I; // Wert : 0-250 |
unsigned char UnterspannungsWarnung; // Wert : 0-250 |
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
unsigned char UfoAusrichtung; // X oder + Formation |
unsigned char I_Faktor; // Wert : 0-250 |
unsigned char UserParam1; // Wert : 0-250 |
unsigned char UserParam2; // Wert : 0-250 |
unsigned char UserParam3; // Wert : 0-250 |
unsigned char UserParam4; // Wert : 0-250 |
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
unsigned char ServoNickRefresh; // |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
unsigned char AchsGegenKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick Gegenkoppelt (NickRollGegenkopplung) |
unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
unsigned char Driftkomp; |
unsigned char DynamicStability; |
unsigned char UserParam5; // Wert : 0-250 |
unsigned char UserParam6; // Wert : 0-250 |
unsigned char UserParam7; // Wert : 0-250 |
unsigned char UserParam8; // Wert : 0-250 |
//------------------------------------------------ |
unsigned char LoopConfig; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char Reserved[4]; |
char Name[12]; |
}; |
/* |
unsigned char ServoNickMax; // Wert : 0-250 |
unsigned char ServoNickRefresh; // |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
//------------------------------------------------ |
unsigned char LoopConfig; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char Reserved[4]; |
char Name[12]; |
*/ |
extern struct mk_param_struct EE_Parameter; |
extern unsigned char Parameter_Luftdruck_D; |
extern unsigned char Parameter_MaxHoehe; |
extern unsigned char Parameter_Hoehe_P; |
extern unsigned char Parameter_Hoehe_ACC_Wirkung; |
extern unsigned char Parameter_KompassWirkung; |
extern unsigned char Parameter_Gyro_P; |
extern unsigned char Parameter_Gyro_I; |
extern unsigned char Parameter_Gier_P; |
extern unsigned char Parameter_ServoNickControl; |
extern unsigned char Parameter_AchsKopplung1; |
extern unsigned char Parameter_AchsGegenKopplung1; |
#endif //_FC_H |
/DUBwise/tags/v0.51/misc/pc-komp-ref/header_files/old/8.h |
---|
0,0 → 1,172 |
/*####################################################################################### |
Flight Control |
#######################################################################################*/ |
#ifndef _FC_H |
#define _FC_H |
//#define GIER_GRAD_FAKTOR 1450L // Abhängigkeit wzischen GyroIntegral und Winkel |
#define GIER_GRAD_FAKTOR 1550L // Abhängigkeit wzischen GyroIntegral und Winkel |
#define STICK_GAIN 4 |
#define FLAG_MOTOR_RUN 1 |
#define FLAG_FLY 2 |
#define FLAG_CALIBRATE 4 |
#define FLAG_START 8 |
extern unsigned char MikroKopterFlags; |
extern volatile unsigned int I2CTimeout; |
extern unsigned char Sekunde,Minute; |
extern long IntegralNick,IntegralNick2; |
extern long IntegralRoll,IntegralRoll2; |
extern long Mess_IntegralNick,Mess_IntegralNick2; |
extern long Mess_IntegralRoll,Mess_IntegralRoll2; |
extern long IntegralAccNick,IntegralAccRoll; |
extern volatile long Mess_Integral_Hoch; |
extern long Integral_Gier,Mess_Integral_Gier,Mess_Integral_Gier2; |
extern volatile int KompassValue; |
extern volatile int KompassStartwert; |
extern volatile int KompassRichtung; |
extern long ErsatzKompass; |
extern int ErsatzKompassInGrad; // Kompasswert in Grad |
extern int HoehenWert; |
extern int SollHoehe; |
extern volatile int MesswertNick,MesswertRoll,MesswertGier; |
extern volatile int AdNeutralNick,AdNeutralRoll,AdNeutralGier, Mittelwert_AccNick, Mittelwert_AccRoll; |
extern volatile int NeutralAccX, NeutralAccY,Mittelwert_AccHoch; |
extern volatile float NeutralAccZ; |
extern long Umschlag180Nick, Umschlag180Roll; |
extern signed int ExternStickNick,ExternStickRoll,ExternStickGier; |
extern unsigned char Parameter_UserParam1,Parameter_UserParam2,Parameter_UserParam3,Parameter_UserParam4,Parameter_UserParam5,Parameter_UserParam6,Parameter_UserParam7,Parameter_UserParam8; |
extern int NaviAccNick,NaviAccRoll,NaviCntAcc; |
extern unsigned int modell_fliegt; |
void MotorRegler(void); |
void SendMotorData(void); |
void CalibrierMittelwert(void); |
void Mittelwert(void); |
void SetNeutral(void); |
void Piep(unsigned char Anzahl); |
extern void DefaultKonstanten(void); |
void DefaultKonstanten1(void); |
void DefaultKonstanten2(void); |
extern unsigned char h,m,s; |
extern volatile unsigned char Timeout ; |
extern unsigned char CosinusNickWinkel, CosinusRollWinkel; |
extern volatile int DiffNick,DiffRoll; |
extern int Poti1, Poti2, Poti3, Poti4; |
extern volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
extern volatile unsigned char SenderOkay; |
extern int StickNick,StickRoll,StickGier; |
extern char MotorenEin; |
extern void DefaultKonstanten1(void); |
extern void DefaultKonstanten2(void); |
#define STRUCT_PARAM_LAENGE 83 |
struct mk_param_struct |
{ |
unsigned char Kanalbelegung[8]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
unsigned char Hoehe_MinGas; // Wert : 0-100 |
unsigned char Luftdruck_D; // Wert : 0-250 |
unsigned char MaxHoehe; // Wert : 0-32 |
unsigned char Hoehe_P; // Wert : 0-32 |
unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
unsigned char Stick_P; // Wert : 1-6 |
unsigned char Stick_D; // Wert : 0-64 |
unsigned char Gier_P; // Wert : 1-20 |
unsigned char Gas_Min; // Wert : 0-32 |
unsigned char Gas_Max; // Wert : 33-250 |
unsigned char GyroAccFaktor; // Wert : 1-64 |
unsigned char KompassWirkung; // Wert : 0-32 |
unsigned char Gyro_P; // Wert : 10-250 |
unsigned char Gyro_I; // Wert : 0-250 |
unsigned char UnterspannungsWarnung; // Wert : 0-250 |
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
unsigned char UfoAusrichtung; // X oder + Formation |
unsigned char I_Faktor; // Wert : 0-250 |
unsigned char UserParam1; // Wert : 0-250 |
unsigned char UserParam2; // Wert : 0-250 |
unsigned char UserParam3; // Wert : 0-250 |
unsigned char UserParam4; // Wert : 0-250 |
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
unsigned char ServoNickRefresh; // |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
unsigned char AchsGegenKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick Gegenkoppelt (NickRollGegenkopplung) |
unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
unsigned char Driftkomp; |
unsigned char DynamicStability; |
unsigned char UserParam5; // Wert : 0-250 |
unsigned char UserParam6; // Wert : 0-250 |
unsigned char UserParam7; // Wert : 0-250 |
unsigned char UserParam8; // Wert : 0-250 |
//---Output --------------------------------------------- |
unsigned char J16Bitmask; // for the J16 Output |
unsigned char J16Timing; // for the J16 Output |
unsigned char J17Bitmask; // for the J17 Output |
unsigned char J17Timing; // for the J17 Output |
//---NaviCtrl--------------------------------------------- |
unsigned char NaviGpsModeControl; // Parameters for the Naviboard |
unsigned char NaviGpsGain; |
unsigned char NaviGpsP; |
unsigned char NaviGpsI; |
unsigned char NaviGpsD; |
unsigned char NaviGpsACC; |
unsigned char NaviGpsMinSat; |
unsigned char NaviStickThreshold; |
//---Ext.Ctrl--------------------------------------------- |
unsigned char ExternalControl; // for serial Control |
//------------------------------------------------ |
unsigned char LoopConfig; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char Reserved[4]; |
char Name[12]; |
}; |
/* |
unsigned char ServoNickMax; // Wert : 0-250 |
unsigned char ServoNickRefresh; // |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
//------------------------------------------------ |
unsigned char LoopConfig; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char Reserved[4]; |
char Name[12]; |
*/ |
extern struct mk_param_struct EE_Parameter; |
extern unsigned char Parameter_Luftdruck_D; |
extern unsigned char Parameter_MaxHoehe; |
extern unsigned char Parameter_Hoehe_P; |
extern unsigned char Parameter_Hoehe_ACC_Wirkung; |
extern unsigned char Parameter_KompassWirkung; |
extern unsigned char Parameter_Gyro_P; |
extern unsigned char Parameter_Gyro_I; |
extern unsigned char Parameter_Gier_P; |
extern unsigned char Parameter_ServoNickControl; |
extern unsigned char Parameter_AchsKopplung1; |
extern unsigned char Parameter_AchsGegenKopplung1; |
extern unsigned char Parameter_J16Bitmask; // for the J16 Output |
extern unsigned char Parameter_J16Timing; // for the J16 Output |
extern unsigned char Parameter_J17Bitmask; // for the J17 Output |
extern unsigned char Parameter_J17Timing; // for the J17 Output |
extern unsigned char Parameter_NaviGpsModeControl; // Parameters for the Naviboard |
extern unsigned char Parameter_NaviGpsGain; |
extern unsigned char Parameter_NaviGpsP; |
extern unsigned char Parameter_NaviGpsI; |
extern unsigned char Parameter_NaviGpsD; |
extern unsigned char Parameter_NaviGpsACC; |
#endif //_FC_H |