How can I make my LED flashing while executing the rest of the code?












0















How can I make my LED flashing while executing the rest of the code?



I want to make some LEDs flash while my program executes the rest of the code.










share|improve this question





























    0















    How can I make my LED flashing while executing the rest of the code?



    I want to make some LEDs flash while my program executes the rest of the code.










    share|improve this question



























      0












      0








      0


      1






      How can I make my LED flashing while executing the rest of the code?



      I want to make some LEDs flash while my program executes the rest of the code.










      share|improve this question
















      How can I make my LED flashing while executing the rest of the code?



      I want to make some LEDs flash while my program executes the rest of the code.







      gpio python rpi.gpio






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Dec 28 '18 at 18:33









      Peter Mortensen

      1,81911117




      1,81911117










      asked Dec 28 '18 at 13:57









      Andreas PaxihAndreas Paxih

      103




      103






















          4 Answers
          4






          active

          oldest

          votes


















          2














          I assume you are talking about the "on-board", or "built-in" LEDs, and not an "add-on" LED being controlled from a GPIO pin. If that's the case, you might try incorporating the following into your code:



          For the PWR (power) LED, you can turn it off like this:



          echo 0 | sudo tee /sys/class/leds/led1/brightness  


          turn it on like this:



          echo 1 | sudo tee /sys/class/leds/led1/brightness  





          share|improve this answer
























          • I am talking about the add on LEDs from GPIO pins, thank you anyway

            – Andreas Paxih
            Dec 28 '18 at 14:16






          • 2





            @AndreasPaxih: OK, there are lots and lots and lots of examples available that show how to do this. Why not pick one, and try it? If you hit a snag, that's what we're here for - what we're NOT here for is to search for information for you. Please take The Tour, and read how to ask a good question

            – Seamus
            Dec 28 '18 at 14:22



















          2














          It seems you are looking to execute two parts of your script at the same time. One part is controlling the flashing of the LEDs, and the other part is executing the rest of the code. This can be done with multi threading or multi processing in Python. Look at Python 3 threading — Thread-based parallelism and Python 3 multiprocessing — Process-based parallelism.






          share|improve this answer

































            1














            It is possible to do what you want without involving either multi threading or multiple separate processes. There are merits to all these other methods of course.



            Ok so how do you do it? Well you need to instrument your code to update the blink. It works a bit like implementing a progress bar or logging. So, imagine you have this code.



            for item in some_big_list:
            process()


            Need to become:



            for item in some_big_list:
            process()
            update_progress()


            Now its true that this can become tedious, but its not necessarily all that hard. Obviously update_progress() could check a timer from a wall clock, to blink only x seconds if called more frequently or just let it toggle every time it enters.



            The benefit of this scheme is that if your main program hangs so does the flashing.






            share|improve this answer

































              0














              I STRONGLY suggest you don't do threading unless you're coding often or plan to put a lot of time into learning about the potential pitfalls and how to avoid them ... it's pretty much the fastest way to get a program with unreliable behaviour if you don't know what you're doing.



              I would suggest you have a separate script that does the flashing; which you can then control from your other script... It's very much like threading, but because the memory isn't shared you're not going to find yourself having to debug issues you can't reproduce.






              share|improve this answer



















              • 1





                It's more multiprocessing.

                – Ingo
                Dec 28 '18 at 18:07






              • 3





                How will you become familiar with multithreaded programming if you don't ever try it? I'd give the opposite advice - if you're using a language that supports threading, try spawning a background thread to do the flashing.

                – Johnny
                Dec 28 '18 at 18:18






              • 1





                I would love to start learning new things, but I already have many problems with the export of the program because I want to export it as an apk and the buildozer can't be executed correctly

                – Andreas Paxih
                Dec 28 '18 at 18:31











              Your Answer






              StackExchange.ifUsing("editor", function () {
              return StackExchange.using("schematics", function () {
              StackExchange.schematics.init();
              });
              }, "cicuitlab");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "447"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fraspberrypi.stackexchange.com%2fquestions%2f92343%2fhow-can-i-make-my-led-flashing-while-executing-the-rest-of-the-code%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              4 Answers
              4






              active

              oldest

              votes








              4 Answers
              4






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2














              I assume you are talking about the "on-board", or "built-in" LEDs, and not an "add-on" LED being controlled from a GPIO pin. If that's the case, you might try incorporating the following into your code:



              For the PWR (power) LED, you can turn it off like this:



              echo 0 | sudo tee /sys/class/leds/led1/brightness  


              turn it on like this:



              echo 1 | sudo tee /sys/class/leds/led1/brightness  





              share|improve this answer
























              • I am talking about the add on LEDs from GPIO pins, thank you anyway

                – Andreas Paxih
                Dec 28 '18 at 14:16






              • 2





                @AndreasPaxih: OK, there are lots and lots and lots of examples available that show how to do this. Why not pick one, and try it? If you hit a snag, that's what we're here for - what we're NOT here for is to search for information for you. Please take The Tour, and read how to ask a good question

                – Seamus
                Dec 28 '18 at 14:22
















              2














              I assume you are talking about the "on-board", or "built-in" LEDs, and not an "add-on" LED being controlled from a GPIO pin. If that's the case, you might try incorporating the following into your code:



              For the PWR (power) LED, you can turn it off like this:



              echo 0 | sudo tee /sys/class/leds/led1/brightness  


              turn it on like this:



              echo 1 | sudo tee /sys/class/leds/led1/brightness  





              share|improve this answer
























              • I am talking about the add on LEDs from GPIO pins, thank you anyway

                – Andreas Paxih
                Dec 28 '18 at 14:16






              • 2





                @AndreasPaxih: OK, there are lots and lots and lots of examples available that show how to do this. Why not pick one, and try it? If you hit a snag, that's what we're here for - what we're NOT here for is to search for information for you. Please take The Tour, and read how to ask a good question

                – Seamus
                Dec 28 '18 at 14:22














              2












              2








              2







              I assume you are talking about the "on-board", or "built-in" LEDs, and not an "add-on" LED being controlled from a GPIO pin. If that's the case, you might try incorporating the following into your code:



              For the PWR (power) LED, you can turn it off like this:



              echo 0 | sudo tee /sys/class/leds/led1/brightness  


              turn it on like this:



              echo 1 | sudo tee /sys/class/leds/led1/brightness  





              share|improve this answer













              I assume you are talking about the "on-board", or "built-in" LEDs, and not an "add-on" LED being controlled from a GPIO pin. If that's the case, you might try incorporating the following into your code:



              For the PWR (power) LED, you can turn it off like this:



              echo 0 | sudo tee /sys/class/leds/led1/brightness  


              turn it on like this:



              echo 1 | sudo tee /sys/class/leds/led1/brightness  






              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Dec 28 '18 at 14:14









              SeamusSeamus

              2,6991221




              2,6991221













              • I am talking about the add on LEDs from GPIO pins, thank you anyway

                – Andreas Paxih
                Dec 28 '18 at 14:16






              • 2





                @AndreasPaxih: OK, there are lots and lots and lots of examples available that show how to do this. Why not pick one, and try it? If you hit a snag, that's what we're here for - what we're NOT here for is to search for information for you. Please take The Tour, and read how to ask a good question

                – Seamus
                Dec 28 '18 at 14:22



















              • I am talking about the add on LEDs from GPIO pins, thank you anyway

                – Andreas Paxih
                Dec 28 '18 at 14:16






              • 2





                @AndreasPaxih: OK, there are lots and lots and lots of examples available that show how to do this. Why not pick one, and try it? If you hit a snag, that's what we're here for - what we're NOT here for is to search for information for you. Please take The Tour, and read how to ask a good question

                – Seamus
                Dec 28 '18 at 14:22

















              I am talking about the add on LEDs from GPIO pins, thank you anyway

              – Andreas Paxih
              Dec 28 '18 at 14:16





              I am talking about the add on LEDs from GPIO pins, thank you anyway

              – Andreas Paxih
              Dec 28 '18 at 14:16




              2




              2





              @AndreasPaxih: OK, there are lots and lots and lots of examples available that show how to do this. Why not pick one, and try it? If you hit a snag, that's what we're here for - what we're NOT here for is to search for information for you. Please take The Tour, and read how to ask a good question

              – Seamus
              Dec 28 '18 at 14:22





              @AndreasPaxih: OK, there are lots and lots and lots of examples available that show how to do this. Why not pick one, and try it? If you hit a snag, that's what we're here for - what we're NOT here for is to search for information for you. Please take The Tour, and read how to ask a good question

              – Seamus
              Dec 28 '18 at 14:22













              2














              It seems you are looking to execute two parts of your script at the same time. One part is controlling the flashing of the LEDs, and the other part is executing the rest of the code. This can be done with multi threading or multi processing in Python. Look at Python 3 threading — Thread-based parallelism and Python 3 multiprocessing — Process-based parallelism.






              share|improve this answer






























                2














                It seems you are looking to execute two parts of your script at the same time. One part is controlling the flashing of the LEDs, and the other part is executing the rest of the code. This can be done with multi threading or multi processing in Python. Look at Python 3 threading — Thread-based parallelism and Python 3 multiprocessing — Process-based parallelism.






                share|improve this answer




























                  2












                  2








                  2







                  It seems you are looking to execute two parts of your script at the same time. One part is controlling the flashing of the LEDs, and the other part is executing the rest of the code. This can be done with multi threading or multi processing in Python. Look at Python 3 threading — Thread-based parallelism and Python 3 multiprocessing — Process-based parallelism.






                  share|improve this answer















                  It seems you are looking to execute two parts of your script at the same time. One part is controlling the flashing of the LEDs, and the other part is executing the rest of the code. This can be done with multi threading or multi processing in Python. Look at Python 3 threading — Thread-based parallelism and Python 3 multiprocessing — Process-based parallelism.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Dec 28 '18 at 17:57









                  Peter Mortensen

                  1,81911117




                  1,81911117










                  answered Dec 28 '18 at 15:05









                  IngoIngo

                  8,3392948




                  8,3392948























                      1














                      It is possible to do what you want without involving either multi threading or multiple separate processes. There are merits to all these other methods of course.



                      Ok so how do you do it? Well you need to instrument your code to update the blink. It works a bit like implementing a progress bar or logging. So, imagine you have this code.



                      for item in some_big_list:
                      process()


                      Need to become:



                      for item in some_big_list:
                      process()
                      update_progress()


                      Now its true that this can become tedious, but its not necessarily all that hard. Obviously update_progress() could check a timer from a wall clock, to blink only x seconds if called more frequently or just let it toggle every time it enters.



                      The benefit of this scheme is that if your main program hangs so does the flashing.






                      share|improve this answer






























                        1














                        It is possible to do what you want without involving either multi threading or multiple separate processes. There are merits to all these other methods of course.



                        Ok so how do you do it? Well you need to instrument your code to update the blink. It works a bit like implementing a progress bar or logging. So, imagine you have this code.



                        for item in some_big_list:
                        process()


                        Need to become:



                        for item in some_big_list:
                        process()
                        update_progress()


                        Now its true that this can become tedious, but its not necessarily all that hard. Obviously update_progress() could check a timer from a wall clock, to blink only x seconds if called more frequently or just let it toggle every time it enters.



                        The benefit of this scheme is that if your main program hangs so does the flashing.






                        share|improve this answer




























                          1












                          1








                          1







                          It is possible to do what you want without involving either multi threading or multiple separate processes. There are merits to all these other methods of course.



                          Ok so how do you do it? Well you need to instrument your code to update the blink. It works a bit like implementing a progress bar or logging. So, imagine you have this code.



                          for item in some_big_list:
                          process()


                          Need to become:



                          for item in some_big_list:
                          process()
                          update_progress()


                          Now its true that this can become tedious, but its not necessarily all that hard. Obviously update_progress() could check a timer from a wall clock, to blink only x seconds if called more frequently or just let it toggle every time it enters.



                          The benefit of this scheme is that if your main program hangs so does the flashing.






                          share|improve this answer















                          It is possible to do what you want without involving either multi threading or multiple separate processes. There are merits to all these other methods of course.



                          Ok so how do you do it? Well you need to instrument your code to update the blink. It works a bit like implementing a progress bar or logging. So, imagine you have this code.



                          for item in some_big_list:
                          process()


                          Need to become:



                          for item in some_big_list:
                          process()
                          update_progress()


                          Now its true that this can become tedious, but its not necessarily all that hard. Obviously update_progress() could check a timer from a wall clock, to blink only x seconds if called more frequently or just let it toggle every time it enters.



                          The benefit of this scheme is that if your main program hangs so does the flashing.







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Dec 28 '18 at 19:11

























                          answered Dec 28 '18 at 18:53









                          joojaajoojaa

                          1113




                          1113























                              0














                              I STRONGLY suggest you don't do threading unless you're coding often or plan to put a lot of time into learning about the potential pitfalls and how to avoid them ... it's pretty much the fastest way to get a program with unreliable behaviour if you don't know what you're doing.



                              I would suggest you have a separate script that does the flashing; which you can then control from your other script... It's very much like threading, but because the memory isn't shared you're not going to find yourself having to debug issues you can't reproduce.






                              share|improve this answer



















                              • 1





                                It's more multiprocessing.

                                – Ingo
                                Dec 28 '18 at 18:07






                              • 3





                                How will you become familiar with multithreaded programming if you don't ever try it? I'd give the opposite advice - if you're using a language that supports threading, try spawning a background thread to do the flashing.

                                – Johnny
                                Dec 28 '18 at 18:18






                              • 1





                                I would love to start learning new things, but I already have many problems with the export of the program because I want to export it as an apk and the buildozer can't be executed correctly

                                – Andreas Paxih
                                Dec 28 '18 at 18:31
















                              0














                              I STRONGLY suggest you don't do threading unless you're coding often or plan to put a lot of time into learning about the potential pitfalls and how to avoid them ... it's pretty much the fastest way to get a program with unreliable behaviour if you don't know what you're doing.



                              I would suggest you have a separate script that does the flashing; which you can then control from your other script... It's very much like threading, but because the memory isn't shared you're not going to find yourself having to debug issues you can't reproduce.






                              share|improve this answer



















                              • 1





                                It's more multiprocessing.

                                – Ingo
                                Dec 28 '18 at 18:07






                              • 3





                                How will you become familiar with multithreaded programming if you don't ever try it? I'd give the opposite advice - if you're using a language that supports threading, try spawning a background thread to do the flashing.

                                – Johnny
                                Dec 28 '18 at 18:18






                              • 1





                                I would love to start learning new things, but I already have many problems with the export of the program because I want to export it as an apk and the buildozer can't be executed correctly

                                – Andreas Paxih
                                Dec 28 '18 at 18:31














                              0












                              0








                              0







                              I STRONGLY suggest you don't do threading unless you're coding often or plan to put a lot of time into learning about the potential pitfalls and how to avoid them ... it's pretty much the fastest way to get a program with unreliable behaviour if you don't know what you're doing.



                              I would suggest you have a separate script that does the flashing; which you can then control from your other script... It's very much like threading, but because the memory isn't shared you're not going to find yourself having to debug issues you can't reproduce.






                              share|improve this answer













                              I STRONGLY suggest you don't do threading unless you're coding often or plan to put a lot of time into learning about the potential pitfalls and how to avoid them ... it's pretty much the fastest way to get a program with unreliable behaviour if you don't know what you're doing.



                              I would suggest you have a separate script that does the flashing; which you can then control from your other script... It's very much like threading, but because the memory isn't shared you're not going to find yourself having to debug issues you can't reproduce.







                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered Dec 28 '18 at 17:31









                              UKMonkeyUKMonkey

                              1092




                              1092








                              • 1





                                It's more multiprocessing.

                                – Ingo
                                Dec 28 '18 at 18:07






                              • 3





                                How will you become familiar with multithreaded programming if you don't ever try it? I'd give the opposite advice - if you're using a language that supports threading, try spawning a background thread to do the flashing.

                                – Johnny
                                Dec 28 '18 at 18:18






                              • 1





                                I would love to start learning new things, but I already have many problems with the export of the program because I want to export it as an apk and the buildozer can't be executed correctly

                                – Andreas Paxih
                                Dec 28 '18 at 18:31














                              • 1





                                It's more multiprocessing.

                                – Ingo
                                Dec 28 '18 at 18:07






                              • 3





                                How will you become familiar with multithreaded programming if you don't ever try it? I'd give the opposite advice - if you're using a language that supports threading, try spawning a background thread to do the flashing.

                                – Johnny
                                Dec 28 '18 at 18:18






                              • 1





                                I would love to start learning new things, but I already have many problems with the export of the program because I want to export it as an apk and the buildozer can't be executed correctly

                                – Andreas Paxih
                                Dec 28 '18 at 18:31








                              1




                              1





                              It's more multiprocessing.

                              – Ingo
                              Dec 28 '18 at 18:07





                              It's more multiprocessing.

                              – Ingo
                              Dec 28 '18 at 18:07




                              3




                              3





                              How will you become familiar with multithreaded programming if you don't ever try it? I'd give the opposite advice - if you're using a language that supports threading, try spawning a background thread to do the flashing.

                              – Johnny
                              Dec 28 '18 at 18:18





                              How will you become familiar with multithreaded programming if you don't ever try it? I'd give the opposite advice - if you're using a language that supports threading, try spawning a background thread to do the flashing.

                              – Johnny
                              Dec 28 '18 at 18:18




                              1




                              1





                              I would love to start learning new things, but I already have many problems with the export of the program because I want to export it as an apk and the buildozer can't be executed correctly

                              – Andreas Paxih
                              Dec 28 '18 at 18:31





                              I would love to start learning new things, but I already have many problems with the export of the program because I want to export it as an apk and the buildozer can't be executed correctly

                              – Andreas Paxih
                              Dec 28 '18 at 18:31


















                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Raspberry Pi Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fraspberrypi.stackexchange.com%2fquestions%2f92343%2fhow-can-i-make-my-led-flashing-while-executing-the-rest-of-the-code%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Wiesbaden

                              Marschland

                              Dieringhausen