Jump to content

SEEKMSMSMSM

New member
  • Posts

    1
  • Joined

  • Last visited

Posts posted by SEEKMSMSMSM

  1. I am trying to write a python script to play subsequent beeps at the end of a print so i can hear when it's done. I have already got it to show up in Cura (a feat on its own), and now I'm trying to make the script run like I want it to. Here is the script:

     

    # SEEKMSMSMSM
    # Script to play beeps

    from typing import List, Dict
    from ..Script import Script
    import re

    class Soundy(Script):
        version = "1.0.0"

        def getSettingDataString(self):
            return """{
                "name": "Soundy",
                "key": "Soundy",
                "metadata": {},
                "version": 2,
                "settings":
                {
                    "startFreq":
                    {
                        "label": "Start Frequency",
                        "description": "The starting value of the sound.",
                        "type": "int",
                        "default_value": 300
                    },
                    "endFreq":
                    {
                        "label": "End Frequency",
                        "description": "The ending value of the sound.",
                        "type": "int",
                        "default_value": 800
                    },
                    "individualDuration":
                    {
                        "label": "Individual Sample Duration",
                        "description": "How long should each frequency between the range play?",
                        "type": "int",
                        "default_value": 1,
                        "minimum_value": 0.2,
                        "maximum_value": 20,
                        "maximum_value_warning": 15
                    }                
                }
            }"""

        def __init__(self):
            super().__init__()

        def execute(self, data):

            StartFreq = self.getSettingValueByKey("startFreq")
            EndFreq = self.getSettingValueByKey("endFreq")
            ID = self.getSettingValueByKey("individualDuration")
            sound = range(StartFreq,EndFreq)
            Command = "M300"
            for n in sound:
                SoundCode = str(Command," P",ID," S",n,sep='')
                
            for layer in data:
                index = data.index(layer)
                layer = layer + "\n" + SoundCode
                data[index] = layer
                return data
                break
                            
            return data
            
    The script shows up, shows the values I can edit, then when I check the Gcode, there's non of the commands I want (M300 P1 S500, for example)

×
×
  • Create New...