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

    Programmable?

    Scheduled Pinned Locked Moved Help and Support
    37 Posts 7 Posters 12.8k 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.
    • mediamogulM
      mediamogul Global Moderator @diegzumillo
      last edited by

      @diegzumillo

      Fantastic diegzumillo, very cool! It's interesting to think of all the possibilities this technique could lead to.

      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

      1 Reply Last reply Reply Quote 0
      • T
        tipoto
        last edited by tipoto

        It's funny because using a similar approach, I actually created a LED system that can lite 16 RGB LEDs along with 6 regular LEDs (monochrome), I can decide which LED is ON/OFF and which color to display, everything works on a per game basis (similar to a LEDBlinky system)
        I built this system when I was first using a RPI2 with retropie, now I use another board but I kept the exact same system to drive the LEDs.
        My ARM board is connected to an arduino which has an RGB module plugged onto it, everything is driven by a python script which takes care of the communication.
        I can control everything on a per game basis because I also recreated my own system to adjust the games settings (I almost never used runcommand.sh with my Pi2) and so I have included specific settings to control the LEDs in the system.

        An example of information sent to the arduino to change the LEDs status: GRPY**********WW001111
        wich means:

        • G: rgb LED#1 -> GREEN
        • R: rgb LED#2 -> RED
        • P: rgb LED#3 -> PURPLE
        • Y: rgb LED#4 -> YELLOW
        • **********: rgb LED#5 to #14 -> OFF
        • WW: rgb LED#15 and #16 -> WHITE
        • 00: regular LED#1 and #2 -> OFF
        • 1111: regular LED#3 to #6 -> ON
        K 1 Reply Last reply Reply Quote 0
        • D
          diegzumillo
          last edited by

          Thanks, Mediamogul. I really appreciate your help and all other's in this topic, DxFx and dankcushions too. If you hadn't kept nudging me in the right direction I wouldn't have figured any of this out.

          I have a couple more things I'd like to do along the same lines but I think that was the hardest part. Mainly I want to also be able to tell when the system is booting and when the player saved/loaded. Save and load I might even do directly through button press, without messing with retropie logic. We'll see. I'll move on to installing a screen for a few days and come back to this side of the project later.

          DxFx, that's some sophisticated way of solving it!

          mediamogulM 1 Reply Last reply Reply Quote 0
          • mediamogulM
            mediamogul Global Moderator @diegzumillo
            last edited by

            @diegzumillo said in Programmable?:

            Thanks, Mediamogul.

            Thank you, sir. I hope to make good use out of techniques discussed here and it was great fun watching this project fall into place.

            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

            1 Reply Last reply Reply Quote 0
            • darthpaulD
              darthpaul @diegzumillo
              last edited by

              There might be a more elegant way of doing this but I put the script at the opt/retropie/supplementary/emulationstation/ because that's where the call always comes from apparently. Ideally I would specify a path but I can't seem to make that work.

              Excellent job, I have been watching this topic hoping for your success because I too would like to do something like this, light a certain LED depending on the console chosen. Does it matter where you put the python script, could I just put it in the home/pi folder?

              1 Reply Last reply Reply Quote 0
              • D
                diegzumillo
                last edited by

                I "matters", but only in my non elegant way. Ideally you should call the py script with a full address. It really should be easy to do! I tried once, it didn't recognize the path and gave up because I'm lazy. Without the path, the script should be at opt/retropie/supplementary/emulationstation/

                darthpaulD 1 Reply Last reply Reply Quote 0
                • darthpaulD
                  darthpaul @diegzumillo
                  last edited by

                  Thanks for the quick response, then that is where it will go.

                  darthpaulD 1 Reply Last reply Reply Quote 0
                  • darthpaulD
                    darthpaul @darthpaul
                    last edited by

                    I have a question, where did place the call to the python scrip in runcommand.sh?

                    1 Reply Last reply Reply Quote 0
                    • D
                      diegzumillo
                      last edited by

                      I don't think there's a specific place you need to put it. Just outside any function should do. Did you try to put it somewhere and it failed?

                      darthpaulD 1 Reply Last reply Reply Quote 0
                      • darthpaulD
                        darthpaul @diegzumillo
                        last edited by

                        I first tried putting it at the very end, right before exit and the light came on after I exited the game not when I started it. I then placed the call near the beginning, right before the first if statement and now the light comes on when I start a game.

                        1 Reply Last reply Reply Quote 0
                        • D
                          DxFx
                          last edited by DxFx

                          I just recently updated my Raspbian desktop image to the latest version since I saw it was available and decided to tackle getting the PiGlow up and running on the Pi3 and it was a total success! Setting it up was a breeze, however I didn't follow the tutorial I posted verbatim. Instead I followed most of what is provided here: https://github.com/Boeeerb/PiGlow For the sake of posterity here's what I did:

                          First I enabled I2c interface in raspi-config. Next do sudo apt-get install python-smbus python-psutils -y (psutils isn't really necessary I don't think but is used for an example to display cpu usage) After that use sudo nano /etc/modules to open the modules file. Make sure to add the following:
                          i2c-dev
                          i2c-bcm2708

                          Ctrl + x and y to exit save. Now do a reboot. After rebooting go back to the command line and create the directory for PiGlow and then change to it so:

                          mkdir piglow
                          cd piglow

                          Get the PiGlow module:
                          wget https://raw.github.com/Boeeerb/PiGlow/master/piglow.py

                          Download the test script:
                          wget https://raw.github.com/Boeeerb/PiGlow/master/Examples/test.py

                          Now just run sudo python test.py and if everything goes smoothly you can insert brightness values from 0 to 255 for each led color.

                          Sorry if this was an unnecessary explanation but I hope it might help anyone else who wants to do something like this with the PiGlow. Now I just need to make up some scripts and put them in the appropriate place in Retropie.

                          1 Reply Last reply Reply Quote 0
                          • D
                            DxFx
                            last edited by DxFx

                            Thank You @diegzumillo for your time and effort in figuring out how to make it possible. Thank you @mediamogul @dankcushions @tipoto and @darthpaul as well!

                            1 Reply Last reply Reply Quote 0
                            • K
                              kcc406
                              last edited by

                              @DxFx does this mean that the PiGlow is programmable to change the lights when different emulators open?

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                DxFx @kcc406
                                last edited by

                                @kcc406 It should. There's 3 sets of leds for each color and 6 colors in all (white, blue, green, yellow, orange, red) so that's a total of 18 leds. What I was thinking was for a certain brand/company use a certain color. (Red for Nintendo, blue for Sega etc.)

                                1 Reply Last reply Reply Quote 0
                                • K
                                  kcc406
                                  last edited by

                                  @DxFx I am sorry i dont think i was clear about my question,

                                  I was wondering if the PiGlow would only light up the correct buttons that are only used for the certain emulator?

                                  example; when i run NES it would light up only a,b,start,select, and the joystick, then with SNES it would do A,B,X,Y, start,select, and the joystick

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    kcc406
                                    last edited by

                                    @DxFx I am sorry i dont think i was clear about my question,

                                    I was wondering if the PiGlow would only light up the correct buttons that are only used for the certain emulator?

                                    example; when i run NES it would light up only a,b,start,select, and the joystick, then with SNES it would do A,B,X,Y, start,select, and the joystick

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      kcc406 @tipoto
                                      last edited by

                                      @tipoto iI was reading you post and i was wondering if you could help me on this, or let me know if its even possible, I have a pi3 with an ipac i/o wil the roms running off a HDD, and would like to run leds on a emulator bases and it looks like your script will work but i am not sure where you loaded then in to and i am not sure if your code will would with my ipac.

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        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.