Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- root@beaglebone:/var/lib/cloud9/bonescript# cat eeprom.js
- var fs = require('fs');
- var buffer = require('buffer');
- var util = require('util');
- var readEeprom = function(bus, offset) {
- var data = {};
- var address = '005' + offset;
- try {
- var eepromFile =
- fs.openSync(
- '/sys/bus/i2c/drivers/at24/'+bus+'-'+address+'/eeprom',
- 'r'
- );
- var eepromData = new buffer.Buffer(60);
- fs.readSync(eepromFile, eepromData, 0, 60, 0);
- data.header = eepromData.toString('base64', 0, 4);
- data.boardName = eepromData.toString('ascii', 4, 12);
- data.version = eepromData.toString('ascii', 12, 16);
- data.serialNumber = eepromData.toString('ascii', 16, 28);
- data.configOption = eepromData.toString('base64', 28, 60);
- } catch(ex) {
- console.warn('Unable to open EEPROM at '+bus+'-'+address+': '+ex);
- }
- return(data);
- };
- var readEepromCape = function(bus, offset) {
- var data = {};
- var address = '005' + offset;
- try {
- var eepromFile =
- fs.openSync(
- '/sys/bus/i2c/drivers/at24/'+bus+'-'+address+'/eeprom',
- 'r'
- );
- var eepromData = new buffer.Buffer(256);
- fs.readSync(eepromFile, eepromData, 0, 256, 0);
- data.header = eepromData.toString('base64', 0, 3);
- data.formatrev = eepromData.toString('ascii', 4, 5);
- data.boardName = eepromData.toString('ascii', 6, 37);
- data.version = eepromData.toString('ascii', 38, 41);
- data.manufacturer = eepromData.toString('ascii', 42, 57);
- data.partnumber = eepromData.toString('ascii', 58, 73);
- data.numpins = eepromData.toString('ascii', 72, 75);
- data.serialNumber = eepromData.toString('ascii', 76, 87);
- } catch(ex) {
- console.warn('Unable to open EEPROM at '+bus+'-'+address+': '+ex);
- }
- return(data);
- };
- var mainEeprom = readEeprom(1, 0);
- var capeEeprom = readEepromCape(3, 7);
- console.log(mainEeprom);
- console.log(capeEeprom);
- root@beaglebone:/var/lib/cloud9/bonescript#
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement