Giter Club home page Giter Club logo

Comments (54)

ferraript avatar ferraript commented on May 18, 2024 2

I found out why (old) Litchi is able to set height limit to 6000 m:
it uses DataFlycSetLimits class - thanks to SetLimits command - I believe that AC is not checking the min/max values in flyc_param_infos and allows to set so high number
on the other hand, all versions of DJI GO don't use DataFlycSetLimits class at all, they set height limit through DataFlycSetParams class with SetParamsByHash command

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024 1

chazz did you lose your drone? lol

from dji-firmware-tools.

chazzzzz avatar chazzzzz commented on May 18, 2024 1

Nah not yet. Hadn't had much time to test. Hopefully this weekend I have some decent weather. Ive made some parameter changes I'm anxious to test...How bout you, did you get yours up and running again?

from dji-firmware-tools.

ferraript avatar ferraript commented on May 18, 2024 1

some of the parameters can be revealed using DJI GO and config txt from DAT flight log
for example, changing expo values results in these 3 lines in config txt:

hash write index 325
hash write index 326
hash write index 327

and those numbers, of course, are indexes of parameters in flyc_param_infos
but watch out, DJI GO sometimes sends some params without user's knowledge, for example I've got a lot of 211s (height_limit_enabled_0) in my config txts

from dji-firmware-tools.

ferraript avatar ferraript commented on May 18, 2024 1

I suppose you changed defaultValue only
you need to change minValue too

from dji-firmware-tools.

ferraript avatar ferraript commented on May 18, 2024 1

problem is, that some of the parameters are present in the DJI GO too... it means that it will overwrite those values you did set in defaultValue in firmware
so if you don't intend to edit the apk (and don't want to care about those params within it) I suggest you change minValues the same way you changed defaultValues

from dji-firmware-tools.

phhh3 avatar phhh3 commented on May 18, 2024 1

@marck1991 thanks so much !!

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024 1

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024 1

from dji-firmware-tools.

mefistotelis avatar mefistotelis commented on May 18, 2024

Maybe try to also include tested values.

from dji-firmware-tools.

chazzzzz avatar chazzzzz commented on May 18, 2024

These changes MAY have had some effect on the horizontal speed…Hard to tell with a slight wind. I may try increasing index 194 on the Phantom and 190 on the App and taking the rest back to original default values…These setting changes didn’t cause issues while hovering… They need more testing..

Phantom changes
index" : 194 - g_config.control.horiz_vel_gain_0 - defaultValue" : 100 changed to 110
index" : 195 - g_config.control.horiz_vel_damping_gain_0 - defaultValue" : 105 changed to 110
index" : 196 - g_config.control.horiz_atti_damping_gain_0 - defaultValue" : 100 changed to 110

App. changes
index" : 190 - g_config.control.horiz_vel_gain_0 - defaultValue" : 90 changed to 110
index" : 191 - g_config.control.horiz_damping_gain_0 defaultValue" : 70 changed to 110

from dji-firmware-tools.

chazzzzz avatar chazzzzz commented on May 18, 2024

I tried this and no change from my previous test... The bird peaked at 38mph and back at 33. I think the wind is effecting the results..The max setting for Index 194 and 190 is 500 so either I'm not aggressive enough in my changes or its not doing anything noticeable or at all...Neither change had an effect while hovering

Phantom changes**
index" : 328, - g_config.control.dyn_safe_thrust_0 - defaultValue : 80 changed to 90 Max is 90
index" : 194 - g_config.control.horiz_vel_gain_0 - defaultValue" : 100 changed to 130

App. changes
index : 322, - g_config.control.dyn_safe_thrust_0 - defaultValue : 80 changed to 90 Max is 90
index" : 190 - g_config.control.horiz_vel_gain_0 - defaultValue" : 90 changed to 130

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

from dji-firmware-tools.

chazzzzz avatar chazzzzz commented on May 18, 2024

Yeah I first changed the vertical speed for a test...It did changed how it reacted...It would go up at 22mph and taper back to 14mph so i know my changes had an effect but it seemed to have some type of current limiting thing going on but i really didn't care about that yet because i just wanted to see if the changes i made worked...So I started with the settings I stated above...
Can you tell me the exact index #'s you changed that affected the thrust? on both the bird and app...

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

I think the esc has a rpm limiter. The settings had thrust in the name. My drone is all apart right now so i cant test anything for a few days.but you will know when you find it. It will go from idle to max rpm instantly amd vice versa but it will not be able to hove stable ifcits too high. And its probably not good for the esc to surge the power like that but idk. I set mine lower and it wouldnt come down and i had to csc from 20 ft lol.

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

I think it was basic_craft_thrust. I had mine going up at 27mph at one point idk if it was luck or somthing i had changed but i couldnt find it again

from dji-firmware-tools.

chazzzzz avatar chazzzzz commented on May 18, 2024

I was trying to see which of these you changed that caused the erratic behavior. Also maybe knowing what you changed the default value too... I don't really understand what is the difference between these two settings I pasted below. I was thinking maybe one of them (the slower one index 182) was the RTH thrust when the bird isn't receiving a signal from the RC...I noticed the roll, pitch and yaw index's have a very similar pattern (two like indexes for each)...I'm grasping at straws here trying to make sense of things...

             "index" : 182,  
	"typeID" : 5,
	"size" : 2,
	"attribute" : 11,
	"minValue" : 20,
	"maxValue" : 500,
	"defaultValue" : 80,
	"name" : "g_config.control.basic_craft_thrust_0",
	"modify" : true

or

             index" : 186,
	"typeID" : 5,
	"size" : 2,
	"attribute" : 11,
	"minValue" : 20,
	"maxValue" : 500,
	"defaultValue" : 100,
	"name" : "g_config.control.basic_thrust_0",
	"modify" : true

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024
  "index" : 182,  
"typeID" : 5,
"size" : 2,
"attribute" : 11,
"minValue" : 20,
"maxValue" : 500,
"defaultValue" : 80,
"name" : "g_config.control.basic_craft_thrust_0",
"modify" : true

anything above 90 cause erratic flight. i didnt even test it outside leting it hoverfor more than 5 seconds it would almost flip

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

when it slows down the speed at which it reacts to movements is what make it hover smooth. otherwise it over-corrects and continues until it probably falls. it also had alot to do with the throttle response. it is some sort of sensitivity setting

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

i think one way to see if 22.4 is its max ascend speed is to pull some weight off of the drone and send it back up. it should go up faster. if not then we know its probably limited in the firmware. id imagine the IMU would have alot to do as far as giving feedback to the esc about how the flight is going. and also im sure the motors have rpm limiters. but until i see max motor speed reached while in flight i want to push it more.

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

Nope it was going to be today but ups delayed delivery to monday

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

these settings had no effect on the speed of yaw,roll,pitch
the settings with gain next to them. when i set them higher than 100 i would get mc data error in the app. i seem top only get that when the values in both flyc_params do not match. even though they were not in the apps flyc_param under THAT name it still had an oscillating effect VERY similar to setting the gains too high

        "name" : "g_config.pantilt.roll_speed_0",
	"name" : "g_config.pantilt.pitch_speed_0",
	"name" : "g_config.pantilt.yaw_speed_0",
	"name" : "g_config.craft_model.motor_tilt_angle_0",
              g_config.control.basic_craft_roll_0"  limits, gain?
            "g_config.control.basic_craft_pitch_0"  limits, gain?
               "g_config.control.basic_craft_yaw_0"  limits, gain?
              "name" : "g_config.craft_model.motor_tilt_angle_0",

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[0]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[1]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[2]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[3]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[4]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[5]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[6]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[7]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[0]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[1]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[2]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[3]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[4]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[5]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[6]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[7]_0" limits,

setting these higher didnt make it fast but it made the throttle response insane

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

setting them lower made the motors run full speed on startup !

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

i just found out that you can test the new parameters with the flight simulator

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

this parameter result in instant takeoff at max speed, ignoring height limits. be very cautious with this parameter
PMCAPPFw3.bin: Updating "g_config.control.horiz_vel_atti_range_0" limits,

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

i confirmed speed changes with
PMCAPPFw3.bin: Updating "g_config.control.atti_limit_0" limits,
PMCAPPFw3.bin: Updating "g_config.control.atti_range_0" limits,

i think i can get it up to 63 mph

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

which means its also possible that it could ascend at 60 miles per hour

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

@mefistotelis how can i compare both flyc_param_infos to each other and see what parameters are in the aircrafts flyc that are not in the apps flyc? thankyou

and do you have any idea what this does
"defaultValue" : 0,
"name" : "g_config.api_entry_cfg.cheat_backdoor_0",
"modify" : true

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

ive tried
GREP
FGREP
DIFF
VDIFF
COMM
and i still cant get it to work. maybe you could tell me what to do. it would like to what parameters are in the ac flight controller that are not in the apps flyc.thanks again

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

i also notice after byte-patching with your commands the log shows
[smart_battery]this fireware calc gohme speed:7.800000 - land speed:2.500000

from dji-firmware-tools.

mefistotelis avatar mefistotelis commented on May 18, 2024

after byte-patching ... gohme speed:7.800000

Well this is strange. The command should have modified that. Are you sure you updated the drone with patched firmware?

compare both flyc_param_infos

I'd use grep -v "\"index\"" to remove indexes, then diff -u0 -w to compare. That will only work if the properties are in the same order, though.
If they're not, the simplest way would be to create Python script which compares entries.

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

im going to double check the go home speed in the morning. i will re-patch a binary to make sure

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

one thing i notice is it says "gohme" speed and not gohome speed, is this right?

[smart_battery]this fireware calc gohme speed:7.800000 - land speed:2.500000
i dont know if its just ferraripts log converter but i copied and pasted this from the log

from dji-firmware-tools.

rulppa avatar rulppa commented on May 18, 2024

@notsolowki for windows, check this out, http://winmerge.org (for comparing lines between 2 ascii files)

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

thanks ill try it

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

here is a list of parameters that are not in the andoird app

"name" : "g_config.knob.control_channel[KNOB_BASIC_YAW]_0",
	"name" : "g_config.knob.control_channel[KNOB_BASIC_THRUST]_0",
	"name" : "g_config.knob.control_channel[KNOB_ATTI_GAIN]_0",
	"name" : "g_config.knob.control_channel[KNOB_GYRO_GAIN]_0",
	"name" : "g_config.voltage2.vol_ceof_0",
	"name" : "g_config.control.vel_braking_threshold_0",
	"name" : "g_config.control.horiz_emergency_brake_tilt_max_0",
	"name" : "g_config.control.atti_limit_0",
	"name" : "g_config.control.avoid_atti_range_0",
	"name" : "g_config.control.rotor_fault_test_type_0",
	"name" : "g_config.control.rotor_fault_detection_time_0",
	"name" : "g_config.control.rc_yaw_sensitivity_0",
	"name" : "g_config.control.rc_throttle_sensitivity_0",
	"name" : "g_config.control.torsion_ang_vel_cmd_slope_0",
	"name" : "g_config.control.torsion_ang_acc_cmd_slope_0",
	"name" : "g_config.control.throttle_output_max_0",
	"name" : "g_config.control.yaw_output_max_0",
	"name" : "g_config.control.atti_bat_limit_0",
	"name" : "g_config.control.torsion_w_rate_bat_limit_0",
	"name" : "g_config.control.vert_vel_up_bat_limit_0",
	"name" : "g_config.control.vert_vel_down_bat_limit_0",
	"name" : "g_config.imu_para_cfg.imu_adv_func.fuse_with_rtk_0",
	"name" : "g_config.gps_cfg.super_svn_0",
	"name" : "g_config.gps_cfg.fix_svn_0",
	"name" : "g_config.gps_cfg.good_svn_0",
	"name" : "g_config.gps_cfg.super_hdop_0",
	"name" : "g_config.gps_cfg.fix_hdop_0",
	"name" : "g_config.gps_cfg.good_hdop_0",
	"name" : "g_config.gear_cfg.pack_type_0",
	"name" : "g_config.api_entry_cfg.enable_time_stamp_0",
	"name" : "g_config.api_entry_cfg.acc_data_type_0",
	"name" : "g_config.api_entry_cfg.gyro_data_type_0",
	"name" : "g_config.api_entry_cfg.alti_data_type_0",
	"name" : "g_config.api_entry_cfg.height_data_type_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[0]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[1]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[2]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[3]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[4]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[5]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[6]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[7]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[8]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[9]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[10]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[11]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[12]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[13]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[14]_0",
	"name" : "g_config.api_entry_cfg.std_msg_frq[15]_0",
	"name" : "g_config.api_entry_cfg.authority_level_0",
	"name" : "g_config.api_entry_cfg.cheat_backdoor_0",
	"name" : "g_config.airport_limit_cfg.cfg_search_radius_0",
	"name" : "g_config.airport_limit_cfg.cfg_disable_airport_fly_limit_0",
	"name" : "g_config.airport_limit_cfg.cfg_debug_airport_enable_0",
	"name" : "g_config.airport_limit_cfg.cfg_limit_data_0",
	"name" : "g_config.airport_limit_cfg.cfg_sim_disable_limit_0",
	"name" : "g_config.airport_limit_cfg.cfg_enable[FLY_LIMIT_TYPE_AIRPORT]_0",
	"name" : "g_config.airport_limit_cfg.cfg_enable[FLY_LIMIT_TYPE_SPECIAL]_0",
	"name" : "g_config.airport_limit_cfg.cfg_r1[FLY_LIMIT_TYPE_AIRPORT]_0",
	"name" : "g_config.airport_limit_cfg.cfg_r1[FLY_LIMIT_TYPE_SPECIAL]_0",
	"name" : "g_config.airport_limit_cfg.cfg_h1[FLY_LIMIT_TYPE_AIRPORT]_0",
	"name" : "g_config.airport_limit_cfg.cfg_h1[FLY_LIMIT_TYPE_SPECIAL]_0",
	"name" : "g_config.airport_limit_cfg.cfg_angle[FLY_LIMIT_TYPE_AIRPORT]_0",
	"name" : "g_config.airport_limit_cfg.cfg_angle[FLY_LIMIT_TYPE_SPECIAL]_0",
	"name" : "g_config.avoid_obstacle_limit_cfg.a_dec_max_0",
	"name" : "g_config.avoid_obstacle_limit_cfg.v_fwd_max_0",
	"name" : "g_config.avoid_obstacle_limit_cfg.v_bck_max_0",
	"name" : "g_config.avoid_obstacle_limit_cfg.gain_dv2acc_0",
	"name" : "g_config.avoid_obstacle_limit_cfg.safe_dis_0",
	"name" : "g_config.avoid_obstacle_limit_cfg.damping_dis_0",
	"name" : "g_config.misc_cfg.imu_temp_ctrl_slope_0"
	"name" : "g_config.misc_cfg.auto_takeoff_height_0",
	"name" : "g_config.misc_cfg.auto_landing_vel_L1_0",
	"name" : "g_config.misc_cfg.auto_landing_vel_L2_0",
	"name" : "g_config.hotpoint_cfg.battery_low_go_home_enable_0",
	"name" : "g_config.hotpoint_cfg.enable_mode_0",
	"name" : "g_config.hotpoint_cfg.free_yaw_0",
	"name" : "g_config.hotpoint_cfg.auto_recover_0",
	"name" : "g_config.hotpoint_cfg.limit_height_0",
	"name" : "g_config.hotpoint_cfg.yaw_change_range_0",
	"name" : "g_config.hotpoint_cfg.max_yaw_rate_0",
	"name" : "g_config.hotpoint_cfg.max_angle_rate_0",
	"name" : "g_config.hotpoint_cfg.max_tangent_vel_0",
	"name" : "g_config.hotpoint_cfg.min_radius_0",
	"name" : "g_config.hotpoint_cfg.max_radius_0",
	"name" : "g_config.hotpoint_cfg.max_vert_vel_0",
	"name" : "g_config.hotpoint_cfg.max_radius_vel_0",
	"name" : "g_config.hotpoint_cfg.min_height_0",
	"name" : "g_config.hotpoint_cfg.max_acc_0",
	"name" : "g_config.hotpoint_cfg.max_distance_0",
	"name" : "g_config.hotpoint_cfg.pos_gain_0",
	"name" : "g_config.hotpoint_cfg.vel_gain_0",
	"name" : "g_config.hotpoint_cfg.centripetal_gain_0",
	"name" : "g_config.hotpoint_cfg.cmd_slope_0",
	"name" : "g_config.hotpoint_cfg.output_slope_0",
	"name" : "g_config.home_lock_cfg.max_horiz_vel_0",
	"name" : "g_config.home_lock_cfg.min_fence_0",
	"name" : "g_config.home_lock_cfg.max_angle_rate_0",
	"name" : "g_config.home_lock_cfg.max_tangent_vel_0",
	"name" : "g_config.home_lock_cfg.max_radius_vel_0",
	"name" : "g_config.home_lock_cfg.fence_buffer_0",
	"name" : "g_config.followme_cfg.enable_mode_0",
	"name" : "g_config.followme_cfg.auto_recover_0",
	"name" : "g_config.followme_cfg.auto_gimbal_pitch_0",
	"name" : "g_config.followme_cfg.enter_gps_level_0",
	"name" : "g_config.followme_cfg.horiz_vel_limit_0",
	"name" : "g_config.followme_cfg.min_init_height_0",
	"name" : "g_config.followme_cfg.min_us_limit_height_0",
	"name" : "g_config.followme_cfg.min_press_limit_height_0",
	"name" : "g_config.followme_cfg.p_horiz_vel_ctrl_0",
	"name" : "g_config.followme_cfg.slop_horiz_vel_0",
	"name" : "g_config.followme_cfg.max_drone_to_drone_dist_0",
	"name" : "g_config.followme_cfg.max_phone_to_phone_dist_0",
	"name" : "g_config.followme_cfg.set_circle_0",
	"name" : "g_config.followme_cfg.min_limit_radius_0",
	"name" : "g_config.followme_cfg.max_limit_radius_0",
	"name" : "g_config.followme_cfg.cmd_yaw_factor_0",
	"name" : "g_config.followme_cfg.follow_me_wait_0",
	"name" : "g_config.followme_cfg.follow_me_with_rc_cmd_0",
	"name" : "g_config.followme_cfg.test_yaw_mode_0",
	"name" : "g_config.followme_cfg.estimate_vel_filter_fc_0",
	"name" : "g_config.followme_cfg.estimate_pos_filter_fc_0",
	"name" : "g_config.followme_cfg.brakes_pos_filter_fc_0",
	"name" : "g_config.followme_cfg.vel_front_feed_para_0",
	"name" : "g_config.waypoint_cfg.enable_mode_0",
	"name" : "g_config.waypoint_cfg.max_vert_vel_0",
	"name" : "g_config.waypoint_cfg.max_horiz_vel_0",
	"name" : "g_config.waypoint_cfg.max_auto_yaw_rate_0",
	"name" : "g_config.waypoint_cfg.max_line_acc_0",
	"name" : "g_config.waypoint_cfg.max_curve_acc_0",
	"name" : "g_config.fdi.max_ctrl_frequency_power_0"
	"name" : "g_config.fdi.min_ctrl_frequency_interesting_0"
	"name" : "g_config.fdi.max_ahrs_init_gyro_bias_0"
	"name" : "g_config.fdi.max_ahrs_init_acc_bias_0"
	"name" : "g_config.fdi.max_ahrs_init_magn_x_noise_0"
	"name" : "g_config.fdi.max_ahrs_init_magn_yz_noise_0"
	"name" : "g_config.fdi.max_ahrs_init_trans_acc_0"
	"name" : "g_config.fdi.max_ahrs_init_wz_integral_0"
	"name" : "g_config.fdi.max_ahrs_init_wxy_integral_0"
	"name" : "g_config.fdi.max_static_acc_stdvar_0"
	"name" : "g_config.fdi.max_static_gyro_stdvar_0"
	"name" : "g_config.fdi_open.compass_fdi_open_0",
	"name" : "g_config.fdi_open.gps_fdi_open_0",
	"name" : "g_config.fdi_open.gyro_fdi_open_0",
	"name" : "g_config.fdi_open.acc_fdi_open_0",
	"name" : "g_config.fdi_open.baro_fdi_open_0",
	"name" : "g_config.fdi_open.motor_fdi_open_0",
	"name" : "g_config.fdi_open.motor_kf_fdi_open_0",
	"name" : "g_config.fdi_open.motor_rls_fdi_open_0",
	"name" : "g_config.fdi_open.motor_esc_fdi_open_0",
	"name" : "g_config.fdi_open.motor_ctrl_fdi_open_0",
	"name" : "g_config.fdi_open.ahrs_fdi_open_0",
	"name" : "g_config.fdi_open.ahrs_bias_fdi_open_0",
	"name" : "g_config.fdi_open.ahrs_vel_fdi_open_0",
	"name" : "g_config.fdi_open.ahrs_init_fdi_open_0",
	"name" : "g_config.fdi_open.ahrs_motor_fdi_open_0",
	"name" : "g_config.fdi_open.ctrl_fdi_open_0",
	"name" : "g_config.fdi_open.ctrl_impact_fdi_open_0",
	"name" : "g_config.fdi_open.ctrl_vibrate_fdi_open_0",
	"name" : "g_config.fdi_inject.imu_0"
	"name" : "g_config.fdi_inject.compass_0"
	"name" : "g_raw.gps_snr.snr[0]_0"
	"name" : "g_raw.gps_snr.snr[1]_0"
	"name" : "g_raw.gps_snr.snr[2]_0"
	"name" : "g_raw.gps_snr.snr[3]_0"
	"name" : "g_raw.gps_snr.snr[4]_0"
	"name" : "g_raw.gps_snr.snr[5]_0"
	"name" : "g_raw.gps_snr.snr[6]_0"
	"name" : "g_raw.gps_snr.snr[7]_0"
	"name" : "g_raw.gps_snr.snr[8]_0"
	"name" : "g_raw.gps_snr.snr[9]_0"
	"name" : "g_raw.gps_snr.snr[10]_0"
	"name" : "g_raw.gps_snr.snr[11]_0"
	"name" : "g_raw.gps_snr.snr[12]_0"
	"name" : "g_raw.gps_snr.snr[13]_0"
	"name" : "g_raw.gps_snr.snr[14]_0"
	"name" : "g_raw.gps_snr.snr[15]_0"
	"name" : "g_raw.gps_snr.snr[16]_0"
	"name" : "g_raw.gps_snr.snr[17]_0"
	"name" : "g_raw.gps_snr.snr[18]_0"
	"name" : "g_raw.gps_snr.snr[19]_0"
	"name" : "g_raw.gps_snr.snr[20]_0"
	"name" : "g_raw.gps_snr.snr[21]_0"
	"name" : "g_raw.gps_snr.snr[22]_0"
	"name" : "g_raw.gps_snr.snr[23]_0"
	"name" : "g_raw.gps_snr.snr[24]_0"
	"name" : "g_raw.gps_snr.snr[25]_0"
	"name" : "g_raw.gps_snr.snr[26]_0"
	"name" : "g_raw.gps_snr.snr[27]_0"
	"name" : "g_raw.gps_snr.snr[28]_0"
	"name" : "g_raw.gps_snr.snr[29]_0"
	"name" : "g_raw.gps_snr.snr[30]_0"
	"name" : "g_raw.gps_snr.snr[31]_0"
	"name" : "g_raw.gps_snr.snr[32]_0"
	"name" : "g_raw.gps_snr.snr[33]_0"
	"name" : "g_raw.gps_snr.snr[34]_0"
	"name" : "g_raw.gps_snr.snr[35]_0"
	"name" : "g_raw.gps_snr.snr[36]_0"
	"name" : "g_raw.gps_snr.snr[37]_0"
	"name" : "g_raw.gps_snr.snr[38]_0"
	"name" : "g_raw.gps_snr.snr[39]_0"
	"name" : "g_raw.gps_snr.snr[40]_0"
	"name" : "g_raw.gps_snr.snr[41]_0"
	"name" : "g_raw.gps_snr.snr[42]_0"
	"name" : "g_raw.gps_snr.snr[43]_0"
	"name" : "g_raw.gps_snr.snr[44]_0"
	"name" : "g_raw.gps_snr.snr[45]_0"
	"name" : "g_raw.gps_snr.snr[46]_0"
	"name" : "g_raw.gps_snr.snr[47]_0"
	"name" : "g_raw.gps_snr.snr[48]_0"
	"name" : "g_raw.gps_snr.snr[49]_0"
	"name" : "g_raw.gps_snr.snr[50]_0"
	"name" : "g_raw.gps_snr.snr[51]_0"
	"name" : "g_raw.gps_snr.snr[52]_0"
	"name" : "g_raw.gps_snr.snr[53]_0"
	"name" : "g_raw.gps_snr.snr[54]_0"
	"name" : "g_raw.gps_snr.snr[55]_0"
	"name" : "g_raw.gps_snr.snr[56]_0"
	"name" : "g_raw.gps_snr.snr[57]_0"
	"name" : "g_raw.gps_snr.snr[58]_0"
	"name" : "g_raw.gps_snr.snr[59]_0"
	"name" : "g_raw.gps_snr.snr[60]_0"
	"name" : "g_raw.gps_snr.snr[61]_0"
	"name" : "g_raw.gps_snr.snr[62]_0"
	"name" : "g_raw.gps_snr.snr[63]_0"
	"name" : "g_real.force_on.ignore_compass_error_0"
	"name" : "g_navi_data.horiz_vel_sensor_id_0"
	"name" : "g_real.knob.scales[KNOB_BASIC_YAW]_0"
	"name" : "g_real.knob.scales[KNOB_BASIC_THRUST]_0"
	"name" : "g_real.knob.scales[KNOB_ATTI_GAIN]_0"
	"name" : "g_real.knob.scales[KNOB_GYRO_GAIN]_0"
	"name" : "g_cfg_debug.simulator_initial_lati_0"
	"name" : "g_cfg_debug.simulator_initial_longti_0"
	"name" : "g_cfg_debug.simulator_mvo_flag_0"
	"name" : "g_cfg_debug.simulator_gps_hdop_0"
	"name" : "g_cfg_debug.simulator_check_motor_0"
	"name" : "wall_dis_front_0"
	"name" : "wall_dis_right_0"
	"name" : "wall_dis_back_0"
	"name" : "wall_dis_left_0"
	"name" : "g_cfg_debug.force_flash_led_0"
	"name" : "g_debug.sim_flag[0]_0"
	"name" : "g_debug.sim_flag[1]_0"
	"name" : "g_debug.sim_flag[2]_0"
	"name" : "g_debug.sim_flag[3]_0"
	"name" : "g_debug.sim_var[0]_0"
	"name" : "g_debug.sim_var[1]_0"
	"name" : "g_debug.sim_var[2]_0"
	"name" : "g_debug.sim_var[3]_0"
	"name" : "wp_setting.length_0"
	"name" : "wp_setting.vel_cmd_range_0"
	"name" : "wp_setting.idle_vel_0"
	"name" : "wp_setting.action_on_finish_0"
	"name" : "wp_setting.mission_exec_num_0"
	"name" : "wp_setting.yaw_mode_0"
	"name" : "wp_setting.trace_mode_0"
	"name" : "wp_setting.action_on_rc_lost_0"
	"name" : "g_config.bat_limit.limit_delt_vol.min_0",
	"name" : "g_config.bat_limit.limit_delt_vol.max_0",
	"name" : "g_config.bat_limit.limit_delt_vol.weight_0",
	"name" : "g_config.bat_limit.limit_vol.min_0",
	"name" : "g_config.bat_limit.limit_vol.max_0",
	"name" : "g_config.bat_limit.limit_vol.weight_0",
	"name" : "g_config.bat_limit.limit_max_power.min_0",
	"name" : "g_config.bat_limit.limit_max_power.max_0",
	"name" : "g_config.bat_limit.limit_max_power.weight_0",
	"name" : "g_config.bat_limit.limit_temp.min_0",
	"name" : "g_config.bat_limit.limit_temp.max_0",
	"name" : "g_config.bat_limit.limit_temp.weight_0",
	"name" : "g_config.bat_limit.limit_scale.min_0",
	"name" : "g_config.bat_limit.limit_scale.max_0",
	"name" : "g_config.bat_limit.limit_scale.weight_0",
	"name" : "g_config.bat_limit.limit_power_rate_capacity.min_0",
	"name" : "g_config.bat_limit.limit_power_rate_capacity.max_0",
	"name" : "g_config.bat_limit.limit_power_rate_capacity.weight_0",
	"name" : "g_config.bat_limit.limit_power_rate_temp.min_0",
	"name" : "g_config.bat_limit.limit_power_rate_temp.max_0",
	"name" : "g_config.bat_limit.limit_power_rate_temp.weight_0",
	"name" : "g_config.bat_limit.limit_bat_current_after_overflow_0",
	"name" : "g_config.bat_limit.limit_up_rate_0",
	"name" : "g_config.bat_limit.limit_down_rate_0",

from dji-firmware-tools.

polarisax avatar polarisax commented on May 18, 2024

Does anyone have any idea what can do the following parameter?
{
"index" : 211,
"typeID" : 0,
"size" : 1,
"attribute" : 11,
"minValue" : 1,
"maxValue" : 2,
"defaultValue" : 1,
"name" : "g_config.advanced_function.height_limit_enabled_0",
"modify" : true
}

Is it possible that is sufficient change defaultValue to "2" to disable the maximum height reachable?

Thanks in advance

from dji-firmware-tools.

polarisax avatar polarisax commented on May 18, 2024

Hi @notsolowki ,
I saw in your old FW versions you have touched a lot of parameters.
Can you give us a comment for the purpose of these?

-g_config.voltage2.level1_smart_battert_gohome_0
-g_config.voltage2.level2_smart_battert_land_0
-g_config.control.horiz_emergency_brake_tilt_max_0
-g_config.control.vert_vel_up_bat_limit_0
-g_config.control.vert_vel_down_bat_limit_0

I notice that you made a lot of adjustment of these in your versions, but it's not very clear to me the impact they have on the copter! :(
Thanks in advance!

from dji-firmware-tools.

Jokerx3 avatar Jokerx3 commented on May 18, 2024

I extracted mi01 from P3P 1.7 firmware using dji_fwcon.py and then used dji_flyc_param_ed.py to read and write data from and to mi01. Then renamed edited mi01.bin to PMCAPPFw3.bin and put it on SD card. It flashed successfully and got renamed to PMCAPPFw3_updated.bin .

My problem: The up and down speed didn't change! :(
But the flashing progress must be successful, because in GO3 app i can see the new max high applied.
I also could fly 80+ km/h in atti mode, so I think the degree adjustments also have been applied.

Does someone (maybe @notsolowki or @MrBurnsAT ) have an answer, why the ascend and descend speed from my P3P didn't change?
They are still 3m/s down and 5m/s up.

Ich changed this parameters:
g_config.control.vert_up_vel_0 --> 8
g_config.control.vert_down_vel_0 --> 5
g_config.flying_limit.max_height_0 --> 1195
g_config.control.atti_limit_0 --> 45
g_config.control.atti_range_0 --> 45

from dji-firmware-tools.

Jokerx3 avatar Jokerx3 commented on May 18, 2024

Yes you are right, thanks so much for your answer!!
Should I set minValue to defaultValue for all of the five parameters I wrote in the last post?

For example I did this before your answer @ferraript :

"index" : 316,
"typeID" : 5,
"size" : 2,
"attribute" : 11,
"minValue" : 10,
"maxValue" : 60,
"defaultValue" : 45,
"name" : "g_config.control.atti_limit_0",
"modify" : true

"index" : 323,
"typeID" : 5,
"size" : 2,
"attribute" : 11,
"minValue" : 1,
"maxValue" : 10,
"defaultValue" : 8,
"name" : "g_config.control.vert_up_vel_0",
"modify" : true

from dji-firmware-tools.

Jokerx3 avatar Jokerx3 commented on May 18, 2024

@ferraript testet it with your suggestions and I got the results I expected! Thanks a lot!

from dji-firmware-tools.

ferraript avatar ferraript commented on May 18, 2024

glad to help, fly safe ;)

from dji-firmware-tools.

danieltroger avatar danieltroger commented on May 18, 2024

Sorry for not having read everything regarding the topic, but would it theoretically be possible to implement something like mavic's tripod mode for the p3 by changing flight parameters just by the app side, without having to reflash the FC firmware?
I mean when there's enough understanding about the binary protocol DJI GO uses to communicate with the flight controler, if it then would be possible to change something that would result in decreaed speed, but higher level of precision and stability?

from dji-firmware-tools.

mefistotelis avatar mefistotelis commented on May 18, 2024

Recently someone asked me for this one, so since I investigated this - there's the info:

Parameter:
g_real.status.motor_status_0

Definition:

	{
		"index" : 733,
		"typeID" : 0,
		"size" : 1,
		"attribute" : 0,
		"minValue" : 0,
		"maxValue" : 1,
		"defaultValue" : 0,
		"name" : "g_real.status.motor_status_0"
	}

Function:
The parameter allows ignoring status error of various drone components while starting motors.

