Forum Replies Created

Viewing 1 post (of 1 total)
  • Author
    Posts
  • in reply to: Controlling valves in other languages #39331

    gabron
    Participant

    Ray, you are awesome, that was it! After wrestling with a lowercase ‘p’ in the string value on pin 14 for 30 minutes (face palm) I finally got it to work. I’m a little disappointed I didn’t figure this out as I was aware of the OE pin functionality, I just assumed enabled by default, that and it’s always late at night when I try to work on this. Appreciate your help!

    To document my solution, the following code leveraging the bonescript library in nodejs will open and close the valves on the OSBo. binaryZones is an Integer that has had bits set using JS bit manipulation library.

    function enableZones(binaryZones) {    //example if binaryZones == 9: binaryZones.toString(2) == 1001   This would enable zones 1 and 4
        bone.digitalWrite(outputEnabled,  bone.LOW);
        bone.digitalWrite(latch,  bone.LOW);
        for(var x = MAX_ZONES; x > 0; x--) {
            bone.digitalWrite(clock, bone.LOW);
            bone.digitalWrite(data, bone.LOW);
            if (binaryZones & (1 << x - 1))
                bone.digitalWrite(data, bone.HIGH);
            bone.digitalWrite(clock, bone.HIGH);
        }
    
        bone.digitalWrite(latch,  bone.HIGH);
    }
Viewing 1 post (of 1 total)