I have a a couple of BeagleBone Blues, intended for a robotics project, flashed with Debian 11.7.
As quite a few are probably aware, the librobotcontrol stuff did not make it into this build. Not sure why. Is the robot cape no longer supported?
Anyway I got the librobotcontrol source from here: https://github.com/StrawsonDesign/librobotcontrol.git (v 1.05)
and tried to build it. Build finished OK, no major errors, just the usual C-type stuff about not-quite-matched number types, etc.
However I also got this output from rc_test_drivers, which was not too promising:
debian@BeagleBone:~/librobotcontrol$ rc_test_drivers
Kernel: 5.10.168-ti-r71
BeagleBoard.org Debian Bullseye IoT Image 2023-09-02
Debian: 11.11
PASSED: gpio 0
PASSED: gpio 1
PASSED: gpio 2
PASSED: gpio 3
ERROR: ti-pwm driver not loaded for hrpwm0
ERROR: ti-pwm driver not loaded for hrpwm1
ERROR: ti-pwm driver not loaded for hrpwm2
ERROR: ti-eqep driver not loaded for eqep0
ERROR: ti-eqep driver not loaded for eqep1
ERROR: ti-eqep driver not loaded for eqep2
PASSED: pru-rproc
ERROR: uart1 driver not loaded
ERROR: uart2 driver not loaded
ERROR: uart4 driver not loaded
ERROR: uart5 driver not loaded
ERROR: i2c1 driver not loaded
PASSED: i2c2
ERROR: spi driver not loaded
PASSED: LED
PASSED: ADC iio
Currently running on a:
MODEL_BB_BLUE
Robot Control library Version:
1.0.5
Indeed some of the rc_* programs work, all the mathematical tests, and also the blinking lights, battery tests, accelerometer, but the PWM does not seem to. I tried testing some servos, the rail does go to 6V but nothing much else seems to happen. I know everything works because when I tested it as it came out the box (old 2017 flash, I think) everything - including - the servos worked fine.
I need to know whether librobotcontrol is still a viable, supported, proposition or if I’d be better off addressing everything from scratch.
which states to use the Debian 10.x (Buster) flash. Does anyone know if this advice is still current? I mean, I’ll try it anyway :), but I do need to get going with this.
have you looked in /dev/bone/ yet on your distro from beagleboard.org? There should be some pwm entries in it.
Now for compiling everything correctly, I am not into firmware just yet. So, I am missing a lot on the build of the librobotcontrol entirety.
I think maybe exchanging some files may help a bit but not entirely. It has been a while since I tested with the BBBlue and robotcontrol libs. Remember, /dev/bone/uart/ and /dev/bone/pwm/ should have files for the exchange.
There’s an empty pwm directory in /dev/bone. No /dev/bone/uart. (am335x-eMMC-flasher-debian-11.7-iot-armhf-2023-09-02-4gb.img.xz)
I’ll try the Buster distro above, or possibly am335x-eMMC-flasher-debian-11.8-iot-armhf-2023-10-07-4gb.img.xz if anyone thinks that will help.
===
PS. In any case, since I’ve rebuilt everything, shouldn’t make install have placed everything where it needs to be? Is the something wrong or out of date with the 1.05 Makefile?
worked with librobotcontrol about 6 months ago, a lot of the device locations have changed.
i stated to update some of these, for my project. been a pain, more work than i expected.
so my project just sit off to the side of my desk, waiting for me to work on it.
I got BB Blue since I thought that all the robot stuff would be good to go straight out the box.
Now I’m finding I have to build every single facet from the ground up. PRUs, I2C, PWM, everything. Even the the GPIO is opinionated. The IDE (VSCode) is good, but it still hasn’t been set up for the examples,
I don’t mind, it’s a good learning experience but I can see that it could be a problem for many.
I haven’t tried Code Red yet, I hope it’s a bit more accessible.
Hopefully, through all the efforts here, something better can come together, the potential is there all right but at the moment pretty much the domain of more experienced folk, you couldn’t easily chuck a newb in here.
It is actually more than a problem for others, it has an extreme negative impact on BB. Like you just found out, it is not easy to configure all the on chip peripherals.
I just tried with the Debian 10.x (Buster) flash suggested by @RobertCNelson and everything seems to be OK. Certainly rc_test_servos, which was my main concern works correctly.
Of course, that flash is OLD. It still has a Cloud9 installation!! (plus an invite to upgrade - gawdknows what that would do should anyone be brave enough to try!) Also a few other minor weird things, but no big deal.
Surely it’s just a case of copying all the good bits from 10.x onto a build that can be installed on top of a standard 11.8 BBB build, to be used on BB Blues and Robotics capes. I mean it’s the same chip, nothing has moved of its own accord.
That’s what I would like to try, anyway. Maybe.
Browsing the 10.x Buster SD card is interesting.
Nothing in /sys, never mind /sys/class
Nothing much in /dev, just the odd console tty etc.
The file structure is totally different. I think there was some major rearrangement, but I can’t really follow it right now. My understanding of device trees and overlays is non-existent, atm.
There’s a librobotcontrol.so.1.0.5 in /usr/lib, I wonder if its worth just copying that over and seeing if anything will work.
PS. Nope, that didn’t help much (I was somehow hoping that some configurations may have been hard-coded in the *.so file. Ha.)
You can swap the *.so files, but it works just like before: Everything that’s not reliant on PRUs works (e.g. rc_battery_monitor, math routines, etc) but not much else.
Funnily enough the so file from librobotcontrol.so.1…0.5 from 10.x is 227,732 in size, the one I built from the Strawson design code is 657,248. Maybe it’s just debug stuff, can’t remember how I built it offhand.