Node.js脚本未设置BeagleBone黑色mux

Node.js脚本未设置BeagleBone黑色mux,node.js,microcontroller,beagleboard,Node.js,Microcontroller,Beagleboard,在我的BeagleBone Black上,当我运行此脚本时: #!/usr/bin/node var b = require('bonescript'); b.getPlatform(printData); function printData(x) { console.log('name = ' + x.name); console.log('version = ' + x.version); console.log('serialNumber = ' + x.se

在我的BeagleBone Black上,当我运行此脚本时:

#!/usr/bin/node

var b = require('bonescript');

b.getPlatform(printData);
function printData(x) {
    console.log('name = ' + x.name);
    console.log('version = ' + x.version);
    console.log('serialNumber = ' + x.serialNumber);
    console.log('bonescript = ' + x.bonescript);
    console.log();
}

b.pinMode("P9_11", b.OUTPUT, 7, 'pullup', 'slow');
b.pinMode("P9_13", b.OUTPUT, 7, 'pullup', 'slow');
b.pinMode("P9_15", b.OUTPUT, 7, 'pullup', 'slow');
b.pinMode("P9_17", b.OUTPUT, 7, 'pullup', 'slow');

b.getPinMode("P9_11", printPinMux);
b.getPinMode("P9_13", printPinMux);
b.getPinMode("P9_15", printPinMux);
b.getPinMode("P9_17", printPinMux);

function printPinMux(x) {
    console.log('mux = ' + x.mux);
    console.log('pullup = ' + x.pullup);
    console.log('slew = ' + x.slew);
    if(x.options) {
        console.log('options = ' + x.options.join(','));
    }
    console.log('pin = ' + x.pin);
    console.log('name = ' + x.name);
    console.log('err = ' + x.err);
    console.log();
}
我得到这个输出:

name = BeagleBone Black
version = 0A5A
serialNumber = 1813BBBK7710
bonescript = 0.2

mux = 7
pullup = pullup
slew = fast
options = gpmc_wait0,mii2_crs,NA,rmii2_crs_dv,mmc1_sdcd,NA,NA,gpio0_30
pin = P9_11
name = UART4_RXD
err = undefined

mux = 7
pullup = pullup
slew = fast
options = gpmc_wpn,mii2_rxerr,NA,rmii2_rxerr,mmc2_sdcd,NA,NA,gpio0_31
pin = P9_13
name = UART4_TXD
err = undefined

mux = 2
pullup = pulldown
slew = slow
options = spi0_cs0,mmc2_sdwp,i2c1_scl,NA,NA,NA,NA,gpio0_5
pin = P9_17
name = I2C1_SCL
err = undefined

mux = 0
pullup = pulldown
slew = fast
options = mii1_rxd3,NA,rgmii1_rd3,mmc0_dat5,mmc1_dat2,NA,mcasp0_axr0,gpio2_18
pin = P9_15
name = GPIO1_16
err = undefined

看起来b.pinMode()没有设置管脚的模式。为什么?

到目前为止,我从G+中发现,文档中标识为可供用户使用的PIN实际上可能不可用。某些PIN在引导时被Linux内核捕获,并且不可用。据我所知,真正可用的引脚列表没有记录。坦率地说,我很恼火,这些别针被证明是可用的,而事实并非如此,了解真相就像拔牙一样。我在猜测我的董事会选择。其他板也是这样吗?看起来像内核/devtree学习曲线-cicruitco/bonescript的人正在帮助解决这个问题,当我有更多的东西时,我会发布更新。Don Branson你有什么更新吗?我有,但Node.js/bonescript没有。Jason正在疯狂地为新内核更新bonescript,该内核依赖于设备树进行设备管理。这是一种新的通用方法。与此同时,我看了一段关于设备树的视频,了解了它们。检查一下这个问题,我的回答和其他问题,我想这会对你有所帮助:@DonBranson很高兴遇到同样痛苦的人。而且,很高兴听到有人意识到了这个问题,并且正在努力解决这个问题。我不知道你是如何联系杰森的,以及他在这个问题上的立场。我已经通过聊天、github和论坛请求他只花2分钟向我解释事情的进展。没有用,更不用说承认了,他甚至意识到了这个问题。如果你听到什么,请告诉我。