====== Test the Hardware ====== ==== Motors ==== Before testing your assembled electronics plug in the 12V DC power supply or the Li-Po battery, otherwise the motors won't run. We will now test each component individually. ssh into the BeagleBone blue board and run ost@bblue:$ sudo rc_test_motors -m 1 -d 1 //-m 1// selects the first motor while //-d 1// specifies a duty cycle of 1. The motor should lift its bar. If a motor turns in the opposite direction, change the + and - wire of the motor. You can stop the program by pressing ''Ctrl-C''. The test program is located in ///usr/bin// and can be run from anywhere. Check this for all 3 motors. ost@bblue:$ sudo rc_test_motors -m 2 -d 1 ost@bblue:$ sudo rc_test_motors -m 3 -d 1 ==== Encoders ==== Enable the counters with: ost@bblue:$ echo 1 | sudo tee /sys/bus/counter/devices/counter1/count0/enable ost@bblue:$ echo 1 | sudo tee /sys/bus/counter/devices/counter2/count0/enable ost@bblue:$ echo 1 | sudo tee /sys/bus/counter/devices/counter3/count0/enable The counter0 does not have to be enabled. Then watch the counters with ost@bblue:$ watch -n 0.5 cat /sys/bus/counter/devices/counter0/count0/count ost@bblue:$ watch -n 0.5 cat /sys/bus/counter/devices/counter1/count0/count ost@bblue:$ watch -n 0.5 cat /sys/bus/counter/devices/counter2/count0/count ost@bblue:$ watch -n 0.5 cat /sys/bus/counter/devices/counter3/count0/count If you move the axis you should see counter values changing. ==== LEDs and buttons ==== Next we want to check if all leds and buttons work as desired. The blue led should light up on pin GPIO3_2 with ost@bblue:$ sudo gpioset -c gpiochip2 2=1 Do the same with the red led on pin GPIO1_17 ost@bblue:$ sudo gpioset -c gpiochip0 17=1 And the green led on pin GPIO3_20 ost@bblue:$ sudo gpioset -c gpiochip2 20=1 Read the state of the blue button with ost@bblue:$ sudo gpioget -c gpiochip2 1 When the button is pressed it will return //"1"=active//, //"1"=inactive// otherwise. Do the same with the red button ost@bblue:$ sudo gpioget -c gpiochip0 25 And the green button ost@bblue:$ sudo gpioget -c gpiochip2 17 ==== Mouse ==== Connect the mouse and check under /dev/input which event is associated to the mouse. You can list the devices with 'ls' before and after you plug the mouse. The device associated to the mouse should be event1. If the event is available, you can type following on the terminal: sudo cat /dev/input/event1 If you move the mouse you should see some characters on the screen. This shows that the mouse inputs are received by the BBBlue. ===== Adjust Hardware Configuration File ===== Check the direction of the encoders. Lower your TCP and run ost@bblue:$ rc_test_encoders on your target. When raising the TCP the encoder values should be positive. Change each negative encoder in the //HwConfigBBBlue.json// from "scale": [ { "id" : "gear", "minIn": 0, "maxIn": 1, "minOut": 0, "maxOut": 76 }, { "id" : "enc", "minIn": 0, "maxIn": 6.283185307179586476925286766559, "minOut": 0, "maxOut": 4096}, { "id" : "fqd", "minIn": 0, "maxIn": 1, "minOut": 0, "maxOut": 4} ], to (changed sign in id:enc) "scale": [ { "id" : "gear", "minIn": 0, "maxIn": 1, "minOut": 0, "maxOut": 76 }, { "id" : "enc", "minIn": 0, "maxIn": -6.283185307179586476925286766559, "minOut": 0, "maxOut": 4096}, { "id" : "fqd", "minIn": 0, "maxIn": 1, "minOut": 0, "maxOut": 4} ], Check the encoder and gear values and adjust them if necessary. You can change //HwConfigBBBlue.json// on the host before deploying to the target or on the target directly. After that you can run the Delta application. ---- **Next: [[deploy|]]**