Advertisement
Guest User

Untitled

a guest
Dec 27th, 2011
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. root@beaglebone:/var/lib/cloud9/bonescript# cat eeprom.js
  2. var fs = require('fs');
  3. var buffer = require('buffer');
  4. var util = require('util');
  5.  
  6. var readEeprom = function(bus, offset) {
  7. var data = {};
  8. var address = '005' + offset;
  9. try {
  10. var eepromFile =
  11. fs.openSync(
  12. '/sys/bus/i2c/drivers/at24/'+bus+'-'+address+'/eeprom',
  13. 'r'
  14. );
  15. var eepromData = new buffer.Buffer(60);
  16. fs.readSync(eepromFile, eepromData, 0, 60, 0);
  17. data.header = eepromData.toString('base64', 0, 4);
  18. data.boardName = eepromData.toString('ascii', 4, 12);
  19. data.version = eepromData.toString('ascii', 12, 16);
  20. data.serialNumber = eepromData.toString('ascii', 16, 28);
  21. data.configOption = eepromData.toString('base64', 28, 60);
  22. } catch(ex) {
  23. console.warn('Unable to open EEPROM at '+bus+'-'+address+': '+ex);
  24. }
  25.  
  26. return(data);
  27. };
  28.  
  29. var readEepromCape = function(bus, offset) {
  30. var data = {};
  31. var address = '005' + offset;
  32. try {
  33. var eepromFile =
  34. fs.openSync(
  35. '/sys/bus/i2c/drivers/at24/'+bus+'-'+address+'/eeprom',
  36. 'r'
  37. );
  38. var eepromData = new buffer.Buffer(256);
  39. fs.readSync(eepromFile, eepromData, 0, 256, 0);
  40. data.header = eepromData.toString('base64', 0, 3);
  41. data.formatrev = eepromData.toString('ascii', 4, 5);
  42. data.boardName = eepromData.toString('ascii', 6, 37);
  43. data.version = eepromData.toString('ascii', 38, 41);
  44. data.manufacturer = eepromData.toString('ascii', 42, 57);
  45. data.partnumber = eepromData.toString('ascii', 58, 73);
  46. data.numpins = eepromData.toString('ascii', 72, 75);
  47. data.serialNumber = eepromData.toString('ascii', 76, 87);
  48. } catch(ex) {
  49. console.warn('Unable to open EEPROM at '+bus+'-'+address+': '+ex);
  50. }
  51.  
  52. return(data);
  53. };
  54.  
  55. var mainEeprom = readEeprom(1, 0);
  56. var capeEeprom = readEepromCape(3, 7);
  57. console.log(mainEeprom);
  58. console.log(capeEeprom);
  59. root@beaglebone:/var/lib/cloud9/bonescript#
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement