Changes by last author:
Deleted:
I am looking at a Webshop customer's v3.2 board. He was reporting problems that Jorgen guessed was a config issue.
I made a config (how? in text?) which cured his issues, and downloaded it to his 3.2 Then as a test I uploaded the config (how?), remade it and downloaded it again - the problems he reported came back. |
Uploading the config again and comparing them showed the following problem: the variables are offsetted
this sounds like a PC side error * likely a wrong global.h is used that does not match the firmware * Or maybe a bug in the program that you use to make config.mtt (the part parsing global.h ?) wrong global.h seems to be more likely * (maybe older global.h ?) what firmware revision is used ? Is it a released firmware version ? ** output of mdv: ** output of mdV: * The output from the program when sent from PC to VEMS works fine (?), but just seems bad. ** how do we know that the right global.h is used? Since als_rev_limit appeared later in the firmware (in SVN revision 6), suspicion is strong that old global.h (not matching firmware) was used. Snippet from svn blame global.h : <code> 1 humming uint8_t als_rich; // als,mixture enrichment in percents [0.4%] 6 humming uint8_t als_rev_limit; // Rev limit when ALS active [100 rpm] 1 humming 1 humming // Misc power outputs 1 humming uint8_t misc1out_minrpm; // misc1out,minimum rpm [100 rpm] </code> * Its the stuff thats downloaded from VEMS that causes the problem. ** you mean "mcd" gives bad values ? Very very unlikely (compared to anything else that can cause it, like global.h mismatch) ||intended config.txt||output of mcd|| ||als_ignretard=FF||als_ignretard=FF|| ||als_rich=FF||als_rich=FF|| ||misc1out_minrpm=FF||als_rev_limit=FF|| ||misc1out_maxrpm=FF||misc1out_minrpm=FF|| ||misc1out_mintps=FF||misc1out_maxrpm=FF|| ||misc1out_maxtps=FF||misc1out_mintps=FF|| ||misc1out_minmap=FF||misc1out_maxtps=FF|| ||misc1out_maxmap=FF||misc1out_minmap=FF|| ||misc1out_channel=FF||misc1out_maxmap=FF|| ||misc2out_minrpm=FF||misc1out_channel=FF|| ||misc2out_maxrpm=FF||misc2out_minrpm=FF|| ||misc2out_mintps=FF||misc2out_maxrpm=FF|| ||misc2out_maxtps=FF||misc2out_mintps=FF|| ||misc2out_minmap=FF||misc2out_maxtps=FF|| ||misc2out_maxmap=FF||misc2out_minmap=FF|| ||misc2out_channel=FF||misc2out_maxmap=FF|| ||act_wot_rpm=FF||misc2out_channel=FF|| ||act_wot_channel=FF||act_wot_rpm=FF|| ||act_rpm_rpm=FF||act_wot_channel=FF|| ||act_rpm_channel=FF||act_rpm_rpm=FF|| ||egt1_cal=49||act_rpm_channel=FF|| ||egt1_offs=00||egt1_cal=49|| ||boost_conf=00||egt1_offs=00|| ||boost_targetoffs=00||boost_conf=00|| ||boost_minpressure=FF||boost_targetoffs=00|| ||boost_pid_kp=20||boost_minpressure=FF|| ||boost_pid_ki=80||boost_pid_kp=20|| ||boost_pid_kd=01||bip_b|| ||boost_pid_ilimit=FF||_yw00roFkfF=r|| ||boost_channel=FF|| || ||water_pump_temp=00|| || ||hybrid_rpm_a=00|| || ||hybrid_rpm_m=00|| || ||water_pump_hyst=00|| || ||water_pump_channel=FF|| || And the config: <code> primep=04 primep_temp_scaling=A0 cwl=64 cwh=14 cranking_thres=03 awev=00 awev_temp_scaling=A0 awc=0A warmup_clt_range[0]=00 warmup_clt_range[1]=14 warmup_clt_range[2]=28 warmup_clt_range[3]=3C warmup_clt_range[4]=50 warmup_clt_range[5]=64 warmup_clt_range[6]=78 warmup_clt_range[7]=8C warmup_clt_range[8]=AA warmup_clt_range[9]=C8 warmup_clt[0]=AA warmup_clt[1]=AA warmup_clt[2]=AA warmup_clt[3]=96 warmup_clt[4]=96 warmup_clt[5]=82 warmup_clt[6]=78 warmup_clt[7]=6E warmup_clt[8]=69 warmup_clt[9]=64 warmup_rpm_scale=FF req_fuel=30 divider=03 alternate=01 injopen=1A battfac=4D kpafac=7D kpaoffs=80 injocfuel=04 injrampup_battfac=FF injpwm=FF injpwmt=FF injpwm6=FF rpmk[0]=07 rpmk[1]=D0 tpsdot_kpadot_conf=00 tpsdotrate[0]=05 tpsdotrate[1]=14 tpsdotrate[2]=28 tpsdotrate[3]=4D tpsaq[0]=03 tpsaq[1]=05 tpsaq[2]=07 tpsaq[3]=0F tps_thresh=05 tpsasync=03 acmult=96 tpsacold=02 tpsdq=64 decel_fuelcut_thres=1A overrun_fuelcut=FF overrun_fuelresume=FF rev_limit=43 airden_ignore=62 config11=51 config12=50 config13=02 batt_cal=A3 fastidle=80 baro=64 dbaro=0C tps_low=F9 tps_high=38 fan_temp=55 fan_hyst=09 fan_channel=FF iac_step_seq=D8 iac_conf=18 iac_max_steps=BF iac_tps_thres=0F iac_cold_idle_temp=BF iac_warm_idle_temp=C7 iac_cold_rpm=64 iac_warm_rpm=64 iac_cold_start_pos=99 iac_warm_start_pos=73 iac_afterstart_rpm=0A iac_afterstart_duration=30 iac_afterstart_steps=04 iac_kp=0B iac_ki=05 iac_kd=19 iac_integral_speed=41 iac_integral_limit_dec=19 iac_integral_limit_inc=B8 iac_integral_deadband=0A iac_deadband=03 iac_pid_conf=01 iac_overclose_interval=02 iac_ref_pos[0]=BE iac_ref_pos[1]=BE iac_ref_pos[2]=C8 iac_ref_pos[3]=C8 iac_ref_pos[4]=C8 iac_ref_pos[5]=C3 iac_ref_pos[6]=C3 iac_ref_pos[7]=BE iac_ref_pos[8]=BE iac_ref_pos[9]=BE iac_sol_channel=FF iac_ign_advance_change=00 iac_ign_retard_change=00 iac_ign_advance_limit=00 iac_ign_retard_limit=00 iac_ign_threshold=00 ego_conf=26 ego_lag=05 ego_coolant=94 ego_maxtps=FF ego_maxmap=37 ego_minrpm=05 ego_maxrpm=FF ego_warmup=3C ego_lean_limit=0D ego_rich_limit=05 ego_pid_kp=96 mt_unused=00 ego_delta=03 ego_target=19 ego_pid_window=FF wbo2_warmup_ramp=FA wbo2_warmup_target=FF wbo2_abs_limit=E4 wbo2_limit_maxt=A0 wbo2_fallback=60 wbo2_retry_t=06 wbo2_edgetime_corr=BA wbo2_edgetime_min=50 wbo2_ri_target=96 wbo2_nernstdc_target=8D wbo2_pump_pw_zero=64 wbo2_calibration=AE wbo2_heater_pid_kp=46 wbo2_heater_pid_ki=10 wbo2_heater_pid_kd=1A wbo2_heater_pid_ilimit=80 wbo2_pump_pid_kp=40 wbo2_pump_pid_ki=2E wbo2_pump_pid_kd=08 wbo2_pump_pid_ilimit=84 wbo2_ri_confidence_scale=80 knock_conf=00 knock_sampling_window=FF knock1_frequency=29 knock1_gain=FF knock1_integrator=FF knock2_frequency=29 knock2_gain=FF knock2_integrator=FF knock_threshold=FF knock_noise_scale=FF knock_max_retard=FF knock_default_retard=00 knock_retard_step=FF knock_retard_delay=FF knock_advance_step=FF knock_advance_delay=FF knock_minrpm=FF knock_maxrpm=FF ve_learn_coolant=FF ve_learn_max_power=FF ve_learn_rpm_scale=FF ve_learn_kpa_scale=FF ve_learn_ego_scale=FF ve_learn_min_weight=FF ve_learn_speed=FF ve_learn_limit=FF ve_learn_conf=00 lcd_c0=FF lcd_delay=11 lcd_backlight=FF lcd_offs[0]=FF lcd_offs[1]=FF lcd_offs[2]=FF lcd_offs[3]=FF lcd_default_view=00 primary_trigger=01 secondary_trigger=02 tooth_wheel=3A trigger_tooth=03 another_trigger_tooth=14 crank_minper=50 tooth_wheel_twidth1=06 tooth_wheel_twidth2=12 cam_sync_r_edge_phase=FF cam_sync_f_edge_phase=FF reset_engphase_after=FF ign_tdcdelay=84 ign_dwell14=27 ign_dwell6=8A ign_crank_advance=50 ign_out=70 ignchmax=02 engine_off_delay=08 pump_on_mintime=0F fuelpump_channel=57 inj_stage2_rate=FF inj_stage2_start_tps=FF inj_stage2_start_map=FF als_lowrpm=FF als_maxtps=FF als_ignretard=FF als_rich=FF misc1out_minrpm=FF misc1out_maxrpm=FF misc1out_mintps=FF misc1out_maxtps=FF misc1out_minmap=FF misc1out_maxmap=FF misc1out_channel=FF misc2out_minrpm=FF misc2out_maxrpm=FF misc2out_mintps=FF misc2out_maxtps=FF misc2out_minmap=FF misc2out_maxmap=FF misc2out_channel=FF act_wot_rpm=FF act_wot_channel=FF act_rpm_rpm=FF act_rpm_channel=FF egt1_cal=49 egt1_offs=00 boost_conf=00 boost_targetoffs=00 boost_minpressure=FF boost_pid_kp=20 boost_pid_ki=80 boost_pid_kd=01 boost_pid_ilimit=FF boost_channel=FF water_pump_temp=00 hybrid_rpm_a=00 hybrid_rpm_m=00 water_pump_hyst=00 water_pump_channel=FF </code> And the mtt file <code> Mantt g00c04 g01cA0 g02c64 g03c14 g04c03 g05c00 g06cA0 g07c0A g08c00 g09c14 g0Ac28 g0Bc3C g0Cc50 g0Dc64 g0Ec78 g0Fc8C g10cAA g11cC8 g12cAA g13cAA g14cAA g15c96 g16c96 g17c82 g18c78 g19c6E g1Ac69 g1Bc64 g1CcFF g1Dc30 g1Ec03 g1Fc01 g20c1A g21c4D g22c7D g23c80 g24c04 g25cFF g26cFF g27cFF g28cFF g29c07 g2AcD0 g2Bc00 g2Cc05 g2Dc14 g2Ec28 g2Fc4D g30c03 g31c05 g32c07 g33c0F g34c05 g35c03 g36c96 g37c02 g38c64 g39c1A g3AcFF g3BcFF g3Cc43 g3Dc62 g3Ec51 g3Fc50 g40c02 g41cA3 g42c80 g43c64 g44c0C g45cF9 g46c38 g47c55 g48c09 g49cFF g4AcD8 g4Bc18 g4CcBF g4Dc0F g4EcBF g4FcC7 g50c64 g51c64 g52c99 g53c73 g54c0A g55c30 g56c04 g57c0B g58c05 g59c19 g5Ac41 g5Bc19 g5CcB8 g5Dc0A g5Ec03 g5Fc01 g60c02 g61cBE g62cBE g63cC8 g64cC8 g65cC8 g66cC3 g67cC3 g68cBE g69cBE g6AcBE g6BcFF g6Cc00 g6Dc00 g6Ec00 g6Fc00 g70c00 g71c26 g72c05 g73c94 g74cFF g75c37 g76c05 g77cFF g78c3C g79c0D g7Ac05 g7Bc96 g7Cc00 g7Dc03 g7Ec19 g7FcFF g80cFA g81cFF g82cE4 g83cA0 g84c60 g85c06 g86cBA g87c50 g88c96 g89c8D g8Ac64 g8BcAE g8Cc46 g8Dc10 g8Ec1A g8Fc80 g90c40 g91c2E g92c08 g93c84 g94c80 g95c00 g96cFF g97c29 g98cFF g99cFF g9Ac29 g9BcFF g9CcFF g9DcFF g9EcFF g9FcFF gA0c00 gA1cFF gA2cFF gA3cFF gA4cFF gA5cFF gA6cFF gA7cFF gA8cFF gA9cFF gAAcFF gABcFF gACcFF gADcFF gAEcFF gAFc00 gB0cFF gB1c11 gB2cFF gB3cFF gB4cFF gB5cFF gB6cFF gB7c00 gB8c01 gB9c02 gBAc3A gBBc03 gBCc14 gBDc50 gBEc06 gBFc12 gC0cFF gC1cFF gC2cFF gC3c84 gC4c27 gC5c8A gC6c50 gC7c70 gC8c02 gC9c08 gCAc0F gCBc57 gCCcFF gCDcFF gCEcFF gCFcFF gD0cFF gD1cFF gD2cFF gD3cFF gD4cFF gD5cFF gD6cFF gD7cFF gD8cFF gD9cFF gDAcFF gDBcFF gDCcFF gDDcFF gDEcFF gDFcFF gE0cFF gE1cFF gE2cFF gE3cFF gE4cFF gE5cFF gE6c49 gE7c00 gE8c00 gE9c00 gEAcFF gEBc20 gECc80 gEDc01 gEEcFF gEFcFF gF0c00 gF1c00 gF2c00 gF3c00 gF4cFF gF5cFF gF6cFF gF7cFF gF8cFF gF9cFF gFAcFF gFBcFF gFCcFF gFDcFF mcs bye </code> That seems clearly bad. <code> gD2cFF gD3cFF gD4cFF <code> What is gD3cFF doing there ? Should be <code> gD2cFF gD4cFF since in varstr.h in any recent firmware char _varname_str_d2[] PROGMEM = "als_rich"; char _varname_str_d3[] PROGMEM = "als_rev_limit"; char _varname_str_d4[] PROGMEM = "misc1out_minrpm"; So D3 position is als_rev_limit which is not specified in the config. So again, check that global.h matches firmware. </code> But it does not worth to investigate if firmware version is not provided. |