After a long delay and a rebuild of my test Mavlink source quad, I'm now able to release a new version of Ardustation software compatible with the latest versions of ACM and APM.
I'm releasing the software now but also plan to provide detailed documentation for end users wishing to change the default parameters editable for ACM or APM in the Ardustation. Changes in the available parameters is the single biggest reason that the Ardustation software needs to change with changes in ACM and APM. Hopefully, users will now be able to tailor the Ardustation to meet their personal needs. Look for a blog entry with a video detailing the process to change the parameter support within the next few days.
I've also added a variable speed servo library suggested by Burt Green on the forum to tailor the slew speeds for other gear trains than the readymaderc unit. Look for detailed information on varying the slew speed in the next few days.
I've tested the software with my quad on ACM 2.7.3 and with APM 2.6.0. I've also tested operation with Mavlink 0.9 for older setups.
The software is available at the usual spot:
http://code.google.com/p/ardustation-ii/
Please be sure to download the zip file to a empty folder and to use only the library folder contained in the distribution. Do not merge this library folder with either the ACM or APM library folders. This software should be compiled with Arduino 100Relax or Arduino 1.0.1. Do not use the earlier versions as indicated in the Ardustation wiki.
Detailed list of changes:
1. Added serial port diagnostic data as a new display type. Displays every half a second the count of serial bytes received and a dump of 15 bytes occuring after 500 msecs of no bytes received (start of a frame of data). Select "Serial Stat" to display this data
Allows viewing basic data values for the start of Mavlink messages. For Mavlink 1.0 heartbeat you should see a message start of: FE 09 XX 01 01 00 MM 00 00 00 where XX = is an incrementing sequence number for each subsequent message. MM = mode 00 = stab,
02 = Alt hold, 05 = Loiter.
It is best to select "Stop Feed" to display heartbeat messages. If you "Start feed", you'll see a sampling of various messages and partial data including the heartbeat messages.
2. Actually used the APM and ACM parameter defines in the code for easier parameter update.
3. Limited the detection of invalid Mavlink after 3 valid heartbeats are received - this limits the posibility of getting Mavlink data that trips up the wrong heartbeat parser.
4. Added option of displaying relative altitude to stored home altitude on flight data display. Press the center button to toggle display of altitude above home altitude (displays AH instead of AT on LCD).
5. Added servo slew speed library to control how fast a tracking antenna slews in both pan and tilt. Default is the old behavior (fast slew), but defines for pan and tilt allow the control of the slew speed. Thanks to Burt Green for the idea and a pointer to the servo library.
6. Added parameter diagnostic - using serial diagnostics - displays a bit map (in hex) of what parameters of the list in params.pde were actually received
Replies
I'm trying to compile 2.0.16 with Arduino 1.0.3 and I must be missing something really basic. I get many compilation errors. Perhaps you can point me in the right direction to resolve these.
Ari.
ArduStation2:136: error: variable or field 'gcs_handleMessage' declared void
ArduStation2:136: error: 'mavlink_message_t' was not declared in this scope
ArduStation2:136: error: 'msg' was not declared in this scope
ArduStation2:137: error: variable or field 'gcs_handleMessage' declared void
ArduStation2:137: error: 'mavlink_message_t' was not declared in this scope
ArduStation2:137: error: 'msg' was not declared in this scope
ArduStation2:138: error: variable or field 'send_message' declared void
ArduStation2:138: error: 'mavlink_message_t' was not declared in this scope
ArduStation2:138: error: 'msg' was not declared in this scope
ArduStation2:104: error: 'AP_EEPROMB' does not name a type
ArduStation2:113: error: expected constructor, destructor, or type conversion before '(' token
ArduStation2:172: error: 'VarSpeedServo' does not name a type
ArduStation2:173: error: 'VarSpeedServo' does not name a type
ArduStation2.pde: In function 'void setup()':
ArduStation2:301: error: 'Pan' was not declared in this scope
ArduStation2:302: error: 'Tilt' was not declared in this scope
Antenna.pde: In function 'void SaveHomePosition()':
Antenna:6: error: 'eeprom_busy_wait' was not declared in this scope
Antenna:7: error: 'ee' was not declared in this scope
Antenna:11: error: 'eeprom_write_dword' was not declared in this scope
Antenna.pde: In function 'void RestoreHomePosition()':
Antenna:17: error: 'eeprom_busy_wait' was not declared in this scope
Antenna:18: error: 'ee' was not declared in this scope
Antenna:22: error: 'eeprom_read_dword' was not declared in this scope
Antenna.pde: In function 'void SetAntennaPosition()':
Antenna:32: error: 'Pan' was not declared in this scope
Antenna:33: error: 'Tilt' was not declared in this scope
Antenna.pde: In function 'void SetServoHardStop()':
Antenna:54: error: 'Pan' was not declared in this scope
Antenna.pde: In function 'void position_antenna()':
Antenna:122: error: 'ToDeg' was not declared in this scope
Antenna:134: error: 'Pan' was not declared in this scope
Antenna:145: error: 'Tilt' was not declared in this scope
MAVLink.pde: At global scope:
MAVLink:1: error: variable or field 'gcs_handleMessage' declared void
MAVLink:1: error: 'mavlink_message_t' was not declared in this scope
MAVLink:1: error: 'msg' was not declared in this scope
Heino,
Just wanted to report back after testing that everything is working. Thanks!
Thanks much Heino!
Uploaded the firmware without issues, but I won't be able to test till tomorrow as my quad beeping wakes up the family. :(
I've got a spare magnetometer still in the plastic bag. I'd be glad to send it to you if you need it no charge.
Heino
This looks nice I have been using 2.0.15 for awile now with no issues. I will load 2.0.16 and run it threw my test scedual and see how it goes. Thanks for your hard work will let you know how it performs on 2.7.3
Did you finaly get your Quad back in the air ?
Jack