Values:
0 - Do not force starting motors when status of any component indicates error. This value makes the drone allow starting motors only if all components are returning "safe to fly" status. This is the default.
1 - Force starting motors when status of any component indicates error. This will cause the motors to start even if the drone is not ready to fly yet, or errors are indicated by components.

from dji-firmware-tools.

mefistotelis avatar mefistotelis commented on May 18, 2024

I recently renamed the files created to use only the mXXYY naming instead om miNN. The mXXYY convention became kind of a standard way of naming modules in our community.

from dji-firmware-tools.

Jokerx3 avatar Jokerx3 commented on May 18, 2024

what @phhh3 is now looking for is P3X_FW_V01.07.0060_m0306.bin :) .

from dji-firmware-tools.

Jokerx3 avatar Jokerx3 commented on May 18, 2024

Yes thats the right command. After editing flyc_param_infos use dji_flyc_param_ed.py -vv -u -m P3X_FW_V01.07.0060_m0306.bin to write back.

Next step: Rename " P3X_FW_V01.07.0060_m0306.bin " to " PMCAPPFw3.bin "
After: Put PMCAPPFw3.bin onto the SD card and power on your Phantom 3 Adv or Pro and wait for flash to complete, that takes about 5-10 minutes.

from dji-firmware-tools.

