## ## ## ## ## ####
### ##### ## ## ## ## ## ## ## ## ### ##
_ _ ( ) ( ) `\`\_/'/' `\ /' | | (_)
###### ## ## ## ## ##### ## ####
__ __ | \/ | | |\/| | | | | | |_| |_|
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: '''generic way to select digital output channels''' GenBoard/VerThree has an '''amazing number of outputs''' (20 big power and 12 not so power outputs, but more than 32 if logic level ones are counted). Also an amazing number of nice features. This page explains '''how installers can map functions that require simple digital output to a real output''' ---- '''WARNING''' * When changing the configuration of these variables during operation, the given (previously configured) output is left in the state as it was just at the moment of configuration change (menucommand) * Configuring different features to same output at the same time results in stupid behaviour. The ''make mtt'' (make_conf.pl) warns about this. ---- '''Outputs''' like * IAC solenoid (idle-air ) ''iac_sol_channel'' * RPM switch ( eg. variable intake control, switchlight ) ''act_rpm_channel'' * WOT switch ( eg. Nitrious, NOS ) ''act_wot_channel'' * Fuel PUMP switch ''fuelpump_channel'' earlier default was P259_5 (not P259i_5 ? check yourself). * ''misc1out_channel'' in function of several signals, can be used eg. for simple BoostController * ''misc2out_channel'' similar as ''misc1out_channel'' * ''boost_channel'': actuator for precise fully mappable BoostController GenBoard/Manual/DigitalOut/Table lists all the outputs (and connector pins) with config values. ''make_conf.pl'' make it possible to use symbolic names for this in ''config.txt''. You can enter the real binary value (eg. with mtt command ) yourself of course if you look at the (make_conf.pl or firmware) code. <code> # check make_conf.pl varvaldictionary() to find the symbolic names : INJFET => 0, SPECFET => 1, I259 => 2, S259 => 6, P259 => 7, DISABLED => 15 </code> These symbolic names must be appended with a number (normally 0..7) that selects the subchannel. eg.: ''S259_7'' Optionally an ''i'' can be used to invert the signal: ''S259i_7''. Please check the examples. To find which symbolic name is for which output pin, check the schematic on GenBoard/Manual/InitialTesting/VerThree and see GenBoard/VerThree/PinOut page. ---- '''Examples''' The examples are for iac_sol_channel but same applies for similar digital outputs, like act_rpm_channel, act_wot_channel etc... <code> # disable; don't drive any output from this signal: iac_sol_channel=DISABLED_F # config.txt entry for idle valve on the P259 IDL output: iac_sol_channel=P259_4 # similar, but inverting: iac_sol_channel=P259i_4 # the SPECFET is not implemented, the meaning of the rest is trivial. Fero, you want sg. like iac_sol_channel=INJFET_6 or iac_sol_channel=INJFETi_6 </code> the stepper can be disabled with iac_conf bit 2 (stepper_iac) = 0 and solenoid can be disabled by iac_sol_channel= DISABLED_F '''Do NOT forget to set the relevant entry in h[0] if you use the INJFET output''': h[0] line's 7th element when using iac_sol_channel=INJFETi_6 You can of course switch several injFETs simultaneously. ---- ''' Config.txt formatting''' If you are doing this with the config.txt in hex mode. the formatting is <code> <function>_channel = <output_number> <driver:SPECFET, I259,S259,P259> </code> Please notice this is backwards of the way the perl script interpets the values. The corresponding page is on GenBoard/Manual/DigitalOut/Table Example: Would like Fuel pump on P259 pin 6 without inverting the output <code> fuelpump_channel = 67 </code> or Water pump on channel 5 (DRIVE_A) of the SPECFET <code> water_pump_channel = 51 </code> ---- '''Testing outputs''' Search for ''mdh'' (this is a menucommand) on GenBoard/VerThree/Testing ---- '''Developer's Notes''' * Finally we want to make an option for tuners to set these channel mappings the other way around: saying that ''XX output will be used for YY feature'', instead of the current way (the output channel needs to be specified for every feature). That's basically the same, but better matches installer's thinking and makes conflicts impossible. This proposal only requires small make_conf.pl related convenience feature, firmware does not need to be changed. If you are there, merge make_conf.pl and make_tables.pl into a common formatter (does not need to be 1 perlfile of course; the config parsing is already split out), so tables and config elements can be put to any number of files the user likes (which supports, but does not require the current config.txt and tables.txt split). The decimal values should be supported in config values as well, not just tables. Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.