コード例 #1
0
ファイル: leffs.c プロジェクト: CardonaPinball/freewpc
void midnight_leff (void)
{
	U8 n;
	leff_on (LM_CLOCK_HOUR_12);
	leff_on (LM_CLOCK_0_MIN);
	for (n=0; n < 32; n++)
	{
		flasher_pulse (FLASH_CLOCK_FLASHERS);
		task_sleep (TIME_133MS);
	}
	leff_exit ();
}
コード例 #2
0
ファイル: leffs.c プロジェクト: aeneas-flippers-be/freewpc
void hz_disdrop_leff (void)
{
	leff_on (LM_HZ_DISDROP);
	task_sleep (TIME_100MS);
	leff_off (LM_HZ_DISDROP);
	task_sleep (TIME_100MS);
	leff_on (LM_HZ_DISDROP);
	task_sleep (TIME_100MS);
	leff_off (LM_HZ_DISDROP);
	task_sleep (TIME_100MS);
	leff_exit ();
}
コード例 #3
0
ファイル: leffs.c プロジェクト: aeneas-flippers-be/freewpc
void bftg_leff (void)
{
	leff_on (LM_2BANK_UP);
	leff_on (LM_2BANK_LOW);
	task_sleep (TIME_100MS);
	leff_off (LM_2BANK_UP);
	leff_off (LM_2BANK_LOW);
	task_sleep (TIME_100MS);
	leff_on (LM_2BANK_UP);
	leff_on (LM_2BANK_LOW);
	leff_exit ();
}
コード例 #4
0
ファイル: leffs.c プロジェクト: SonnyJim/freewpc
void multiball_running_leff (void)
{
	leff_on (LM_GUM);
	leff_off (LM_BALL);
	leff_off (LM_LOCK1);
	leff_on (LM_LOCK2);
	for (;;)
	{
		lamplist_apply (LAMPLIST_DOOR_LOCKS_AND_GUMBALL, leff_toggle);
		task_sleep (TIME_200MS);
	}
	leff_exit ();
}
コード例 #5
0
ファイル: switches.c プロジェクト: Curbfeeler/freewpc
/** Task that performs a switch lamp pulse.
 * Some switches are inherently tied to a lamp.  When the switch
 * triggers, the lamp can be automatically flickered.  This is
 * implemented as a pseudo-lamp effect, so the true state of the
 * lamp is not disturbed. */
void switch_lamp_pulse (void)
{
	lamp_pulse_data_t * const cdata = task_current_class_data (lamp_pulse_data_t);
	/* Although not a true leff, this fools the lamp draw to doing
	 * the right thing. */
	cdata->leffdata.flags = L_SHARED;

	/* If the lamp is already allocated by another lamp effect,
	then don't bother trying to do the pulse. */
	if (lamp_leff2_test_and_allocate (cdata->swinfo->lamp))
	{
		/* Change the state of the lamp */
		if (lamp_test (cdata->swinfo->lamp))
			leff_off (cdata->swinfo->lamp);
		else
			leff_on (cdata->swinfo->lamp);
		task_sleep (TIME_200MS);

		/* Change it back */
		leff_toggle (cdata->swinfo->lamp);
		task_sleep (TIME_200MS);

		/* Free the lamp */
		lamp_leff2_free (cdata->swinfo->lamp);
	}
	task_exit ();
}
コード例 #6
0
ファイル: leffs.c プロジェクト: CardonaPinball/freewpc
void gangway_strobe_leff (void)
{
	leff_on (lamplist_index (LAMPLIST_GANGWAYS, 0));
	leff_create_peer (gangway_strobe_leff1);
	task_sleep_sec (3);
	leff_exit ();
}
コード例 #7
0
ファイル: leffs.c プロジェクト: aeneas-flippers-be/freewpc
void goldrafts_leff (void)
{
	leff_on (LM_RAFT_1);
	leff_on (LM_RAFT_3);
	leff_on (LM_RAFT_5);
	leff_on (LM_RAFT_7);
	for (;;)
	{
		leff_toggle (LM_RAFT_1);
		leff_toggle (LM_RAFT_2);
		leff_toggle (LM_RAFT_3);
		leff_toggle (LM_RAFT_4);
		leff_toggle (LM_RAFT_5);
		leff_toggle (LM_RAFT_6);
		leff_toggle (LM_RAFT_7);
		leff_toggle (LM_RAFT_8);
		task_sleep (TIME_200MS); //500 too slow needs to be almost half - 300 weird in middle ?
	}
}
コード例 #8
0
ファイル: leffs.c プロジェクト: aeneas-flippers-be/freewpc
void wpoolmode_leff (void)
{
	for (;;)
	{
		leff_off (LM_WHIRLPOOL_6);
		leff_on (LM_WHIRLPOOL_1);
		task_sleep (TIME_100MS);

		leff_off (LM_WHIRLPOOL_1);
		leff_on (LM_WHIRLPOOL_2);
		task_sleep (TIME_100MS);

		leff_off (LM_WHIRLPOOL_2);
		leff_on (LM_WHIRLPOOL_3);
		task_sleep (TIME_100MS);

		leff_off (LM_WHIRLPOOL_3);
		leff_on (LM_WHIRLPOOL_4);
		task_sleep (TIME_100MS);

		leff_off (LM_WHIRLPOOL_4);
		leff_on (LM_WHIRLPOOL_5);
		task_sleep (TIME_100MS);

		leff_off (LM_WHIRLPOOL_5);
		leff_on (LM_WHIRLPOOL_6);
		task_sleep (TIME_100MS);
	}
}
コード例 #9
0
ファイル: leffs.c プロジェクト: CardonaPinball/freewpc_DM
/****************************************************************************
 *
 * car crash lighting effects
 *
 ****************************************************************************/
