Difference between revisions of "BeagleBone"
From PROBOTIX :: wiki
(41 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [ | + | [[Image:BeagleBone_Black.jpg|thumb|500px|BeagleBone Black]] |
+ | |||
+ | == Getting Started == | ||
+ | |||
+ | [http://circuitco.com/support/index.php?title=BeagleBoneBlack BeagleBone Black Info] | ||
[http://beagleboard.org/Support/bone101/ Bone 101] | [http://beagleboard.org/Support/bone101/ Bone 101] | ||
+ | |||
+ | == Debian == | ||
+ | |||
+ | http://elinux.org/Beagleboard:BeagleBoneBlack_Debian | ||
+ | |||
+ | https://sites.google.com/site/manisbutareed/bringing-my-beagles-to-heel/booting-into-linux-on-a-beaglebone | ||
+ | |||
+ | http://omappedia.org/wiki/Bootloader_Project | ||
+ | |||
+ | http://dumb-looks-free.blogspot.com/2014/05/beaglebone-black-bbb-boot-process.html | ||
== Working with Git == | == Working with Git == | ||
+ | |||
http://alistapart.com/article/get-started-with-git | http://alistapart.com/article/get-started-with-git | ||
Line 10: | Line 25: | ||
http://nvie.com/posts/a-successful-git-branching-model/ | http://nvie.com/posts/a-successful-git-branching-model/ | ||
+ | == Working with Device Trees == | ||
+ | |||
+ | http://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/device-tree-overlays | ||
+ | |||
+ | https://docs.google.com/document/d/17P54kZkZO_-JtTjrFuVz-Cp_RMMg7GB_8W9JK9sLKfA/pub | ||
+ | |||
+ | http://blog.inbedded.net/blog/2013/06/02/beaglebone-black-and-lcd-equals-fun/ | ||
+ | |||
+ | [https://github.com/selsinork/beaglebone-black-pinmux/blob/master/pins.txt pins.txt] | ||
+ | |||
+ | https://github.com/selsinork/beaglebone-black-pinmux/blob/master/pinmux.ods | ||
+ | |||
+ | == Programmable Realtime Unit (PRU) == | ||
+ | |||
+ | http://blog.boxysean.com/2012/08/12/first-steps-with-the-beaglebone-pru/ | ||
+ | |||
+ | == C++ Programming == | ||
+ | |||
+ | http://circuitco.com/support/index.php?title=C/C%2B%2B_Programming | ||
+ | |||
+ | http://www.cplusplus.com/doc/tutorial/operators/ | ||
+ | |||
+ | == Webserver == | ||
+ | |||
+ | https://www.element14.com/community/community/designcenter/single-board-computers/next-gen_beaglebone/blog/2013/11/22/beaglebone-web-server--led-blinking | ||
+ | |||
+ | |||
+ | == GPIO == | ||
+ | |||
+ | http://robotic-controls.com/learn/beaglebone/beaglebone-black-built-leds | ||
+ | |||
+ | == EEPROM == | ||
+ | |||
+ | http://papermint-designs.com/community/node/331 | ||
+ | |||
+ | == eQEP Encoder Input == | ||
+ | |||
+ | http://elinux.org/EBC_Reading_a_Rotary_Encoder_via_eQEP | ||
+ | |||
+ | |||
+ | == Character LCDs (HD44780) == | ||
+ | |||
+ | https://github.com/PierreND/BeagleBone-various/blob/master/PND_linksprite_LCD_BeagleBone.js | ||
+ | |||
+ | == TFT LCD == | ||
+ | |||
+ | http://www.embest-tech.com/product/extension-module/bb-view.html | ||
+ | |||
+ | |||
+ | == Machine Kit == | ||
+ | |||
+ | http://www.machinekit.io/ | ||
+ | |||
+ | https://github.com/cdsteinkuehler/MachineKit | ||
+ | |||
+ | http://bb-lcnc.blogspot.com/2013/07/adding-homelimit-switches.html | ||
+ | |||
+ | == Machine Vision == | ||
+ | |||
+ | http://www.youtube.com/watch?v=8QouvYMfmQo | ||
+ | |||
+ | <code>sudo apt-get install v4l-utils | ||
+ | |||
+ | v4l2-ctl --list-devices | ||
+ | |||
+ | v4l2-ctl --all | ||
+ | |||
+ | v4l2-ctl --list-ctrls | ||
+ | |||
+ | v4l2-ctl --set-ctrl=brightness=200 | ||
+ | |||
+ | v4l2-ctl --list-formats | ||
+ | |||
+ | v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=H264 | ||
+ | |||
+ | cd /home/linuxcnc | ||
+ | |||
+ | git clone git://github.com/derekmolloy/boneCV.git | ||
+ | |||
+ | cd boneCV/ | ||
+ | |||
+ | sudo apt-get install libv4l-dev | ||
+ | |||
+ | sudo apt-get install libopencv-dev | ||
+ | |||
+ | ./build | ||
+ | |||
+ | |||
+ | </code> | ||
+ | |||
+ | == Beaglebone Headers == | ||
+ | |||
+ | https://mlelectronics.com | ||
+ | |||
+ | == Misc: == | ||
+ | |||
+ | <pre> | ||
+ | # P9.31 GPIO3_14 | ||
+ | setp [PRUCONF](DRIVER).stepgen.00.steppin 0x8E | ||
+ | |||
+ | The value above is given meaning by the PRU code, which uses the | ||
+ | kernel numbering scheme, but offset by one so that 0x00 (the default | ||
+ | value for all HAL signals) means don't do anything. The details are: | ||
+ | |||
+ | GPIO Pin Value: | ||
+ | value = 32 * ( <GPIO_bank> + 1 ) + bit | ||
+ | |||
+ | PRU Direct Output Bits: | ||
+ | value = 32 * (4 + 1 ) + bit = 160 + bit = 0xA0 + bit | ||
+ | |||
+ | So 0x8E = 142 = (32 * 4) + 14 = GPIO bank 3, bit 14 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | [[Image:Beaglebone_dimensions.jpg|thumb|500px|BeagleBone Black Dimensions]] | ||
sudo -A su -c "echo BB-BLACK-LCNC-PBX-BB > /sys/devices/bone_capemgr.*/slots" | sudo -A su -c "echo BB-BLACK-LCNC-PBX-BB > /sys/devices/bone_capemgr.*/slots" | ||
Line 21: | Line 153: | ||
watch --differences dmesg | tail | watch --differences dmesg | tail | ||
− | + | tail -f /var/log/messages |
Latest revision as of 16:33, 13 March 2017
Contents
Getting Started
Debian
http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
http://omappedia.org/wiki/Bootloader_Project
http://dumb-looks-free.blogspot.com/2014/05/beaglebone-black-bbb-boot-process.html
Working with Git
http://alistapart.com/article/get-started-with-git
http://git-scm.com/book/ch2-5.html
http://nvie.com/posts/a-successful-git-branching-model/
Working with Device Trees
http://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/device-tree-overlays
https://docs.google.com/document/d/17P54kZkZO_-JtTjrFuVz-Cp_RMMg7GB_8W9JK9sLKfA/pub
http://blog.inbedded.net/blog/2013/06/02/beaglebone-black-and-lcd-equals-fun/
https://github.com/selsinork/beaglebone-black-pinmux/blob/master/pinmux.ods
Programmable Realtime Unit (PRU)
http://blog.boxysean.com/2012/08/12/first-steps-with-the-beaglebone-pru/
C++ Programming
http://circuitco.com/support/index.php?title=C/C%2B%2B_Programming
http://www.cplusplus.com/doc/tutorial/operators/
Webserver
GPIO
http://robotic-controls.com/learn/beaglebone/beaglebone-black-built-leds
EEPROM
http://papermint-designs.com/community/node/331
eQEP Encoder Input
http://elinux.org/EBC_Reading_a_Rotary_Encoder_via_eQEP
Character LCDs (HD44780)
https://github.com/PierreND/BeagleBone-various/blob/master/PND_linksprite_LCD_BeagleBone.js
TFT LCD
http://www.embest-tech.com/product/extension-module/bb-view.html
Machine Kit
https://github.com/cdsteinkuehler/MachineKit
http://bb-lcnc.blogspot.com/2013/07/adding-homelimit-switches.html
Machine Vision
http://www.youtube.com/watch?v=8QouvYMfmQo
sudo apt-get install v4l-utils
v4l2-ctl --list-devices
v4l2-ctl --all
v4l2-ctl --list-ctrls
v4l2-ctl --set-ctrl=brightness=200
v4l2-ctl --list-formats
v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=H264
cd /home/linuxcnc
git clone git://github.com/derekmolloy/boneCV.git
cd boneCV/
sudo apt-get install libv4l-dev
sudo apt-get install libopencv-dev
./build
Beaglebone Headers
Misc:
# P9.31 GPIO3_14 setp [PRUCONF](DRIVER).stepgen.00.steppin 0x8E The value above is given meaning by the PRU code, which uses the kernel numbering scheme, but offset by one so that 0x00 (the default value for all HAL signals) means don't do anything. The details are: GPIO Pin Value: value = 32 * ( <GPIO_bank> + 1 ) + bit PRU Direct Output Bits: value = 32 * (4 + 1 ) + bit = 160 + bit = 0xA0 + bit So 0x8E = 142 = (32 * 4) + 14 = GPIO bank 3, bit 14
sudo -A su -c "echo BB-BLACK-LCNC-PBX-BB > /sys/devices/bone_capemgr.*/slots"
cat /sys/devices/bone_capemgr*/slots
sudo vim /boot/uboot/uEnv.txt
echo BB-BLACK-LCNC-PBX-BB >/sys/devices/bone_capemgr*/slots
watch --differences dmesg | tail
tail -f /var/log/messages