Hi,

I just install Bonescript on my cloud9. Now I'm trying to use some simple 
examples. 
However, when I tried to use them I got some error, nevertheless, I didn't 
understand why, and how I can solve them.

First example : Toogle LED 
var b = require('bonescript');

var leds = ["USR0", "USR1", "USR2", "USR3","P8_07"];

for(var i in leds) {
    b.pinMode(leds[i], b.OUTPUT);
}

var state = b.LOW;
for(var i in leds) {
    b.digitalWrite(leds[i], state);
}

setInterval(toggle, 1000);

function toggle() {
    if(state == b.LOW) state = b.HIGH;
    else state = b.LOW;
    for(var i in leds) {
        b.digitalWrite(leds[i], state);
    }
}

 The error that I got : 
 
/root/labs/cloud9_app/node_modules/bonescript/src/hw_mainline.js:84
    if(!pinmux) { throw p + " was not found under " + my.is_ocp(); }
                                                    ^
ocp:P8_07_pinmux was not found under /sys/devices/platform/ocp


Remark : if I change the line 
 var leds = ["USR0", "USR1", "USR2", "USR3","P8_07"];
by 
var leds = ["USR0", "USR1", "USR2", "USR3",];

My program is working because it didn't use a gpio pin which request a 
configuration.


Second example : set a PWM signal and change the duty cycle of it :
source : http://beagleboard.org/support/BoneScript/ServoMotor/

var b = require('bonescript');
var SERVO = 'P9_14';
var duty_min = 0.03;
var position = 0;
var increment = 0.1;

//b.pinMode(SERVO, b.OUTPUT);
updateDuty();

function updateDuty() {
    // compute and adjust duty_cycle based on
    // desired position in range 0..1
    var duty_cycle = (position*0.115) + duty_min;
    b.analogWrite(SERVO, duty_cycle, 60, scheduleNextUpdate);
    console.log("Duty Cycle: " + 
        parseFloat(duty_cycle*100).toFixed(1) + " %");   
}

function scheduleNextUpdate() {
    // adjust position by increment and 
    // reverse if it exceeds range of 0..1
    position = position + increment;
    if(position < 0) {
        position = 0;
        increment = -increment;
    } else if(position > 1) {
        position = 1;
        increment = -increment;
    }
    
    // call updateDuty after 200ms
    setTimeout(updateDuty, 200);
}



Error : 
  /root/labs/cloud9_app/node_modules/bonescript/src/hw_mainline.js:84
    if(!pinmux) { throw p + " was not found under " + my.is_ocp(); }
                                                    ^
ocp:P9_14_pinmux was not found under /sys/devices/platform/ocp


To confirm that my code was working I have tested it on the original kernel 
install on the beaglebone.
Both were working on it. So, I was wondering if it didn't come from the 
dts/dtbo file. 
To test that I copy the one form the original kernel in my own one. It 
didn't succeed either.

Here are my current configuration : 
# node --version
v0.12.7

# npm --version
2.11.3

# node -pe "require('bonescript').getPlatform().bonescript"
0.5.0

# uname -a
Linux beagle09 4.1.21-bone-rt-r20 #3 Wed May 25 13:55:22 CEST 2016 armv7l 
GNU/Linux


Did someone have an Idea on what's wrong ? Am I missing something ? 
If you have any questions do not hesitate.
Thanks by advance for your help

Regards
Vincent 
" Enjoy life no matter what ! " 



-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/dbe67376-26a1-492e-b130-a9e0d210f5d2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to