Coder Social home page Coder Social logo

Comments (8)

rflowers avatar rflowers commented on August 19, 2024 1

ok I’ve been trying to resolve this. Robert C Nelson is currently doing some work with the beagleboard overlays, which is improving the config-pin functionality. The problem breaking the pru installation appears to be in the tools/linux hal essentials/startup script, this doesn’t support the new ocp style configuration, despite being normally required to be run once on the bbb to install firmware.

@mirkix, how does your bbblue implementation install aiopru on the bbblue? I notice it isn’t listed in the instructions. Is this implemented another way or is this an oversight. Is there anyway to check it is correctly configured with a command or script?

Thanks in advance

from ardupilotblue.

mirkix avatar mirkix commented on August 19, 2024

@rflowers What kind of RC receiver do you use?

from ardupilotblue.

rflowers avatar rflowers commented on August 19, 2024

frsky x8r receiver paired with taranis controller.

from ardupilotblue.

rflowers avatar rflowers commented on August 19, 2024

Ok I have resolved the immediate issue by means of following the instructions in the Linux HAL essentials section and Aiopru subsection. specifically the install.sh no longer works, however running make install in the devicetree/pxf subfolder followed by these instructions:

Enable loading cape during BBB startup (no need to follow above step if you do this step once):
cp BB-PXF-01-00A0.dtbo /lib/firmware
add cape_enable=capemgr.enable_partno=BB-PXF-01 to /boot/uboot/uEnv.txt
add CAPE=BB-PXF-01 to /etc/default/capemgr

and then the instructions for pru/aiopru.

This has allowed me to get the RcAioPRUTest code in aiopru to work with my controller, and also the RC_Channel and RCinput tests in examples to see the channel values.

I appreciate this isn’t a clear solution, some steps may be unnecessary and it is not yet working with ardupilot proper, but it seems the pru installation, at least for rc input is now working properly.

@mirkix @RobertCNelson do you have any thoughts/observations? I am happy to write this up and help out, to make the bbb easier to use with RC.

from ardupilotblue.

mirkix avatar mirkix commented on August 19, 2024

@rflowers BB-PXF is for an outdated Cape not the Blue or BBBmini. AioPRU Firmware is loaded here https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_Linux/RCOutput_AioPRU.cpp#L57 inside ArduPilot. I am using X8R without a problem. How do you config the PRU ECAP pin?

from ardupilotblue.

suz1 avatar suz1 commented on August 19, 2024

this is what I currently get with config-pin, it is set to pruecapin_pu.

config-pin -i P8:15
Pin name: P8_15
Function if no cape loaded: gpio
Function if cape loaded: default gpio gpio_pu gpio_pd gpio_input qep pru_ecap pruin
Function information: gpio1_15 default gpio1_15 gpio1_15 gpio1_15 gpio1_15 eqep2_strobe pru_ecap pru0_in15
Kernel GPIO id: 47
PRU GPIO id: 79
debian@beaglebone:$ config-pin -q P8:15
P8_15 Mode: pruecapin_pu
debian@beaglebone:
$

thanks. Is there any other information I can supply - logs, dumps etc? I'm running 4.4.113-ti-rt-r146 kernel.

from ardupilotblue.

rflowers avatar rflowers commented on August 19, 2024

ok I am lucky enough to have a second b.b. to experiment with, so I have kept my semi-working b.b. installation and attempted to replicate it on the second using your instructions. I can read the rc input on pin e4 with code such as rcinputtorcoutput in linux_halessentials on my working one, but it is not getting the information to rc_channel, which to my understanding is the next level before ardupilot properly receives the inputs. On your implementation none of this code works.

I can see your implementation of the PRU code in rcoutput, this doesn’t work on my b.b., I cannot tell why, and because of this style of implementation, none of the diagnostic tools work, even when the electronics can be demonstrably correct. I am mainly using arduplane rather than arducopter, but the issue appears common to both.

I notice jason kridner @jadonk has a fairly extensive setup.sh for his b.b. arducopter build - https://gist.githubusercontent.com/jadonk/6080ca92d6e225eb89d33ad7744e1775/raw/4b3a7010f6d0b24647ded2f1ed1b45bcad1539c8/ardupilot_setup.sh which uses the devicetree method, and I wonder if there is anything in there that might ease the installation instructions so that future users might have a simpler time getting this working. Please let me know your thoughts.

from ardupilotblue.

rflowers avatar rflowers commented on August 19, 2024

Ok I have now got SBUS working. However of my 2 bbs, both of which I followed the detailed instructions at https://libraries.io/github/mirkix/ardupilotblue, which give more setup info than this more popular, though apparently less up to date documentation. The problem I had was even though both had the same script, the device tree installation worked fine on one, and not on the other. I believe the disparity is due to a number of different scripts for the device tree, some using uio_pruss, on the successful board. They set something underlying correctly, and that board now works, whereas the other board doesn’t. So unsatisfying and the installation instructions do not appear comprehensive. My work around has been imaging the successful one onto the other one to copy the kernel setting or whatever, as unfortunately I’m out of time. If I can find a better solution I’ll post it on a blog or similar to help the others struggling with this problem. Hopefully the device tree rewrite for bb (currently underway) can fix this problem long term.

from ardupilotblue.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.