Advertisement
SoapSuds

8-bit DAC on beaglebone with R/2R ladder

Mar 22nd, 2012
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.28 KB | None | 0 0
  1. import os
  2. import time
  3.  
  4. #export and enable all pins for DAC output
  5. #Enable Dataline 0 | Pin#: 3 | Header: P8 | GPIO#: 38
  6. os.system("echo 38 > /sys/class/gpio/export")
  7. os.system("echo out > /sys/class/gpio/gpio38/direction")
  8.  
  9. #Enable Dataline 1 | Pin#: 12 | Header: P8 | GPIO#: 44
  10. os.system("echo 44 > /sys/class/gpio/export")
  11. os.system("echo out > /sys/class/gpio/gpio44/direction")
  12.  
  13. #Enable Dataline 2 | Pin#: 14 | Header: P8 | GPIO#: 26
  14. os.system("echo 26 > /sys/class/gpio/export")
  15. os.system("echo out > /sys/class/gpio/gpio26/direction")
  16.  
  17. #Enable Dataline 3 | Pin#: 16 | Header: P8 | GPIO#: 46
  18. os.system("echo 46 > /sys/class/gpio/export")
  19. os.system("echo out > /sys/class/gpio/gpio46/direction")
  20.  
  21. #Enable Dataline 4 | Pin#: 17 | Header: P8 | GPIO#: 27
  22. os.system("echo 27 > /sys/class/gpio/export")
  23. os.system("echo out > /sys/class/gpio/gpio27/direction")
  24.  
  25. #Enable Dataline 5 | Pin#: 18 | Header: P8 | GPIO#: 65
  26. os.system("echo 65 > /sys/class/gpio/export")
  27. os.system("echo out > /sys/class/gpio/gpio65/direction")
  28.  
  29. #Enable Dataline 6 | Pin#: 20 | Header: P8 | GPIO#: 63
  30. os.system("echo 63 > /sys/class/gpio/export")
  31. os.system("echo out > /sys/class/gpio/gpio63/direction")
  32.  
  33. #Enable Dataline 7 | Pin#: 21 | Header: P8 | GPIO#: 22
  34. os.system("echo 22 > /sys/class/gpio/export")
  35. os.system("echo out > /sys/class/gpio/gpio22/direction")
  36.  
  37. while(True):
  38.  
  39.     try:
  40.         #Analog 2
  41.         analog_value = open("/sys/devices/platform/tsc/ain2","rb").read()
  42.                
  43.         new_value = int(analog_value)
  44.         new_value = 0.062255859*new_value
  45.         new_value = round(new_value)
  46.  
  47.  
  48.  
  49.         #convert dec to binary
  50.         binary_value = bin(new_value)
  51.  
  52.         #turn on/off 128th bit?
  53.         if binary_value[2] == "1":
  54.             os.system("echo 1 > /sys/class/gpio/gpio22/value")
  55.         elif binary_value[2]  == "0":
  56.             os.system("echo 0 > /sys/class/gpio/gpio22/value")
  57.  
  58.         print ''
  59.         print binary_value[2]
  60.         print ''
  61.  
  62.         #turn on/off 64th bit?
  63.         if binary_value[3] == "1":
  64.             os.system("echo 1 > /sys/class/gpio/gpio63/value")
  65.         elif binary_value[3] == "0":
  66.             os.system("echo 0 > /sys/class/gpio/gpio63/value")
  67.  
  68.         #turn on/off 32nd bit?
  69.         if  binary_value[4] == "1":
  70.             os.system("echo 1 > /sys/class/gpio/gpio65/value")
  71.         elif binary_value[4] == "0":
  72.             os.system("echo 0 > /sys/class/gpio/gpio65/value")
  73.  
  74.         #turn on/off 16 bit?
  75.         if binary_value[5] == "1":
  76.             os.system("echo 1 > /sys/class/gpio/gpio27/value")
  77.         elif binary_value[5] == "0":
  78.             os.system("echo 0 > /sys/class/gpio/gpio27/value")
  79.  
  80.  
  81.         #turn on/off 8th bit?
  82.         if binary_value[6] == "1":
  83.             os.system("echo 1 > /sys/class/gpio/gpio46/value")
  84.         elif binary_value[6] == "0":
  85.             os.system("echo 0 > /sys/class/gpio/gpio46/value")
  86.  
  87.         #turn on/off 4th bit?
  88.         if binary_value[7] == "1":
  89.             os.system("echo 1 > /sys/class/gpio/gpio26/value")
  90.         elif binary_value[7] == "0":
  91.             os.system("echo 0 > /sys/class/gpio/gpio26/value")
  92.                
  93.  
  94.         if binary_value[8] == "1":
  95.             os.system("echo 1 > /sys/class/gpio/gpio44/value")
  96.         elif binary_value[8] == 0:
  97.             os.system("echo 0 > /sys/class/gpio/gpio44/value")
  98.  
  99.                
  100.         if binary_value[9] == "1":
  101.             os.system("echo 1 > /sys/class/gpio/gpio38/value")
  102.         if binary_value[9] == "0":
  103.             os.system("echo 0 > /sys/class/gpio/gpio38/value")
  104.                
  105.         print new_value
  106.         print binary_value
  107.         print "-------"
  108.            
  109.     except:
  110.         print 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement