Mode 10 > Pulsed

Pulsed Driver > Mode 10

Description of this item does here…

 

[DL/DN]:<DRIVER_ID>,<TRIGGER>,<SWITCH_ID>,<10>,<PWM1_ONTIME>,<PWM1>,<PWM2_ONTIME>,<PWM2>,<RESTTIME><CR>

 

  • <DRIVER_ID>
    • FAST Driver number, zero based.
  • <TRIGGER>
    • 0x00 = Disabled
    • 0x01 = Switch True
    • 0x09 = Switch True & Pulse Driver Immediately
    • 0x11 = Switch False
    • 0x19 = Switch False & Pulse Driver Immediately
    • 0xC1 = Virtual Switch True
    • 0x81 = Virtual Switch False
    • 0x89 = Virtual Switch False & Pulse Driver Immediately
  • <SWITCH_ID>
    • FAST Switch number, zero based.
  • <MODE>
    • 0x10 = Pulsed
  • <PWM1_ONTIME>
    • PWM1 On-Time in Milliseconds (HEX)
  • <PWM1>
    • ***See PWM Byte Sequence Table***
  • <PWM2_ONTIME>
    • PWM2 On-Time in Milliseconds (HEX)
  • <PWM2>
    • ***See PWM Byte Sequence Table***
  • <RESTTIME>
    • Rest Time in Milliseconds (HEX)

 

Examples:

Pulse a pop bumper (on driver channel 0x10 hex) for 20mS( 0x14 hex) when switch (0x15 hex) triggers.  After the event allow the coil to cool (restime) for 80mS (0x50 hex).

 

DN:10,01,15,10,14,FF,00,00,50<CR>

DN:id,tr,sw,md,p1,p2,p3,p4,p5

 

This is another example:  This one will fire the coil at 100% power for 8mS, and then 15mS at 50% power when switch 15 is triggered.

DN:10,01,15,10,08,FF,0F,AA,50<CR>

DN:id,tr,sw,md,p1,p2,p3,p4,p5

 

After this command is sent, the pop bumper will fire each time the switch that controls it goes true.

 

After The driver is configured, it can be changed anytime with a new DL/DN command or TL/TN command.

The difference between DL/DN and TL/TN is the DL/DN command always resets the driver back to the initial state (waiting to trigger), where the TL/TN command will allow a few changes without resetting a driver.  For a pop bumper, resetting to the initial state has little consequence.  If the coil was on when the new DL/DN command was written, the coil will turn off.  If the switch triggering the coil is still true, it will fire the coil again.

 

Manual Off/On.  When the game is over, or is tilted, drivers such as flippers/pop bumpers.. will need to be turned off.  The easiest way to do this is to set the driver to Manual Off.  The same command can be sent as before, but now the trigger is set to Manual off instead of “switch true”.

 

The command would be:

DN:10,81,15,10,14,FF,0,0,50<CR>

DN:id,tr,sw,md,p1,p2,p3,p4,p5

 

It could also be entered as:

DN:10,81<CR>

DN:id,tr

 

The DL/DN command allows for variable parameters, so you only need to send as many fields as it takes to get to the field(s) you want to modify.  In the example above we need to change the control field (second field), so we have to send the first two to complete the command.

 

Now that the driver has been disabled, to enable it you can write out the original string (with trigger set to trigger on the switch going true)

DN:10,01,15,10,14,FF,0,0,50<CR>

DN:id,tr,sw,md,p1,p2,p3,p4,p5

 

or

DN:10,01<CR> (shorter version without rewriting all the other fields).

 

Ok, what about software firing the coil manually?

 

The Control Manual On (0xc1) will allow the  software to pulse the coil as if a switch has pressed it.  Just like a switch, controlling the Pop Bumpers, Manual on does the same thing.  Manual On makes a virtual switch go true, and Manual Off makes the virtual switch go false.  The Pulse driver is a edge triggered driver meaning for each true switch edge, the coil will fire one time.  The switch must go false before the driver can trigger again (the the next true switch edge).  The same is true for the Manual virtual switch.  If you send a Manual On, You will have to send a Manual Off, wait the rest time 80mS in the example above, and then you can send another Manual On to file the coil again.  So basically Manual On and Manual Off work exactly like a switch, but the switch is controlled by SW.  Manual On and Manual Off both will cause the switch(0x15) in the above example to be ignored.

 

For manual on:

 

DN:10,C1,15,10,14,FF,00,00,50<CR>
DN:id,tr,sw,md,p1,p2,p3,p4,p5

 

(or DN:10,C1<CR>)

 

For manual off:

DN:10,81,15,10,14,FF,0,0,50<CR>
DN:id,tr,sw,md,p1,p2,p3,p4,p5

 

2016-02-04 21:21:19,063 : DEBUG : FAST : Writing hardware rule: DN:06,01,1B,10,03,ff,00,00,00
(or DN:10,81<CR>)

 

 

 

 

TRIGGERS…

 

What about that TL/TN command?

 

These commands only modify the Control and Switch parameters of the driver command.  These commands also do not reset the driver if it is already active like the DL/DN counterparts.  This can be especially important for taking manual control of something like flippers.  If the flippers are already active, and a new DN command is written, the flippers will be reset to off, and then re-trigger if the new Control (either switch or manual ON) is true.

 

By using the TL/TN command the control field can be modified without resetting the flippers to off like in the example above.

 

To manually fire our pop bumper with the settings at the beginning of this section, you would send the command (see the fields below for the TL/TN command):

TN:10,03<CR> Manual ON
TN:10,02<CR> Manual OFF
TN:10,00<CR> Manual mode off, switch (0x15 in above example) can now control the driver

 

The Switch_ID can also be changed with this command.

TN:10,00,16<CR> change the switch that controls Driver 0x10 to switch 0x16.

 

One other powerful feature of the TL/TN command is the ability to single fire the driver.  In the case of the pop bumper, this would fire the coil as if a switch was pressed without changing the current control mode.  This is useful for ball searches, or quickly firing a driver without having to send two commands (Manual On, and Manual Off).

 

“Trigger Control Modifier”

TL/TN:<Driver ID>,<CONTROL_MODIFIER>,<SWITCH_ID><CR>

where CONTROL= :

0 = Auto (Remove Manual Mode, clears upper two bits of CONTROL value)

1 = Manual one shot (only sets bit 3 of CONTROL value, no other bits modified)

2 = Manual OFF (Sets bit 7 of CONTROL value, and clears bit 6)

3 = Manual ON (Sets bit 6 and 7  of CONTROL value)