示例#1
0
void configureGmTriggerShape(trigger_shape_s *s) {
	triggerShapeInit(s);

	// all angles are x2 here - so, 5 degree width is 10
	float w = 10;

	s->shaftPositionEventCount = 14;

	triggerAddEvent(s, 120 - w, T_PRIMARY, TV_HIGH);
	triggerAddEvent(s, 120, T_PRIMARY, TV_LOW);

	triggerAddEvent(s, 240 - w, T_PRIMARY, TV_HIGH);
	triggerAddEvent(s, 240, T_PRIMARY, TV_LOW);

	triggerAddEvent(s, 360 - w, T_PRIMARY, TV_HIGH);
	triggerAddEvent(s, 360, T_PRIMARY, TV_LOW);

	triggerAddEvent(s, 480 - w, T_PRIMARY, TV_HIGH);
	triggerAddEvent(s, 480, T_PRIMARY, TV_LOW);

	triggerAddEvent(s, 600 - w, T_PRIMARY, TV_HIGH);
	triggerAddEvent(s, 600, T_PRIMARY, TV_LOW);

	triggerAddEvent(s, 700 - w, T_PRIMARY, TV_HIGH);
	triggerAddEvent(s, 700, T_PRIMARY, TV_LOW);

	triggerAddEvent(s, 720 - w, T_PRIMARY, TV_HIGH);
	triggerAddEvent(s, 720, T_PRIMARY, TV_LOW);

}
示例#2
0
void configureNeonTriggerShape(trigger_shape_s *s) {
    triggerShapeInit(s);

    // voodoo magic - we always need 720 at the end
    int base = 720 - 560;

    s->initialState[0] = 1;

    triggerAddEvent(s, base - 720 + 600, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base - 720 + 604, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base - 720 + 616, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base - 720 + 620, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base - 720 + 643, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base - 720 + 648, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base - 720 + 671, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base - 720 + 676, T_SECONDARY, TV_LOW);

    triggerAddEvent(s, base + 0, T_PRIMARY, TV_LOW);

    triggerAddEvent(s, base + 20, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 60, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base + 75, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 79, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base + 101, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 106, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base + 130, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 135, T_SECONDARY, TV_LOW);

    triggerAddEvent(s, base + 200, T_PRIMARY, TV_HIGH); // width = 150

    triggerAddEvent(s, base + 236, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 239, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base + 250, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 255, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base + 277, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 282, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base + 305, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 310, T_SECONDARY, TV_LOW);

    triggerAddEvent(s, base + 374, T_SECONDARY, TV_HIGH);

    triggerAddEvent(s, base + 395, T_PRIMARY, TV_LOW); // width =

    triggerAddEvent(s, base + 418, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base + 436, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 441, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base + 463, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 468, T_SECONDARY, TV_LOW);
    triggerAddEvent(s, base + 492, T_SECONDARY, TV_HIGH);
    triggerAddEvent(s, base + 497, T_SECONDARY, TV_LOW);


    triggerAddEvent(s, base + 560, T_PRIMARY, TV_HIGH); // width =

    s->shaftPositionEventCount = 4 + 8 + 8 + 8 + 8;
}
示例#3
0
void initializeMazdaMiataNbShape(trigger_shape_s *s) {
	triggerShapeInit(s);

	/**
	 * cam sensor is primary, crank sensor is secondary
	 */
	triggerAddEvent(s, 20, T_PRIMARY, TV_LOW);

	triggerAddEvent(s, 66, T_SECONDARY, TV_HIGH);
	triggerAddEvent(s, 70, T_SECONDARY, TV_LOW);
	triggerAddEvent(s, 136, T_SECONDARY, TV_HIGH);
	triggerAddEvent(s, 140, T_SECONDARY, TV_LOW);
	triggerAddEvent(s, 246, T_SECONDARY, TV_HIGH);
	triggerAddEvent(s, 250, T_SECONDARY, TV_LOW);
	triggerAddEvent(s, 316, T_SECONDARY, TV_HIGH);
	triggerAddEvent(s, 320, T_SECONDARY, TV_LOW);

	triggerAddEvent(s, 340, T_PRIMARY, TV_HIGH);
	triggerAddEvent(s, 360, T_PRIMARY, TV_LOW);

	triggerAddEvent(s, 380, T_PRIMARY, TV_HIGH);
	triggerAddEvent(s, 400, T_PRIMARY, TV_LOW);

	triggerAddEvent(s, 426, T_SECONDARY, TV_HIGH);
	triggerAddEvent(s, 430, T_SECONDARY, TV_LOW);
	triggerAddEvent(s, 496, T_SECONDARY, TV_HIGH);
	triggerAddEvent(s, 500, T_SECONDARY, TV_LOW);
	triggerAddEvent(s, 606, T_SECONDARY, TV_HIGH);
	triggerAddEvent(s, 610, T_SECONDARY, TV_LOW);
	triggerAddEvent(s, 676, T_SECONDARY, TV_HIGH);
	triggerAddEvent(s, 680, T_SECONDARY, TV_LOW);

	triggerAddEvent(s, 720, T_PRIMARY, TV_HIGH);

	s->shaftPositionEventCount = 6 + 16;
}