### ## ## ###### ## ## ##
# ### ## # # # # # # #
__ __ \ \ / / \ V / \ / | | \_/
_______ ( ____ \ | ( \/ | (__ | __) | ( | (____/\ (_______/
###### # ## # ######
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: Earlier, the in-firmware (mst.. msp.. commands) OutputTrigger was used to drive trigger signals. To test MembersPage/FiatStilo trigger code, we wrote new code '''note''' We still need a set of standard test wav files, one for each trigger type, revving from 300rpm to 7000rpm. These should compress well with zip as the patterns are repetative. * download signalgen from UsabiLity/GenBoard/WinTools For the real VR signal, polarity is important. Because of the edge positions, the polarity of the generated signal does not effect the relative time of the edges. This makes testing much easier. The polarity of the generated signal can be inverted (by using capital type-char like M,C,F instead of m,c,f - see below) but it shouldn't be needed. To generate a wav of 60-2 (58+2) multitooth wheel, at 1740 RPM, with a lenght of 200 seconds, amplitude of 65535 and secondary trigger at 20 degrees, execute: <code> signalgen.exe m582 1740 200 20 65535 m582_1740.wav </code> The code supports '''Primary trigger''' * multitooth ** m582: multitooth 60-2 ** m351: multitooth 36-1 ** m631: multitooth 64-1 - such real wheel is not common, but we use a 64-1 (and a 16cyl wasted spark-like ignition) config setup during hardware testing to test all 8 output (8 inj + 8 ign) channels. * coiltype. eg. ** c004: coiltype with 4 cyl ** c008: coiltype with 8 cyl ** c270: auditrigger (1 sectrig pulse for every 270 primtrig pulse) * fiat stilo ** f000: fiatstilo * lotus elise ** e324: Lotus Elise * capitals for reverse polarity; might be necessary depending on soundcard '''Secondary_trigger''' * default simple type (1 pulse /camrot) * fiat stilo cam (planned) * secondary trigger (edge positions) parametrizable from commandline by arguments To generate a wav which revs up from 140 to 3000 RPM in 6 steps, holding 200 RPM for a while, sweeping secondary trigger 20+-5 degree at max amplitude: <code> signalgen m582 140:170:200:200:400:900:3000 300 15:25:20 65535 m582_test.wav </code> Particuarly useful for testing GenBoard/Manual/InputTriggerCamSync. See [http://shop.vems.hu/catalog/images/TestLightDumb_0002_s.jpg shop round testlight] item that is also very useful. '''Testing on the table can save hours or days of - sometimes frustrating - work'''. Small config or other errors can be very frustrating and difficult to find. If one knows that his config and ECM inputs and firmware are fine, she eliminated 70% of the problem-sources, and cut the number of possible problem-combinations to 1/10th. The '''cost is unfairly small, a few simple and cheap HW, and some work in the warm room'''. '''TODO:''' * DONE: document (easy usage) * DONE: release win binary ** porting was simple, currently only uses very basic C libraries and outputs stereo 44100 sample/sec (like CD) wav file (on stdout) * integrate with full duplex recording code, to record at the same time as outputting trigger ** useful to record some output (eg. ign output) ** should be easy on linux, as the record+play full duplex code is commited to same dir in SVN. But not yet integrated to the trigger generation code ---- '''Hardware''' - direct connection I simply connected the soundcard output to the ECM inputs, without any capacitor or resistor (the ECM has protection for the inputs anyway). * GND - GND (EC36pin26). The case of the jack connector. * left channel goes to primary trigger (EC36pin27). The tip of the jack male connector, if I'm right (TODO: check it) * right channel goes to secondary trigger ** EC36pin13 for secondary HALL ** EC18pin12 for secondary VR ("auditrigger") I listened via a headphone to both channels to tell crank from cam, before inserting the econoseal receptacles. With VR, there is no doubt it should work. With HALL input, maybe I was just lucky. The output level for the soundcard is 2V peak to peak, which is lower than the 0V/5V input that HALL is designed for. While it worked for me fine for first try, maybe I was lucky, and one needs to use 1..2 resistors to divide signal towards GND (1 resistor in the 10k range from input to GND should be enough to bias the input, the soundcard output is likely capacitively decoupled anyway). If in doubt, run mdf01mdkff menu-command, and in output watch for B.=.... benchstats. That should reveal if primary/secondary trigger pulses are detected with the right frequency. I use [http://audacity.sourceforge.net/ audacity] to play the wavs, but any program should do. It triggerred either HALL or VR. I used max soundcard volume, both PCM and master. '''If it does not trigger your HALL input, a pulldown resistor on the input with the right value (10..20k?) should help.''' This is because of the capacitor on the soundcard output can only pass AC, not DC. ---- '''Note on waveform''' * LM1815 triggers on the negative going falling edge, basically any reasonable periodic function is fine * square: the problem with square is the capacitive highpass filter at the soundcard: sine or trapezoid or triangle is not affected that much * triangle is not good because the peaks are not the same amplitude, because of the finite sampling rate (implementation could change, of course) * '''trapezoid and sine are just as good''' for either VR or HALL, just sine takes more CPU Feel free to tweak signalgen if you like, takes only a few lines. ---- '''See also''' * OutputTrigger - almost same purpuse * ElectronicDesign/SoundRecorder * ElectronicDesign * [http://www.starshadow.com/~koabi/carstuff/cranktriggers.php crank wheel trigger config generator] 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.