| 123456789101112131415161718192021222324252627282930313233 | 
							- #!/usr/bin/python3
 
- import smbus, sys
 
- bus = 1
 
- ''' you can call this app with arguments: either a single small digit (0,1,2) or 
 
-     the device name /dev/i2c-1 '''
 
- if len(sys.argv)>1:
 
-   if sys.argv[1].isdigit():
 
-     bus = int(sys.argv[1])
 
-   if sys.argv[1].startswith("/dev/i2c"):
 
-     bus = int(sys.argv[1][-1])
 
- s=smbus.SMBus(bus)
 
- print("Scan I2C bus /dev/i2c-{} for devices".format(bus))
 
- print("     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f",end='')
 
- def check_i2c(n):
 
-   try:
 
-     s.read_byte(n)
 
-     return True
 
-   except:
 
-     return False
 
- for i in range(3,120):
 
-   if (i % 16 == 0) or (i == 3):
 
-     print("\n"+"{:02x}:".format(i),end='',flush=True)
 
-   if i == 3:
 
-     print("         ",end='')
 
-   print(" {:02x}".format(i) if check_i2c(i) else " --",end='',flush=True)
 
- print()
 
 
  |