Sean-bumble-bee
Captain
Flight distance : 15997 ft
United Kingdom
Offline
|
The following are some of the columns I use in compiling a pilots log book, some are derived by calculation, the number after the $ symbol is the column number based on the csv for the GO app. The numbers in brackets, where they exist are the a, b, c, d..........xx alphabetic 'names' of the column. In some cases the fly app uses similar column titles or does not show values. The program reads the information from the Phantomhelp csv's. The programme has grown as I have added additional items to track and my 'coding' is not consistant.
Drone_type_$63 drone_name_$234 drone_sn(b)_$233 drone_act_date_$235 DAT_file_nos_$210 Firmware_Ver_$240 cameraSN_a $236 cameraSN_b $264 controller_sn(a)_$237 App_Ver_$232 battery-sn(a)_(JF)_$266 bat_cent_cell_sn_(DP)_$120 bat_prod_dat_(DQ)_$121 charge-count_(U)_$111 Flight_length_(sec)_IS_$253 Drone_switched_on_time_(sec)_(BH)_$60 bat_volt_start_(V)_(EJ)_$140) Latitude_$13_(deg) Longitude_$14_(deg) max_distance_running_(m)_$11 Distance travelled_(m)_$10 max-height_(m)_$254 lowest_point_(m)_$15 Max_pitch_forward_$20 Max_roll_right_$21 Max_roll_left_$21 max_speed_(m/s)_$255 max_descent_rate_(m/s)_$256 max_climb_rate_(m/s)_$19 Gimbal_down_(BR)_$70 gimbal_down_average_$70 Gimbal_up_(BR)_$70 gimbal_up_average photo_count_$257 video_count_$165 card_size_(kb)_(FU)_$177 card_space_start_(kb)_$178 Max_GPS_sats_$50 Av_GPS_sats_$50 Nos_of_lines_$248
The following is the programming I use to recognise what a particular column contains, it might be of use to you as a guide concerning what to look for, its probably VERY crude programming but it works for me so I am satisfied with it.
as an example the line
if (($i ~/CENTER_BATTERY.loopNum/) || ($i ~/BATTERY.timesCharged/)) {BatLoop_12 = i }
would, in plain English, read
if the column title ($i) contains (~/......./) "CENTER_BATTERY.loopNum" or (||) "BATTERY.timesCharged" then do something {.......}
&& = " and" ,
!~/......./ = " does not contain whatever is between the //" .
You are probably interested in the names between each pair of //
Some of these 'names' were, I think, written with using the airdata csv in mind but those csv's do not contain all teh info I wanted in the log book.
if ($i ~/RECOVER.aircraftName/) {Drone_Name_01 = i }
if ($i ~/DETAILS.aircraftS/) {DroneSnD_02 = i }
if ($i ~/RECOVER.aircraftS/) {DroneSnR_03 = i }
if ($i ~/DETAILS.cameraS/) {CameraSnD_30 = i }
if ($i ~/RECOVER.cameraS/) {CameraSnR_31 = i }
if ($i ~/RECOVER.activeTimestamp/) {DrActDate_04 = i }
if ($i ~/HOME.dataRecorderFileIndex/) {DAT_05 = i }
if ($i ~/FIRMWARE.version/) {FirmVer_24 = i }
if ($i ~/DETAILS.rcS/) {CtrSnD_06 = i }
if ($i ~/RECOVER.rcS/) {CtrSnR_07 = i }
if ($i ~/RECOVER.appVersion/) {AppVer_23 = i }
######## if ($i ~/RECOVER.appVersionPhone/) {nos_22__column = i }
if ($i ~/OSD.droneType/) {Drone_type_30 = i }
if ($i ~/DETAILS.batteryS/) {BatSnD_08 = i }
if ($i ~/RECOVER.batteryS/) {BatSnR_09 = i }
if ($i ~/CENTER_BATTERY.productDate/) {BatProDate_10 = i }
if ($i ~/CENTER_BATTERY.serialNo/) {BatCcellSn_11 = i }
if (($i ~/CENTER_BATTERY.loopNum/) || ($i ~/BATTERY.timesCharged/)) {BatLoop_12 = i }
if (($i !~/CENTER/)&&($i !~/voltagePercent/) && (($i ~/SMART_BATTERY.voltage/) ||($i ~/BATTERY.voltage/))) {BatVolt_35 = i }
if (($i ~/SMART_BATTERY.battery/) || ($i ~/BATTERY.chargeLevel/)) {BatPercent_36 = i }
if ($i ~/OSD.latitude/) {Lati_13 = i }
if ($i ~/OSD.longitude/) {Longi_14 = i }
if (($i ~/CALC.travelled/) ||($i ~/DETAILS.totalDistance/)) {DistTrav_15 = i }
####### heights
if ((($i ~/OSD.height/) && ($i !~/OSD.heightMax/)) || ($i ~/height_above_takeoff/)) {height_33 = i }
# if ($i ~/OSD.altitude/) {Altitude_28 = i }
if ($i ~/DETAILS.maxHeight/) {MaxHeight_16 = i }
####### speeds
if ($i ~/DETAILS.maxHorizontalSpeed/) {MaxHoriSp_17 = i }
if ($i ~/DETAILS.maxVerticalSpeed/) {MaxVerSp_18 = i }
if (($i ~/zSpeed/) && ($i !~/Max/)) {Zup_21 = i }
if (($i ~/CALC.distance.running_max/) ||( $i ~/HOME.distance/)) {DistRunMax_41 = i }
if ( ($i !~/CALC.distance.running_max/) && (($i ~/CALC.distance/) || ($i ~/HOME.distance/))) {Distance_9 = i }
if ((($i ~/OSD.hSpeed/) || ($i ~/CUSTOM.hSpeed/)) && ($i !~/OSD.hSpeedMax/)&&($i !~/CUSTOM.hSpeed.running_max/)&&($i !~/CALC.hSpeed/)) {Hspeed_11 = i }
######## if (($i ~/CALC.distance.running_max/) || ($i ~/max_distance/)) {nos_19__column = i ; sprint FNR"," 19","i }
## controller elevator
if ($i ~/RC.aileron/) {Aileron_90 = i }
if ($i ~/RC.elevator/) {Elevator_91 = i }
if ($i ~/DETAILS.totalTime/) {Flightlength_20 = i }
if (($i ~/GIMBAL.pitch/) && ($i !~/Adjust/) || ($i ~/gimbal_pitch/)) {GimPitch_32 = i }
##photos
if ($i ~/DETAILS.photoNum/) {PhotoCount_25 = i }
if ($i ~/CAMERA_INFO.photoState/) {PhotoState_42 =i }
if ($i ~/CAMERA.isPhoto/) {Mini_2_photo_63 =i }
##videos
if ($i ~/CAMERA_INFO.recordState/) {RecordState_43 =i }
if ($i ~/CAMERA.isVideo/) {FPV_video_count_64 =i }
#memory card
if ($i ~/CAMERA_INFO.sdCardTotalSize/) {CardSize_26 = i }
if ($i ~/CAMERA_INFO.sdCardFreeSize/) {CardSpace_34 = i }
if (($i ~/OSD.gpsNum/) || ($i ~/satellites/)) {GPS_37 = i }
if ((($i ~/OSD.flyTime/) && (($i ~/s/)) || ($i ~/time(millisecond)/))) {FlyingTime_27 = i }
if (($i ~/OSD.pitch/) || ($i ~/pitch(degrees)/)) {DronePitch_38 = i }
if (($i ~/OSD.roll/) || ($i ~/roll(degrees)/)) {DroneRoll_39 = i }
if ($i ~/DETAILS.recordLineCount/) {LineCount_29 = i }
if ($i ~/HOME.goHomeHeight/) {goHomeHeight = i }
if (($i ~/SD.flycState/) && ($i !~/SD.flycState.RAW/)) {flystate_name = i }
if ($i ~/OSD.yaw/) {OSD_yaw_77 = i }
if (($i ~/GIMBAL.yaw/) && ($i !~/GIMBAL.yawAngle/)) {GIMBAL_yaw_78 = i }
|
|