Jump to content


stac

Member Since 20 Mar 2010
Offline Last Active Today, 04:46 AM

Posts I've Made

In Topic: OpenPilot merchandise store

21 May 2012 - 01:42 PM

View Postkellums124, on 20 May 2012 - 03:21 AM, said:

I just added a bunch of stickers, magnets, and pins with the URL in the store

Thanks.

In Topic: OpenPilot merchandise store

19 May 2012 - 02:47 PM

The cafepress store is a great idea.

Not sure if cafepress can do this but I would like to request more options for small stickers with URL.  I often get people asking questions when I'm out flying somewhere.  Would be nice to give them something small with the logo and URL on it so they can have a look around.

Might be nice to have the OP logo on the top of the cafepress site be a link to openpilot.org or maybe some small comment + link somewhere that tells people where they can go to get info about the project.

One more (pedantic) comment.  The convention seems to be that OpenPilot has no space between the words.



In Topic: Control CC using UAVTalk

05 April 2012 - 02:07 PM

There is a supervisor timer that is monitoring each of the receiver types.  If there is no update for 25ms, that input is declared invalid.  Whenever any of RPY or Throttle are invalid, your receiver will be marked as disconnected.  You can see this as an attribute of ManualControlCommand where Connected==False in your 2nd last screenshot.

As long as your receiver is showing "Not Connected", you won't be able to arm.

In this state, you should also be seeing an alarm on your receiver input.  Could you post a screenshot of the alarms while you are trying to arm?

In Topic: Control CC using UAVTalk

29 March 2012 - 12:50 AM

View PostmetRo_, on 27 March 2012 - 10:50 PM, said:

I'm trying to control the CC using WiFi.
The first attempt was using ManualControlCommand object and it works but I could arm CC this way. After had talked with peabody124 in IRC he said me to look at GCSReceiver.

So now I simply need to send the GCSReceiver object to CC. I didn't try because I have some doubts.

1) I set the channels but how CC will know if channel 1 is for Throtlle or Yaw?
2) Why the values of that object have a unit of 'us'? Souldn't I send values from neutral to max(2000)?!

Thanks

The comments from the other folks in this thread look right to me.

1) As stated above, by setting Throttle == GCS/1 and pressing Apply/Save in the configuration GUI, you've told CC which channels to use for which control surface.
2) It's in 'us' because the value you set is used in the CC firmware in exactly the same way as every other receiver.  The raw value in the GCSReceiver UAVO is scaled (based on your calibrated min/max range and then used to fly the plane or copter.  In your screenshot, it looked like you had min == neutral which seems wrong.  Did you calibrate your "receiver"?

@D-Lite: It should work the way you described it as long as you're refreshing it at a decent rate (see below).  There is nothing special about the GCSReceiver in the firmware.  That driver implements the pios_rcvr API just like PWM/PPM/SBUS/etc.

Most of the receiver drivers have a supervisor timeout that marks all of the inputs as invalid if it hasn't seen an update within about 40ms.  Initially, the GCSReceiver driver did not have a supervisor but Brian recently (Feb -- a314604f9) added one to make this a consistent feature.  So, if you're just manually poking the GCSReceiver object in the Object Browser, it will only have effect momentarily and then the supervisor will come around and mark it invalid (ie. disconnected) again.

The original intent of the GCSReceiver object was that someone would come along and implement a GCS-side driver that would allow us to use a head-mounted gyro to move an FPV camera via the GCSReceiver object while leaving the normal Tx/Rx for flying the quad.  The head-gyro-to-gcsreceiver glue isn't something I'm planning to write but someone might decide to do it eventually.  The embedded side of the GCSReceiver driver was trivial so I coded it up just to remove any barrier for non-embedded developers to implement the feature.

In Topic: Linux build question

11 March 2012 - 12:07 AM

There's no built-in way to do this in the existing make infrastructure but this gets you approximately what you want.  Run this from the top level of your source tree:
make fw_coptercontrol
cp ./build/fw_coptercontrol/fw_coptercontrol.opfw /tmp/openpilot_0.1.0-$(date +'%Y%m%d')-$(git show --pretty="format:%h")_$(uname -m).opfw

The new file will end up in /tmp.

This naming format makes sense for the .deb but it isn't ideal for the .opfw file since it loses information about exactly which board the .opfw file is for.  I would suggest putting "coptercontrol" somewhere in the name just so it isn't ambiguous.  The inclusion of the host machine architecture also doesn't make much sense in the name of the coptercontrol firmware file so you might want to drop the "uname" part of the command too.

You can learn how the various expansions "$(...)" used in this command do the job.  Every command has a man(ual) page:
man date
man git-show
man uname

This should give you enough to get you stared to make any filename you want.