This is an old revision of the document!
HAL
To get more information about the Hardware Abstraction Layer and how it works, please have a look into the HAL described on the eeros wiki.
EEROS for the Beagle Bone Blue is using the robotis_cape_library. You'll find the wrapper and its functions in the bbblue-eeros folder.
Configure the motors
If you want to run a motor with EEROS you need to define a Peripheral Output with the respective “signalId” used in the HAL-Configuration file. As you can see in the HAL-Configuration file for the Delta roboter in “subdevice2” the type for the motors is set to “AnalogOut”. In this subdevice section the 4 motors are configured to match the functions of the robotics_cape_library. In the EEROS application for the Delta roboter you can set a motor voltage of -8.0V to 8.0V. The HAL gets this values and wraps it to match the values of the robotics_cape_library which then runs the motors with the desired voltage.
Configure the encoders
HAL-Configuration file for the Delta roboter
{ "device0": { "library": "libbbblueeeros.so", "devHandle": "dummy", "subdevice0": { "type": "DigOut", "channel0": { "signalId": "onBoardGreen" }, "channel1": { "signalId": "ledBlue" }, "channel49": { "signalId": "ledRed" }, "channel116": { "signalId": "onBoardRed" }, "channel98": { "signalId": "emag" } }, "subdevice1": { "type": "DigIn", "channel0": { "signalId": "buttonMode" }, "channel1": { "signalId": "buttonPause" }, "channel97": { "signalId": "buttonBlue" }, "channel57": { "signalId": "buttonRed" }, "channel113": { "signalId": "buttonGreen" } }, "subdevice2": { "type": "AnalogOut", "channel1": { "signalId": "motor1", "scale": [ { "id" : "dac", "minIn": -1.0, "maxIn": 1.0, "minOut": -8.0, "maxOut": 8.0 } ], "range": [ { "id" : "dac", "minIn": -0.75, "maxIn": 0.75, "minOut": -6.0, "maxOut": 6.0 } ], "unit": "V" }, "channel2": { "signalId": "motor2", "scale": [ { "id" : "dac", "minIn": -1.0, "maxIn": 1.0, "minOut": -8.0, "maxOut": 8.0 } ], "range": [ { "id" : "dac", "minIn": -0.75, "maxIn": 0.75, "minOut": -6.0, "maxOut": 6.0 } ], "unit": "V" }, "channel3": { "signalId": "motor3", "scale": [ { "id" : "dac", "minIn": -1.0, "maxIn": 1.0, "minOut": -8.0, "maxOut": 8.0 } ], "range": [ { "id" : "dac", "minIn": -0.75, "maxIn": 0.75, "minOut": -6.0, "maxOut": 6.0 } ], "unit": "V" }, "channel4": { "signalId": "motor4", "scale": [ { "id" : "dac", "minIn": -1.0, "maxIn": 1.0, "minOut": -6.0, "maxOut": 6.0 } ], "range": [ { "id" : "dac", "minIn": -1, "maxIn": 1, "minOut": -6.0, "maxOut": 6.0 } ], "unit": "V" } }, "subdevice3": { "type": "Fqd", "channel1": { "signalId": "enc1", "scale": [ { "id" : "gear", "minIn": 0, "maxIn": 6.283185307, "minOut": 0, "maxOut": 477.522083346 }, { "id" : "enc", "minIn": 0, "maxIn": 477.522083346, "minOut": 0, "maxOut": 311296}, { "id" : "fqd", "minIn": 0, "maxIn": 311296, "minOut": 0, "maxOut": 1245184} ], "range": [ { "id" : "gear", "minIn": 0, "maxIn": 6.283185307, "minOut": 0, "maxOut": 477.522083346 }, { "id" : "enc", "minIn": 0, "maxIn": 477.522083346, "minOut": 0, "maxOut": 311296}, { "id" : "fqd", "minIn": 0, "maxIn": 311296, "minOut": 0, "maxOut": 1245184} ], "unit": "rad" }, "channel2": { "signalId": "enc2", "scale": [ { "id" : "gear", "minIn": 0, "maxIn": 6.283185307, "minOut": 0, "maxOut": 477.522083346 }, { "id" : "enc", "minIn": 0, "maxIn": 477.522083346, "minOut": 0, "maxOut": 311296}, { "id" : "fqd", "minIn": 0, "maxIn": 311296, "minOut": 0, "maxOut": 1245184} ], "range": [ { "id" : "gear", "minIn": 0, "maxIn": 6.283185307, "minOut": 0, "maxOut": 477.522083346 }, { "id" : "enc", "minIn": 0, "maxIn": 477.522083346, "minOut": 0, "maxOut": 311296}, { "id" : "fqd", "minIn": 0, "maxIn": 311296, "minOut": 0, "maxOut": 1245184} ], "unit": "rad" }, "channel3": { "signalId": "enc3", "scale": [ { "id" : "gear", "minIn": 0, "maxIn": 6.283185307, "minOut": 0, "maxOut": 477.522083346 }, { "id" : "enc", "minIn": 0, "maxIn": 477.522083346, "minOut": 0, "maxOut": 311296}, { "id" : "fqd", "minIn": 0, "maxIn": 311296, "minOut": 0, "maxOut": 1245184} ], "range": [ { "id" : "gear", "minIn": 0, "maxIn": 6.283185307, "minOut": 0, "maxOut": 477.522083346 }, { "id" : "enc", "minIn": 0, "maxIn": 477.522083346, "minOut": 0, "maxOut": 311296}, { "id" : "fqd", "minIn": 0, "maxIn": 311296, "minOut": 0, "maxOut": 1245184} ], "unit": "rad" }, "channel4": { "signalId": "enc4", "scale": [ { "id" : "gear", "minIn": 0, "maxIn": 5.8, "minOut": 0, "maxOut": 670.206432766 }, { "id" : "enc", "minIn": 0, "maxIn": 753.982236862, "minOut": 0, "maxOut": 30720}, { "id" : "fqd", "minIn": 0, "maxIn": 30720, "minOut": 0, "maxOut": 122880} ], "range": [ { "id" : "gear", "minIn": 0, "maxIn": 6.283185307, "minOut": 0, "maxOut": 753.982236862 }, { "id" : "enc", "minIn": 0, "maxIn": 753.982236862, "minOut": 0, "maxOut": 30720}, { "id" : "fqd", "minIn": 0, "maxIn": 30720, "minOut": 0, "maxOut": 122880} ], "unit": "rad" } } } }