akristoffersen has quit [Ping timeout: 256 seconds]
lucascastro has joined #beagle
<akristoffersen16>
Hello! I have a quick question about moving servos on the beaglebone blue, using adafruit bbio.pwm library, we get an "invalid PWM key or name" error
<akristoffersen16>
This is on P8_27, which looked like it goes to Servo 1
<akristoffersen16>
or generally, what's a surefire way of doing servo control with python on BBB?
<set_>
Hello...I saw librobotcontrol on the BBBlue is still in working order. I am not sure about the Python aspect to it all. I will show you some links if necessary. Please hold.
<set_>
akristofferson16: So yes. The P8.27 on the BBB is Servo1 output on the BBBlue but the pin name may be different. Let me check it.
<set_>
So, from what I can tell, GPIO2_22/P8.27 is not available. Did you try to set it up w/ export or config-pin. Dang it, let me plug in. Please hold.
giort has joined #beagle
giort has quit [Client Quit]
<set_>
So, mode7 is what we need to alter in the .dts file to make it available or config-pin may work. Off to check.
<akristoffersen16>
this is incredibly helpful! thank you!
<akristoffersen16>
currently updating librobotcontrol
<set_>
Oh. Okay.
<set_>
If you want to use python, there may be some fd descriptors to use.
<akristoffersen16>
yeah its almost done, then I'll try one of the test python scripts?
<set_>
I am exporting that GPIO right now.
<set_>
Well, librobotcontrol is in C/C++.
<akristoffersen16>
oh dang
<akristoffersen16>
huh, now that I updated pru-rproc driver is getting an error from the rc_test_drivers script
<set_>
Right. What image are you running w/ what kernel? Did you reboot yet?
<akristoffersen16>
havent rebooted yet, can do that now
<set_>
Right. I am getting a write error on GPIO86 right now. I would also update your kernel.
akristoffersen16 has quit [Quit: Client closed]
akristoffersen has joined #beagle
<akristoffersen>
sorry, was getting my wifi from the beagle
<set_>
No issue.
akristoffersen64 has joined #beagle
<set_>
Oh!
akristoffersen has quit [Ping timeout: 256 seconds]
<akristoffersen64>
ok, updating kernel now
<set_>
Hello...I do not know what to make of userspace being inaccessible right now. I mean...I cannot set GPIO86 as output w/out changing some internal .dts files. I know bbb.io and the .org people are making things mainline but they have a lib. online for changing the .dts files.
<set_>
akristoffersen64: See, I cannot help you any longer b/c I am not familiar w/ the hex and lack of thereof in the .dts for GPIO2_22/GPIO86/P8.27.
<set_>
But...I can try.
<akristoffersen64>
no worries! I am really just a beginner on this so I'm not sure how far I would get with that anyways
<akristoffersen64>
we thought it would be pretty simple to do servo controls from python on the bb blue
<set_>
Wait!
<set_>
I just figured out what my system had in /boot/uEnv.txt and I changed it. Brb.
<set_>
rb
<set_>
From what I can tell, it is simple. PWM is available on the am335x-boneblue.dts in that /BeagleBoard-DeviceTrees repo. I showed you.
<set_>
You can alter it to your liking.
<akristoffersen64>
oh awesome! I'll check that out!
<akristoffersen64>
thank you so much!
<set_>
You are welcome.
<set_>
Okay.
<set_>
So, I got the GPIO86 up and running.
<set_>
But...it means nothing as it is not defined yet.
<set_>
I am new to Linux/.dts files. So, I figured I could tag along.
<set_>
Show me! Please, show me how to find the hex in the p8.27 in .dts file format.
<set_>
Ha.
akristoffersen64 has quit [Ping timeout: 256 seconds]
<set_>
Oh well.
<set_>
I tried.
starblue has joined #beagle
akristoffersen has joined #beagle
<set_>
So, I see in am335x-bone-common-univ.dtsi, there is a argument for GPIO2_22. I will search through other files. But...it seems I can set a mode 7 GPIO on the Servo Header for SV01 which is GPIO2_22.
<set_>
Hmm.
<set_>
So, does the PRU handle GPIO input on the Servo Headers?
<set_>
I am just asking b/c if so, and if the PRU handles mode7~RX on the SVO1-8, I am out of resources for now.
<set_>
Argh.
<set_>
Anyway...done for now unless someone has something to say. My brain has fallen off.
tacokoneko has joined #beagle
<akristoffersen>
I guess a general question, what's the best way to do servo controls then? I thought since the beagle has python support it would have some good python libraries to support it, but what is the general stack look like for robotics projects?
<set_>
oh.
<set_>
Yep. LibRobotControl is a good one out-of-the-box.
<akristoffersen>
got it, so for flight code its best to just stick with c++?
<set_>
You can use a specific command to test Servos w/ the lib.
<set_>
Oh.
<set_>
It is your choice.
<set_>
C/C++/Python/So on...
<set_>
Every single language is similar but has its differences. I am sure you know. I have found the languages as a useful tool but some are very similar.
<set_>
But...one person in here taught me about pathlib for Python.
<akristoffersen>
pathlib is nice
<set_>
It is really a useful tool in Python for fd.
<set_>
and glob.
<akristoffersen>
i guess i could just do subcommands from within python
<set_>
Sort of. Yep. I mean...some people make wrappers, out of my league, around C/C++ to handle specific python entities.
<set_>
Um.
<akristoffersen>
oh another question, for running multiple programs in parallel, is there a good way of doing inter-program communications? or how do I even set up 2 programs to run in parallel?
<set_>
FLight code.
<set_>
Oh. .service files or setting up rc.local or init.d or something.
<akristoffersen>
got it! thank you!
<set_>
There are many ways but about flight code.
<set_>
Um...do you use Python primarily like w/ PX4 or do you use ArduPilot w/ C/C++?
<akristoffersen>
we have a bit of a custom problem going on, so we haven't used either. the program is pretty simple
<akristoffersen>
at least im hoping
<akristoffersen>
its the payload of a high altitude balloon
<set_>
Nice.
<set_>
The ArduCopter people have a 'blimp' thing in their source.
<set_>
It is not a baloon but similar.
<akristoffersen>
oh really? No yeah that could be really useful
<set_>
I think it controls a dual action motor or two and some PWM instances for maneuvering.
<akristoffersen>
i think its got good GPS support too right?
<set_>
akristoffersen: This is a very interesting conversation that I hope we can pick up at a later time.
<set_>
I have to go.
<set_>
I am sorry.
<akristoffersen>
see ya! thank you so much for your help
<set_>
No issue. I should be back shortly but I will be away.