diff --git a/dimensions_cli_client.py b/dimensions_cli_client.py index ba9b807..9cd6e8b 100644 --- a/dimensions_cli_client.py +++ b/dimensions_cli_client.py @@ -260,21 +260,9 @@ def portal_mode(server_ip, port): if name: print(f" Theme: {name}") - # Calculate timing based on speed - base_time = 10 # Base ticks (~50ms each) - on_time = int(base_time * speed) - off_time = int(base_time * speed) - - # Apply effect to ONLY the specific pad where tag is placed - if effect == 'pulse': - # Slow pulsing fade on specific pad (count=255 for continuous) - reader.fade_pad(pad, color, speed=int(15 * speed), count=255) - elif effect == 'flash': - # Quick flashing on specific pad - reader.flash_pad(pad, color, on_time=on_time, off_time=off_time, count=255) - else: - # Solid color on specific pad - reader.set_pad_color(pad, color) + # Apply effect using the new apply_effect method + # For cycle effect, it automatically uses all pads + reader.apply_effect(pad, color, effect, speed) def on_tag_insert(tag: TagInfo): nonlocal last_sent_key, last_sent_time @@ -327,8 +315,12 @@ def portal_mode(server_ip, port): if tag.pad.value in active_pads: del active_pads[tag.pad.value] - # Turn off ONLY this pad's LED (not all pads!) + # Stop any effects and turn off ONLY this pad's LED (not all pads!) if reader: + # Stop cycle effect if running (it uses all pads) + reader.stop_cycle_effect() + # Stop individual pad effect and turn off + reader.stop_effect(tag.pad) reader.set_pad_color(tag.pad, COLORS['OFF']) def on_connect(): @@ -441,6 +433,12 @@ Examples: # Use different server python dimensions_cli_client.py -s 192.168.1.100 -p 8547 + +Effects in tag_colors.json: + "solid" - Constant color on the pad + "flash" - Blinking effect + "pulse" - Breathing/fading effect + "cycle" - Revolving lights across all pads (police lights!) """ )