Skip to content

Commit

Permalink
Merge pull request #1637 from cobra18t/dev
Browse files Browse the repository at this point in the history
Create flash duty for light segment displays
  • Loading branch information
jabdoa2 authored May 23, 2022
2 parents ab094f5 + 30245e7 commit da0ec7f
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
3 changes: 3 additions & 0 deletions mpf/config_spec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -780,6 +780,7 @@ light_segment_displays:
__valid_in__: machine
__type__: config
display_flash_frequency: single|float|1.0
display_flash_duty: single|float|0.5
light_stripes:
__valid_in__: machine
__type__: device
Expand Down Expand Up @@ -838,6 +839,7 @@ lisy:
baud: single|int|None
debug: single|bool|false
display_flash_frequency: single|float|1.0
display_flash_duty: single|float|0.5
disable_dtr: single|bool|true
connection: single|enum(network,serial)|network
console_log: single|enum(none,basic,full)|none
Expand Down Expand Up @@ -1070,6 +1072,7 @@ p_roc:
dmd_timing_cycles: list|int|None
dmd_update_interval: single|ms|33ms
display_flash_frequency: single|float|1.0
display_flash_duty: single|float|0.5
debug: single|bool|false
console_log: single|enum(none,basic,full)|none
file_log: single|enum(none,basic,full)|basic
Expand Down
7 changes: 4 additions & 3 deletions mpf/core/platform.py
Original file line number Diff line number Diff line change
Expand Up @@ -245,14 +245,15 @@ async def initialize(self):
self._display_flash_task.add_done_callback(Util.raise_exceptions)

async def _display_flash(self):
wait_time = 1 / (self.config['display_flash_frequency'] * 2)
wait_time_on = self.config['display_flash_duty'] / self.config['display_flash_frequency']
wait_time_off = (1 - self.config['display_flash_duty']) / self.config['display_flash_frequency']
while True:
# set on
await asyncio.sleep(wait_time)
await asyncio.sleep(wait_time_on)
for display in self._displays:
display.set_software_flash(True)
# set off
await asyncio.sleep(wait_time)
await asyncio.sleep(wait_time_off)
for display in self._displays:
display.set_software_flash(False)

Expand Down

0 comments on commit da0ec7f

Please sign in to comment.