• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Syncing button leds with gameplay

Scheduled Pinned Locked Moved Help and Support
led buttonsled cledspicer
68 Posts 5 Posters 7.1k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H
    hopwon @Folly
    last edited by 19 Sept 2023, 12:12

    @Folly said in Syncing button leds with gameplay:

    Tell me, what script did you make to count the inserted coins and do you use a joystick or keyboard ?

    A bit nasty but:

    I used inputseeker running in background to grep for a credit button being pressed on(6=P1, 7=P2 in my case) and when it successfully finds a 6 or 7 it increments a counter +1.
    You can do it with awk also but I got tired and when to bed :)

    1 Reply Last reply Reply Quote 1
    • H
      hopwon @Folly
      last edited by 19 Sept 2023, 12:13

      @Folly said in Syncing button leds with gameplay:

      lr-mame can be installed from binary when using rpi.

      Installing it now

      F 2 Replies Last reply 19 Sept 2023, 15:11 Reply Quote 0
      • F
        Folly @hopwon
        last edited by 19 Sept 2023, 15:11

        @hopwon

        I will look at ledspicer with inputseeker again.
        Seem a really nice package but I have to take some time to dig into it.
        Hopefully I will grasp it.

        1 Reply Last reply Reply Quote 0
        • F
          Folly @hopwon
          last edited by Folly 20 Sept 2023, 18:06

          @hopwon

          I uninstalled my previous install of LEDspice.

          This I what I did :

          cd ~/Downloads/LEDSpicer-development/
          ./autogen.sh
          ./configure --prefix=/usr --sysconfdir=/etc --enable-raspberrypi
          make
          sudo make install
          sudo usermod -a -G users pi #replace user with your username
          sudo usermod -a -G input pi #replace user with your username
          sudo cp /usr/share/doc/ledspicer/examples/21-ledspicer.rules /etc/udev/rules.d/
          sudo chmod 744 /etc/udev/rules.d/21-ledspicer.rules
          sudo udevadm control --reload-rules && sudo udevadm trigger
          sudo cp /usr/share/doc/ledspicer/examples/ledspicer.conf /etc
          ledspicerd -v
          ledspicerd -d
          sudo ledspicerd -d #seems to be the way to go with RaspberryPi

          Running with -d gives :
          Program terminated by error: Empty devices section

          Added the controller name in /etc/ledspicer.conf :

          	<devices
          		name="RaspberryPi"
              		boardId="1"
          >
          	</devices>
          

          or

          <devices>
          name="RaspberryPi"
          boardId="1"
          </devices>

          Still no dice.

          Any help would be appreciated.

          H 2 Replies Last reply 21 Sept 2023, 07:53 Reply Quote 0
          • H
            hopwon @Folly
            last edited by 21 Sept 2023, 07:53

            @Folly You need to manually create your ledspicer.conf, I've attached mine to give you some idea (sorry admins no pastebin!), But basically the file maps pins #'s on your LED controller to an "Element", you can then create groups of Elements and address either the group or Element...

            FYI On this controller I have 2 x Joystick + Trackball, each player has 8 buttons, plus start, credit, hotkey and exit.

            pi@pacman:~ $ cat /etc/ledspicer.conf 
            <?xml version="1.0" encoding="UTF-8"?>
            <LEDSpicer
                version="1.0"
                type="Configuration"
                fps="30"
                port="16161"
                colors="webColors"
                loglevel="Info"
                userId="1000"
                groupId="1000"
                craftProfile="true"
            >
                <devices>
                    <device
                        name="UltimarcUltimate"
                        boardId="1"
                    >
                        <element
                            name="P1_BUTTON1"
                            red="54"
                            green="53"
                            blue="52"
            		defaultColor="Red"
                        />
                        <element
                            name="P1_BUTTON2"
                            red="57"
                            green="56"
                            blue="55"
            		defaultColor="VeryDarkMagenta"
                        />
                        <element
                            name="P1_BUTTON3"
                            red="60"
                            green="59"
                            blue="58"
            		defaultColor="Blue"
                        />
                        <element
                            name="P1_BUTTON4"
                            red="63"
                            green="62"
            		blue="61"
            		defaultColor="Yellow"
            	    />
                        <element
                            name="P1_BUTTON5"
                            red="66"
                            green="65"
            		blue="64"
            		defaultColor="Salmon"
            	    />
                        <element
                            name="P1_BUTTON6"
                            red="69"
                            green="68"
            		blue="67"
            		defaultColor="Lime"
            	    />
                        <element
                            name="P1_BUTTON7"
                            red="72"
                            green="71"
            		blue="70"
            		defaultColor="Violet"
            	    />
                        <element
                            name="P1_BUTTON8"
                            red="75"
                            green="74"
            		blue="73"
            		defaultColor="VeryDarkYellow"
            	    />
                        <element
                            name="P1_START"
                            red="79"
                            green="80"
            		blue="81"
            		defaultColor="DarkOrange"
                        />
                        <element
                            name="P1_CREDIT"
                            red="93"
                            green="92"
            		blue="91"
            		defaultColor="DarkOrange"
                        />
                        <element
                            name="P1_TRACKBALL"
                            red="28"
                            green="29"
                            blue="30"
             	        defaultColor="Cyan"
                        />
                        <element
                            name="P1_JOYSTICK1"
                            red="49"
                            green="50"
            		blue="51"
            		defaultColor="Lime"
            	    />
                        <element
                            name="HOTKEY"
                            led="85"
                        />
                        <element
                            name="EXIT_KEY"
                            led="88"
                        />
                        <element
                            name="P2_CREDIT"
                            red="84"
                            green="83"
            		blue="82"
            		defaultColor="DarkOrange"
                        />
                        <element
                            name="P2_START"
                            red="78"
                            green="77"
            		blue="76"
            		defaultColor="DarkOrange"
                        />
                        <element
                            name="P2_BUTTON1"
                            red="4"
                            green="5"
                            blue="6"
            		defaultColor="Red"
                        />
                        <element
                            name="P2_BUTTON2"
                            red="7"
                            green="8"
                            blue="9"
            		defaultColor="Green"
                        />
                        <element
                            name="P2_BUTTON3"
                            red="10"
                            green="11"
                            blue="12"
            		defaultColor="Blue"
                        />
                        <element
                            name="P2_BUTTON4"
                            red="13"
                            green="14"
            		blue="15"
            		defaultColor="Yellow"
            	    />
                        <element
                            name="P2_BUTTON5"
                            red="16"
                            green="17"
            		blue="18"
            		defaultColor="Salmon"
            	    />
                        <element
                            name="P2_BUTTON6"
                            red="19"
                            green="20"
            		blue="21"
            		defaultColor="Lime"
            	    />
                        <element
                            name="P2_BUTTON7"
                            red="22"
                            green="23"
            		blue="24"
            		defaultColor="Violet"
            	    />
                        <element
                            name="P2_BUTTON8"
                            red="25"
                            green="26"
            		blue="27"
            		defaultColor="VeryDarkYellow"
            	    />
                        <element
                            name="P2_JOYSTICK1"
                            red="1"
                            green="2"
            		blue="3"
            		defaultColor="HotPink"
            	    />
                    </device>
                </devices>
                <restrictors>
                  <restrictor name="ServoStik" boardId="1" player="1" joystick="1" />
                    <!-- Player 2 with ServoStik -->
                  <restrictor name="ServoStik" boardId="1" player="2" joystick="1" />
                </restrictors>
                <layout defaultProfile="default">
                    <group name="whole board">
                        <element name="P1_JOYSTICK1"/> 
            	    <element name="P1_TRACKBALL"/>
                        <element name="P1_START"/>
                        <element name="P1_CREDIT"/>
                        <element name="P1_BUTTON1"/>
                        <element name="P1_BUTTON2"/>
                        <element name="P1_BUTTON3"/>
                        <element name="P1_BUTTON4"/>
                        <element name="P1_BUTTON5"/>
                        <element name="P1_BUTTON6"/>
                        <element name="P1_BUTTON7"/>
                        <element name="P1_BUTTON8"/>
                        <element name="P2_JOYSTICK1"/>
                        <element name="P2_BUTTON1"/>
                        <element name="P2_BUTTON2"/>
                        <element name="P2_BUTTON3"/>
                        <element name="P2_BUTTON4"/>
                        <element name="P2_BUTTON5"/>
                        <element name="P2_BUTTON6"/>
                        <element name="P2_BUTTON7"/>
                        <element name="P2_BUTTON8"/>
                        <element name="P2_CREDIT"/>
                        <element name="P2_START"/>
                    </group>
                    <group name="Player1">
                        <element name="P1_JOYSTICK1"/>
                        <element name="P1_TRACKBALL"/>
                        <element name="P1_START"/>
                        <element name="P1_CREDIT"/>
                        <element name="P1_BUTTON1"/>
                        <element name="P1_BUTTON2"/>
                        <element name="P1_BUTTON3"/>
                        <element name="P1_BUTTON4"/>
                        <element name="P1_BUTTON5"/>
                        <element name="P1_BUTTON6"/>
                        <element name="P1_BUTTON7"/>
                        <element name="P1_BUTTON8"/>
                    </group>    
                    <group name="Player2">
                        <element name="P2_JOYSTICK1"/>
                        <element name="P2_BUTTON1"/>
                        <element name="P2_BUTTON2"/>
                        <element name="P2_BUTTON3"/>
                        <element name="P2_BUTTON4"/>
                        <element name="P2_BUTTON5"/>
                        <element name="P2_BUTTON6"/>
                        <element name="P2_BUTTON7"/>
                        <element name="P2_BUTTON8"/>
                        <element name="P2_CREDIT"/>
                        <element name="P2_START"/>
                    </group>
                    <group name="Players">
                        <element name="P1_JOYSTICK1"/>
                        <element name="P1_TRACKBALL"/>
                        <element name="P1_START"/>
                        <element name="P1_CREDIT"/>
                        <element name="P1_BUTTON1"/>
                        <element name="P1_BUTTON2"/>
                        <element name="P1_BUTTON3"/>
                        <element name="P1_BUTTON4"/>
                        <element name="P1_BUTTON5"/>
                        <element name="P1_BUTTON6"/>
                        <element name="P1_BUTTON7"/>
                        <element name="P1_BUTTON8"/>
                        <element name="P2_JOYSTICK1"/>
                        <element name="P2_BUTTON1"/>
                        <element name="P2_BUTTON2"/>
                        <element name="P2_BUTTON3"/>
                        <element name="P2_BUTTON4"/>
                        <element name="P2_BUTTON5"/>
                        <element name="P2_BUTTON6"/>
                        <element name="P2_BUTTON7"/>
                        <element name="P2_BUTTON8"/>
                        <element name="P2_CREDIT"/>
                        <element name="P2_START"/>
                    </group>
            	<group name="Whole board as a circle">
                	    <element name="HOTKEY"/>
                        <element name="P1_CREDIT"/>
            	    <element name="P1_START"/>
                        <element name="P1_JOYSTICK1"/>
                        <element name="P1_BUTTON5"/>
                        <element name="P1_BUTTON1"/>
                        <element name="P1_BUTTON6"/>
                        <element name="P1_BUTTON2"/>
                        <element name="P1_BUTTON7"/>
                        <element name="P1_BUTTON3"/>
                        <element name="P1_BUTTON8"/>
                        <element name="P1_BUTTON4"/>
                        <element name="P1_TRACKBALL"/>
                        <element name="P2_JOYSTICK1"/>
                        <element name="P2_BUTTON5"/>
                        <element name="P2_BUTTON1"/>
                        <element name="P2_BUTTON6"/>
                        <element name="P2_BUTTON2"/>
                        <element name="P2_BUTTON7"/>
                        <element name="P2_BUTTON3"/>
                        <element name="P2_BUTTON8"/>
                        <element name="P2_BUTTON4"/>
                        <element name="P2_CREDIT"/>
                        <element name="P2_START"/>
            	</group>
                    <group name="Ctrl keys">
                	    <element name="HOTKEY"/>
                        <element name="P1_CREDIT"/>
            	    <element name="P1_START"/>
                        <element name="P2_CREDIT"/>
                        <element name="P2_START"/>
                        <element name="EXIT_KEY"/>
            	</group>
                    <group name="TopRow">
            	    <element name="P1_CREDIT"/>
            	    <element name="P1_START"/>
                        <element name="HOTKEY"/>
                        <element name="EXIT_KEY"/>
            	    <element name="P2_CREDIT"/>
            	    <element name="P2_START"/>
                    </group>
                </layout>
            </LEDSpicer>
            
            
            1 Reply Last reply Reply Quote 1
            • H
              hopwon @Folly
              last edited by 21 Sept 2023, 07:54

              @Folly said in Syncing button leds with gameplay:

              @hopwon

              I uninstalled my previous install of LEDspice.

              This I what I did :

              cd ~/Downloads/LEDSpicer-development/
              ./autogen.sh
              ./configure --prefix=/usr --sysconfdir=/etc --enable-raspberrypi
              make
              sudo make install
              sudo usermod -a -G users pi #replace user with your username
              sudo usermod -a -G input pi #replace user with your username
              sudo cp /usr/share/doc/ledspicer/examples/21-ledspicer.rules /etc/udev/rules.d/
              sudo chmod 744 /etc/udev/rules.d/21-ledspicer.rules
              sudo udevadm control --reload-rules && sudo udevadm trigger
              sudo cp /usr/share/doc/ledspicer/examples/ledspicer.conf /etc
              ledspicerd -v
              ledspicerd -d
              sudo ledspicerd -d #seems to be the way to go with RaspberryPi

              Running with -d gives :
              Program terminated by error: Empty devices section

              Added the controller name in /etc/ledspicer.conf :

              	<devices
              		name="RaspberryPi"
                  		boardId="1"
              >
              	</devices>
              

              or

              <devices>
              name="RaspberryPi"
              boardId="1"
              </devices>

              Still no dice.

              Any help would be appreciated.

              Make sure when you are starting for the first time, run the daemon in foreground (-f) as it is the best way to troubleshoot. Its quite verbose in its output so if there is a problem you should get a good indication of exactly what it is.

              F 1 Reply Last reply 21 Sept 2023, 08:12 Reply Quote 0
              • F
                Folly @hopwon
                last edited by 21 Sept 2023, 08:12

                @hopwon

                Thanks, will have a look when I am using my pi.

                H 1 Reply Last reply 21 Sept 2023, 11:33 Reply Quote 0
                • H
                  hopwon @Folly
                  last edited by 21 Sept 2023, 11:33

                  @Folly So I managed to get the command line options passed to lr-mame based on the info you provided. I can now see that (I am using Missile Command as a test), led0=0, led1=0, led0=1 led1=1, repeating in the console for any button press.
                  This tells me (I think) that mame is making two led's flash and thats it. No specific output regarding credit or I could be wrong.

                  From runcommand.log using -output console

                  led0 = 1
                  led0 = 0
                  led0 = 1
                  led0 = 0
                  led0 = 1
                  led0 = 0
                  led0 = 1
                  led0 = 0
                  led0 = 1
                  led1 = 1
                  led1 = 0
                  led0 = 0
                  

                  These represent a button press, I think one press = 4 log entries

                  F 2 Replies Last reply 21 Sept 2023, 15:36 Reply Quote 0
                  • F
                    Folly @hopwon
                    last edited by Folly 21 Sept 2023, 15:36

                    @hopwon

                    Yes indeed that is correct.

                    It's jsut how the original hardware worked and that is implemented in mame.
                    It's basically the same with the galaga example I used before, only here you have to add 2 credits for 1 player and 4 credits for 2 players.

                    What you want is not implemented in mame so you need to get the information in an other way just like you did with inputseeker.
                    I tested that and indeed reading event becomes very easy but you need to add a whole script for doing stuff with that information.

                    I see the problem getting some uniform data for every game it seems a bit different.
                    Basically it could mean that for every game you need to make a script.

                    If you want more advanced ways you could look at mame lua plugin scripts.
                    With that you might be able to extract data in a different / better way.
                    FYI I used them for tests but I never wrote them.

                    H 1 Reply Last reply 21 Sept 2023, 17:25 Reply Quote 0
                    • H
                      hopwon @Folly
                      last edited by 21 Sept 2023, 17:25

                      @Folly @MeduZaPaT talks about doing the part to make credit flash here:

                      link text

                      If there was a way to set a counter or write to an output, then that's the solution...

                      F 1 Reply Last reply 21 Sept 2023, 19:29 Reply Quote 0
                      • F
                        Folly @hopwon
                        last edited by Folly 21 Sept 2023, 19:29

                        @hopwon

                        Ok, I used your ledspicer.conf and customised it for use with RaspberryPi (GPIO).
                        For error sake I made all red, green and blue use the same pin (red=4, green=5 and blue=6) and added an empty profile which is explained over here.

                        Now I don't get errors anymore when running :

                        ledspicerd -d
                        

                        Then I tried :

                        ledspicerd -f
                        

                        That gave me :

                        2023-09-21 21:23:41 initCheckPermitted: 
                        +---------------------------------------------------------+
                        |Sorry, you don't have permission to run this program.    |
                        |Try running as root, e.g. precede the command with sudo. |
                        +---------------------------------------------------------+
                        Program terminated by error: Failed to initialized Raspberry PI GPIO
                        

                        So now I know RaspberryPi needs running with sudo, like this :

                        sudo ledspicerd -f
                        

                        I might have to check ledspicer.conf again for correct values and then I have to add some game profiles.
                        Would like to check first if the mame "-output network" is detected without using emulationstation.

                        sudo ledspicerd -f should do that trick right ?

                        Will have look later again.

                        H 1 Reply Last reply 21 Sept 2023, 19:35 Reply Quote 0
                        • H
                          hopwon @Folly
                          last edited by 21 Sept 2023, 19:35

                          @Folly the -f option runs in foreground so yes, you should see something...

                          F 2 Replies Last reply 22 Sept 2023, 02:31 Reply Quote 0
                          • F
                            Folly @hopwon
                            last edited by 22 Sept 2023, 02:27

                            @hopwon said in Syncing button leds with gameplay:

                            These represent a button press, I think one press = 4 log entries

                            Missed that part.
                            No they aren't really button presses.
                            On the other end you could see it that way but inserting a coin while playing the game does nothing.
                            Taking galaga as example, it's that led0 goes on and off after inserting a coin and when the start button is not pressed yet and not playing the game.
                            For missile that is 2 coins (led0) and 4 coins(led1).

                            1 Reply Last reply Reply Quote 0
                            • F
                              Folly @hopwon
                              last edited by 22 Sept 2023, 02:31

                              @hopwon

                              Was able to test the led on GPIO pin 4 with this :

                              pi@raspberrypi:~ $ sudo ledspicerd -l
                              Test LEDs (q to quit)
                              
                              Select a Led (r to reset, q to quit):
                              4
                              
                              Select a Led (r to reset, q to quit):
                              r
                              
                              Select a Led (r to reset, q to quit):
                              q
                              

                              So basically ledspicer is working.
                              Have to look at the game profiles now.

                              1 Reply Last reply Reply Quote 1
                              • F
                                Folly @hopwon
                                last edited by Folly 22 Sept 2023, 16:17

                                @hopwon

                                It seems very hard to understand the docs and how everything actually works ;-(

                                I am struggling with creating a single game input xml in /usr/share/ledspicer/profiles/arcade.
                                I added galaga in /usr/share/ledspicer/profiles/profile_arcade.xml like this :

                                <?xml version="1.0" encoding="UTF-8"?>
                                <LEDSpicer
                                	version="1.0"
                                	type="Profile"
                                	backgroundColor="Black"
                                >
                                	<inputs>
                                		<input name="galaga"/>
                                	</inputs>
                                </LEDSpicer>
                                

                                I tried to begin with the example from here.
                                Though I have to edit the file somehow as it is not accepted.
                                Do you have an example for me ?
                                Or, do you know what to edit ?

                                I read over here that you can also use a "craftProfiles" option for multiple games.
                                "LEDSpicer will attempt to use the pre-scraped data from mame (gameData.xml) along with controls.ini (if available) and colors.ini (if available) to set lighting based on the games control scheme. So... one profile_arcade.xml file to manage thousands of roms."

                                They also use the emitter part.
                                Is that nessesary to use ?

                                H 1 Reply Last reply 22 Sept 2023, 18:53 Reply Quote 0
                                • H
                                  hopwon @Folly
                                  last edited by 22 Sept 2023, 18:53

                                  @Folly I use craft profiles, it only works for mame. You need a profile in the profiles dir called profile_arcade.xml and then you call emitter from "runcommand_onstart.sh" with LoadProfileByEmulator

                                  Craft profiles really take the heavy lifting out of LEDSpicer config and its an awesome feature.

                                  This is my profile_arcade.xml - there is nothing in it...

                                  <?xml version="1.0" encoding="UTF-8"?>
                                  <LEDSpicer
                                  	version="1.0"
                                  	type="Profile"
                                  	backgroundColor="Black"
                                  >
                                  </LEDSpicer>
                                  

                                  After that LEDSpicer takes care of the rest.

                                  I'll try and do a bit more of a write up but Friday night is calling! But check out this link for a guide on as I used it to eventually decode and get LEDSpicer running...

                                  LEDSpicer on attractmode

                                  F 3 Replies Last reply 22 Sept 2023, 19:12 Reply Quote 0
                                  • F
                                    Folly @hopwon
                                    last edited by Folly 22 Sept 2023, 19:12

                                    @hopwon

                                    I want to get it working before I implement in emulationstation.

                                    Ok, so I do need the emitter.

                                    First I started with :

                                    sudo ledspicerd -f
                                    

                                    So for galaga I tried the command but got an error :

                                    pi@raspberrypi:~ $ emitter LoadProfileByEmulator galaga arcade
                                    Error: Failed to open device 0xd209:0x1700 id 1
                                    Failed to execute rotator 2 1 '2' 1 1 '2'
                                    

                                    The led that I attached burns but there is no other effect when starting galaga.
                                    Any ideas ?

                                    All commands are done over 3 terminal consoles.

                                    1 Reply Last reply Reply Quote 0
                                    • F
                                      Folly @hopwon
                                      last edited by Folly 22 Sept 2023, 20:21

                                      @hopwon

                                      I am really not sure if I should spend more time on this.
                                      Ledspicer seems a really nice and advanced program but I am missing the bigger picture on how it works and how all configs and xml's are connected to each other.
                                      Perhaps I will ditch the elements from the ledspicer.conf except one.
                                      That way I can see if 1 element will react if not I will probably stop trying.

                                      Ps.
                                      I have send a message to @MeduZaPaT hope he can help.

                                      M 1 Reply Last reply 25 Sept 2023, 00:46 Reply Quote 0
                                      • M
                                        MeduZaPaT @hopwon
                                        last edited by MeduZaPaT 24 Sept 2023, 18:35

                                        @hopwon
                                        Hey, I just read this, yes you will be able to do this, I read the whole section and looks like you are close:
                                        you have this:
                                        1 mame is sending the network data
                                        2 ledspicer is set and running
                                        3 you have a profile to load the galaga input.
                                        4 you got the mapping names from mame (led0 and led1)

                                        • Create a profile called galaga.xml inside arcade inside profiles
                                        • Create a input called galaga.xml inside inputs
                                        • test the profile by running ledspicerd -p galaga

                                        profile file galaga.xml:

                                        <?xml version="1.0" encoding="UTF-8"?>
                                        <LEDSpicer
                                        	version="1.0"
                                        	type="Profile"
                                        	backgroundColor="Black"
                                        >
                                        	<inputs>
                                        		<input name="galaga"/>
                                        	</inputs>
                                        </LEDSpicer>
                                        

                                        Input file galaga.xml:

                                        <?xml version="1.0" encoding="UTF-8"?>
                                        <LEDSpicer
                                            version="1.0"
                                            type="Input"
                                            name="Mame"
                                        >
                                                <map
                                                    type="Element"
                                                    target="P1_START"
                                                    trigger="led0"
                                                    color="White"                      <!-- <<< The color to change -->
                                                    filter="Normal"                    <!-- <<< Filter to use -->
                                                />
                                                <map
                                                    type="Element"
                                                    target="P2_START"
                                                    trigger="led1"
                                                    color="White"                      <!-- <<< The color to change -->
                                                    filter="Normal"                    <!-- <<< Filter to use -->
                                                />
                                        </LEDSpicer>
                                        
                                        

                                        you need to place the files in the correct directories:

                                        ledspicer
                                           |----animations
                                           |----inputs
                                           |----profiles
                                                 |----arcade
                                                 |----nes
                                                 |----[another emulator system name here and so on]
                                        

                                        Sorry for the late response, I am working on the LEDSpicer UI to make your life much, much easier

                                        LEDSpicer

                                        F 1 Reply Last reply 24 Sept 2023, 21:06 Reply Quote 1
                                        • F
                                          Folly @MeduZaPaT
                                          last edited by Folly 24 Sept 2023, 21:06

                                          @MeduZaPaT

                                          Thank you for your reply !

                                          I used your xml's.

                                          I understand your post like this :

                                          • create a profile galaga.xml file inside /usr/share/ledspicer/profiles/arcade/
                                          • create an input galaga.xml file inside /usr/share/ledspicer/input/
                                          • run mame with galaga and "-output network" (tested and working)
                                          • run ledspicerd -p galaga to test and get it working (got errors)

                                          Now I got this output :

                                          pi@raspberrypi:~ $ ledspicerd -p galaga
                                          Program terminated by error: Unable to read the file /usr/share/ledspicer/profiles/galaga.xml
                                          Error=XML_ERROR_FILE_NOT_FOUND ErrorID=3 (0x3) Line number=0: filename=/usr/share/ledspicer/profiles/galaga.xml
                                          
                                          • so I moved the profile file one folder up in /usr/share/ledspicer/profiles/ (solved not finding the file)
                                            (edit : another solution is not moving the file and use ' ledspicerd -p arcade/galaga')

                                          Then got this output :

                                          pi@raspberrypi:~ $ ledspicerd -p galaga
                                          Program terminated by error: Unable to read the file /usr/share/ledspicer/inputs/galaga.xml Error=XML_ERROR_PARSING_ELEMENT ErrorID=6 (0x6) Line number=7
                                          

                                          My ledspicer.conf is in /etc/ and I connected one green led to gpio 4 :

                                          <?xml version="1.0" encoding="UTF-8"?>
                                          <LEDSpicer
                                              version="1.0"
                                              type="Configuration"
                                              fps="30"
                                              port="16161"
                                              colors="basicColors"
                                              loglevel="Info"
                                              userId="1000"
                                              groupId="1000"
                                              craftProfile="true"
                                          >
                                              <devices>
                                                  <device
                                                      name="RaspberryPi"
                                                      boardId="1"
                                                  >
                                                      <element
                                                          name="P1_START"
                                          		green="4"
                                                          red="5"
                                                          blue="6"		
                                          		defaultColor="Green"
                                                      />
                                                  </device>
                                              </devices>
                                              <layout defaultProfile="profile_arcade">
                                                  <group name="Player1">
                                                      <element name="P1_START"/>
                                                  </group>    
                                              </layout>
                                          </LEDSpicer>
                                          

                                          Can you see where the error is ?

                                          Btw. using "sudo ledspicer -p galaga" did not make any difference.

                                          1 Reply Last reply Reply Quote 0
                                          37 out of 68
                                          • First post
                                            37/68
                                            Last post

                                          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.

                                            This community forum collects and processes your personal information.
                                            consent.not_received