I would like to make a program which will run on a raspberry pi, that will switch on a circuit, and switch another circuit on a few nano seconds afterwards. Is it possible to create a delay that is so small?
            Asked
            
        
        
            Active
            
        
            Viewed 416 times
        
    1
            
            
        - 
                    1No, not directly in python. You may struggle to do that in C++ on an rpi. – quamrana Mar 20 '20 at 12:12
- 
                    If you need that kind of precision, I wonder why you're using python in the first place – Minn Mar 20 '20 at 12:14
- 
                    Measure how fast Python is on that Raspberry when running normal code. Is it accurate in a nanoseconds range? – Jongware Mar 20 '20 at 12:15
- 
                    See this: https://raspberrypi.stackexchange.com/questions/3898/nanosleep-wont-sleep-short-time?newreg=09230bb9224b48c4b3ab8d3f4c5765f0. – CypherX Mar 20 '20 at 12:18
- 
                    OK, but is it possible to get a delay smaller than a millisecond? (0.001 seconds)? – Stevovoness Mar 20 '20 at 13:18
- 
                    Just a side info: https://stackoverflow.com/q/1133857/2648551 and https://www.python.org/dev/peps/pep-0564/ – colidyre Mar 20 '20 at 17:06
- 
                    You'll have to test if your Raspberry supports [getting nanosecond timings](https://docs.python.org/3/library/time.html#time.perf_counter). – Jongware Mar 20 '20 at 21:34
2 Answers
-1
            
            
        You can try something like this -
start = time.time()
while time.time() - start < 0.15:
     pass
you can create a delay and use the same.
 
    
    
        dper
        
- 884
- 1
- 8
- 31
-1
            
            
        import time
delay = 0.001 #seconds
time.sleep(delay)
 
    
    
        bonifacio_kid
        
- 633
- 5
- 8
- 
                    1Just for refererence, even if it were possible, 1 nanosecond is 0.000000001 seconds, not 0.001... – David Buck Mar 20 '20 at 13:42
 
    