void car_crash_runner_leff (void) {
for (;;) {
			//listed from botton to top
			leff_on (LM_CAR_CRASH_BOTTOM);
			task_sleep (TIME_200MS);
			leff_off (LM_CAR_CRASH_BOTTOM);
			leff_on (LM_CAR_CRASH_CENTER);
			task_sleep (TIME_200MS);
			leff_off (LM_CAR_CRASH_CENTER);
			leff_on (LM_CAR_CRASH_TOP);
			task_sleep (TIME_200MS);
			leff_off (LM_CAR_CRASH_TOP);
			task_sleep (TIME_200MS);

			if (flag_test (FLAG_IS_CC3_LIT)) 	leff_on (LM_CAR_CRASH_BOTTOM);
			if (flag_test (FLAG_IS_CC6_LIT)) 	leff_on (LM_CAR_CRASH_CENTER);
			if (flag_test (FLAG_IS_CC10_LIT)) 	leff_on (LM_CAR_CRASH_TOP);
			task_sleep (TIME_1S);

			leff_off (LM_CAR_CRASH_BOTTOM);
			leff_off (LM_CAR_CRASH_CENTER);
			leff_off (LM_CAR_CRASH_TOP);
			task_sleep (TIME_200MS);
	}//END OF LOOP
	leff_exit();
}//end of function
コード例 #10
0
ファイル: leffs.c プロジェクト: aeneas-flippers-be/freewpc
void skilllock_leff (void)
{
	leff_off (LM_LOCK_1);
	leff_off (LM_LOCK_2);
	leff_off (LM_LOCK_3);

	for (;;)
	{
		leff_on (LM_LOCK_1);
		task_sleep (TIME_33MS);
		leff_off (LM_LOCK_3);
		task_sleep (TIME_100MS);
		leff_on (LM_LOCK_2);
		task_sleep (TIME_33MS);
		leff_off (LM_LOCK_1);
		task_sleep (TIME_100MS);
		leff_on (LM_LOCK_3);
		task_sleep (TIME_33MS);
		leff_off (LM_LOCK_2);
		task_sleep (TIME_100MS);
		flasher_pulse (FLASH_BIGFOOT_BODY_FL);
	}
}
コード例 #11
0
ファイル: leffs.c プロジェクト: CardonaPinball/freewpc_DM
void ramp_clawready_leff (void) {
	for (;;) {
		//listed from botton to top
		leff_on (LM_CLAW_READY);
		task_sleep (TIME_100MS);
		leff_off (LM_CLAW_READY);
		leff_on (LM_RIGHT_RAMP_CAR_CHASE);
		task_sleep (TIME_100MS);
		leff_off (LM_RIGHT_RAMP_CAR_CHASE);
		leff_on (LM_RIGHT_RAMP_EXPLODE);
		task_sleep (TIME_100MS);
		leff_off (LM_RIGHT_RAMP_EXPLODE);
		leff_on (LM_RIGHT_RAMP_JACKPOT);
		task_sleep (TIME_100MS);
		leff_off (LM_RIGHT_RAMP_JACKPOT);
		leff_on (LM_RIGHT_RAMP_ARROW);
		task_sleep (TIME_100MS);
		leff_off (LM_RIGHT_RAMP_ARROW);
		task_sleep (TIME_100MS);

		if (flag_test(FLAG_IS_R_RAMP_CLAWREADY)) 			leff_on (LM_CLAW_READY);
		if (is_carchase_mode_running() )							leff_on (LM_RIGHT_RAMP_CAR_CHASE);
		if (is_explode_mode_running() )							leff_on (LM_RIGHT_LOOP_EXPLODE);
		if (get_jackpot_arrows(rramp_mask) ) 				leff_on (LM_RIGHT_RAMP_JACKPOT);
		if (flag_test(FLAG_IS_R_RAMP_ARROW_ACTIVATED)) 		leff_on (LM_RIGHT_RAMP_ARROW);
		task_sleep (TIME_1S);

		leff_off (LM_CLAW_READY);
		leff_off (LM_RIGHT_RAMP_CAR_CHASE);
		leff_off (LM_RIGHT_RAMP_EXPLODE);
		leff_off (LM_RIGHT_RAMP_JACKPOT);
		leff_off (LM_RIGHT_RAMP_ARROW);
		task_sleep (TIME_200MS);
	}//END OF LOOP
	leff_exit();
}//end of function
コード例 #12
0
ファイル: leffs.c プロジェクト: CardonaPinball/freewpc_DM
/****************************************************************************
 *
 * ramps lighting effects
 *
 ****************************************************************************/
void ramp_quickfreeze_leff (void) {
	for (;;) {
		//listed from botton to top
		leff_on (LM_QUICK_FREEZE);
		task_sleep (TIME_100MS);
		leff_off (LM_QUICK_FREEZE);
		leff_on (LM_LEFT_RAMP_CAR_CHASE);
		task_sleep (TIME_100MS);
		leff_off (LM_LEFT_RAMP_CAR_CHASE);
		leff_on (LM_LEFT_RAMP_EXPLODE);
		task_sleep (TIME_100MS);
		leff_off (LM_LEFT_RAMP_EXPLODE);
		leff_on (LM_LEFT_RAMP_JACKPOT);
		task_sleep (TIME_100MS);
		leff_off (LM_LEFT_RAMP_JACKPOT);
		leff_on (LM_LEFT_RAMP_ARROW);
		task_sleep (TIME_100MS);
		leff_off (LM_LEFT_RAMP_ARROW);
		task_sleep (TIME_100MS);

		if (flag_test(FLAG_IS_LRAMP_QUICKFREEZE_ACTIVATED)) 	leff_on (LM_QUICK_FREEZE);
		if (is_carchase_mode_running() )								leff_on (LM_LEFT_RAMP_CAR_CHASE);
		if (is_explode_mode_running() )						 		leff_on (LM_LEFT_LOOP_EXPLODE);
		if (get_jackpot_arrows(lramp_mask) ) 					leff_on (LM_LEFT_RAMP_JACKPOT);
		if (flag_test(FLAG_IS_L_RAMP_ARROW_ACTIVATED)) 			leff_on (LM_LEFT_RAMP_ARROW);
		task_sleep (TIME_1S);

		leff_off (LM_QUICK_FREEZE);
		leff_off (LM_LEFT_RAMP_CAR_CHASE);
		leff_off (LM_LEFT_RAMP_EXPLODE);
		leff_off (LM_LEFT_RAMP_JACKPOT);
		leff_off (LM_LEFT_RAMP_ARROW);
		task_sleep (TIME_200MS);
	}//END OF LOOP
	leff_exit();
}//end of function
コード例 #13
0
ファイル: leffs.c プロジェクト: CardonaPinball/freewpc_DM
/****************************************************************************
 *
 * orbits lighting effects
 *
 ****************************************************************************/
void orbits_runner_leff (void) {  //left loop
	for (;;) {
		//listed from botton to top
		leff_on (LM_EXTRA_BALL);
		task_sleep (TIME_100MS);
		leff_off (LM_EXTRA_BALL);
		leff_on (LM_START_MULTIBALL);
		task_sleep (TIME_100MS);
		leff_off (LM_START_MULTIBALL);
		leff_on (LM_LEFT_LOOP_EXPLODE);
		task_sleep (TIME_100MS);
		leff_off (LM_LEFT_LOOP_EXPLODE);
		leff_on (LM_LEFT_LOOP_JACKPOT);
		task_sleep (TIME_100MS);
		leff_off (LM_LEFT_LOOP_JACKPOT);
		leff_on (LM_LEFT_LOOP_ARROW);
		task_sleep (TIME_100MS);
		leff_off (LM_LEFT_LOOP_ARROW);
		task_sleep (TIME_100MS);

		if (flag_test(FLAG_IS_EXTRABALL_LIT)) 				leff_on (LM_EXTRA_BALL);
		if (flag_test(FLAG_IS_MULTIBALL_ENABLED)) 			leff_on (LM_START_MULTIBALL);
		if (is_explode_mode_running() )					 		lamp_tristate_flash (LM_LEFT_LOOP_EXPLODE);
		if (get_jackpot_arrows(lloop_mask)) 				leff_on (LM_LEFT_LOOP_JACKPOT);
		if (flag_test(FLAG_IS_L_LOOP_ARROW_ACTIVATED)) 		leff_on (LM_LEFT_LOOP_ARROW);
		task_sleep (TIME_2S);

		leff_off (LM_EXTRA_BALL);
		leff_off (LM_START_MULTIBALL);
		leff_off (LM_LEFT_LOOP_EXPLODE);
		leff_off (LM_LEFT_LOOP_JACKPOT);
		leff_off (LM_LEFT_LOOP_ARROW);
		task_sleep (TIME_100MS);
	}//end of loop
	leff_exit();
}//end of function
コード例 #14
0
ファイル: leffs.c プロジェクト: aeneas-flippers-be/freewpc
void raftloop_leff (void)
{
	for (;;)
	{
		leff_off (LM_RAFT_8);
		leff_on (LM_RAFT_1);
		task_sleep (TIME_200MS);
		leff_on (LM_RAFT_2);
		task_sleep (TIME_200MS);
		leff_on (LM_RAFT_3);
		task_sleep (TIME_200MS);
		leff_on (LM_RAFT_4);
		task_sleep (TIME_200MS);
		leff_on (LM_RAFT_5);
		task_sleep (TIME_200MS);
		leff_on (LM_RAFT_6);
		task_sleep (TIME_200MS);
		leff_on (LM_RAFT_7);
		task_sleep (TIME_200MS);
		leff_on (LM_RAFT_8);
		task_sleep (TIME_200MS);
		leff_off (LM_RAFT_1);
		task_sleep (TIME_200MS);
		leff_off (LM_RAFT_2);
		task_sleep (TIME_200MS);
		leff_off (LM_RAFT_3);
		task_sleep (TIME_200MS);
		leff_off (LM_RAFT_4);
		task_sleep (TIME_200MS);
		leff_off (LM_RAFT_5);
		task_sleep (TIME_200MS);
		leff_off (LM_RAFT_6);
		task_sleep (TIME_200MS);
		leff_off (LM_RAFT_7);
		task_sleep (TIME_200MS);
	}
}
コード例 #15
0
ファイル: leffs.c プロジェクト: aeneas-flippers-be/freewpc
void tgttoggle_leff (void)
{
	leff_on (LM_RIVER_R1);
	leff_on (LM_RIVER_V);
	leff_on (LM_RIVER_R2);
	leff_on (LM_3BANK_TOP);
	leff_on (LM_3BANK_BOTTOM);
	leff_on (LM_2BANK_LOW);

	for (;;)
	{
		leff_toggle (LM_RIVER_R1);
		leff_toggle (LM_RIVER_I);
		leff_toggle (LM_RIVER_V);
		leff_toggle (LM_RIVER_E);
		leff_toggle (LM_RIVER_R2);
		leff_toggle (LM_3BANK_TOP);
		leff_toggle (LM_3BANK_CENTER);
		leff_toggle (LM_3BANK_BOTTOM);
		leff_toggle (LM_2BANK_UP);
		leff_toggle (LM_2BANK_LOW);
		task_sleep (TIME_200MS);
	}
}