phhh3 avatar phhh3 commented on May 18, 2024

@notsolowki hey man can u send me your flyc_param_infos file? thanks~

from dji-firmware-tools.

polarisax avatar polarisax commented on May 18, 2024

@notsolowki hey man can u send me your flyc_param_infos file? thanks~

...me too, please!

from dji-firmware-tools.

mefistotelis avatar mefistotelis commented on May 18, 2024

@mefistotelis, can you figure out what the cheat_backdoor parameter does.

Hard to tell; the related structure travels as reference to a lot of functions. Not easy to track.

EDIT: well it does something, no idea what.

signed int __fastcall sub_8047D5E(int a1)
{
  int v1; // r4@1
  signed int result; // r0@3
  unsigned int v3; // r0@10
  int *v4; // r6@11
.
  v1 = a1;
  if ( !a1 )
    return 1;
  if ( *(_DWORD *)(a1 + 8) != 33819136 )
    return 8;
  if ( g_real__config.api_entry_cfg.cheat_backdoor == 1 && *(_DWORD *)a1 == 10086 )
  {
    if ( *(_DWORD *)(a1 + 4) <= 2u )
    {
      sub_805A964("DJI-DEMO AES256 KEY-lala-haha-MA", *(_DWORD *)a1 - 10086);
      return 0;
    }
    return 7;
  }
  v3 = sub_8047D02(*(_DWORD *)a1);
  if ( v3 < 2 )
  {
    v4 = &dword_2001D904[10 * v3];
    printf_send_c0E_sub_806E08A("req %d real %d %d", *(_DWORD *)(v1 + 4), v4[1]);
    word_2002014C = 0;
    dword_20020164 = 0;
    dword_20020160 = 0;
    if ( *(_DWORD *)(v1 + 4) <= (unsigned int)v4[1] )
    {
      ((void (*)(void))sub_805A964)();
      printf_send_c0E_sub_806E08A("[SDK/USER] sdk_set_key %s", v4 + 2);
      return 0;
    }
    return 7;
  }
  if ( *(_DWORD *)v1 != dword_20020160 )
  {
    dword_20020160 = *(_DWORD *)v1;
    dword_20020168 = *(_DWORD *)(v1 + 4);
    word_2002014C = 0;
  }
  ++word_2002014C;
  packet_send_s03_c61(v1);
  if ( (unsigned __int16)word_2002014C < 0xAu )
    return 3;
  if ( word_2002014C == 10 )
  {
    dword_2002016C = aircraft_status_20001678;
  }
  else if ( (unsigned int)(aircraft_status_20001678 - dword_2002016C) > 0x1F4 )
  {
    word_2002014C = 0;
    return 3;
  }
  if ( dword_20020164 == 1 )
  {
    result = 5;
  }
  else if ( dword_20020164 )
  {
    result = 6;
  }
  else
  {
    result = 4;
  }
  return result;
}

from dji-firmware-tools.

notsolowki avatar notsolowki commented on May 18, 2024

@mefistotelis, did you add the lala-haha-MA key lol. Somthing to do with dji-demo? Maybe its for factory resetting the firmware? I notice alot of other dji drones have the same parameter.

if ( g_real__config.api_entry_cfg.cheat_backdoor == 1 && *(_DWORD *)a1 == 10086 ) { if ( *(_DWORD *)(a1 + 4) <= 2u ) { sub_805A964("DJI-DEMO AES256 KEY-lala-haha-MA", *(_DWORD *)a1 - 10086); return 0; } return 7; }

from dji-firmware-tools.

mefistotelis avatar mefistotelis commented on May 18, 2024

@mefistotelis, did you add the lala-haha-MA key lol.

No. Maybe it's some kind of Chinese joke, no idea.

from dji-firmware-tools.

aka1ceman avatar aka1ceman commented on May 18, 2024

I was comparing PMCAPPFw.bin files to see why some worked and others didnt. I found Another way to extract and compare existing PMCAPP Fw3.bin files to learn trial and error in testing changes....

dji_flyc_param_ed.py -vv -x -m PMCAPPFw3.bin

from dji-firmware-tools.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.