• 大小: 16.25MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-26
  • 语言: 其他
  • 标签: APM  

资源简介

APM飞控源码,来自github的资源,分享以供学习。。。。。。

资源截图

代码片段和文件信息

/*
   Lead developers: Matthew Ridley and Andrew Tridgell
 
   Please contribute your ideas! See http://dev.ardupilot.org for details

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation either version 3 of the License or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not see .
 */

#include “Tracker.h“

#define FORCE_VERSION_H_INCLUDE
#include “version.h“
#undef FORCE_VERSION_H_INCLUDE

#define SCHED_TASK(func _interval_ticks _max_time_micros) SCHED_TASK_CLASS(Tracker &tracker func _interval_ticks _max_time_micros)

/*
  scheduler table - all regular tasks apart from the fast_loop()
  should be listed here along with how often they should be called
  (in 20ms units) and the maximum time they are expected to take (in
  microseconds)
 */
const AP_Scheduler::Task Tracker::scheduler_tasks[] = {
    SCHED_TASK(update_ahrs            50   1000)
    SCHED_TASK(read_radio             50    200)
    SCHED_TASK(update_tracking        50   1000)
    SCHED_TASK(update_GPS             10   4000)
    SCHED_TASK(update_compass         10   1500)
    SCHED_TASK_CLASS(AP_BattMonitor    &tracker.battery   read           10 1500)
    SCHED_TASK(update_barometer       10   1500)
    SCHED_TASK(gcs_update             50   1700)
    SCHED_TASK(gcs_data_stream_send   50   3000)
    SCHED_TASK(compass_accumulate     50   1500)
    SCHED_TASK_CLASS(AP_Baro           &tracker.barometer accumulate     50  900)
    SCHED_TASK(ten_hz_logging_loop    10    300)
    SCHED_TASK_CLASS(DataFlash_Class   &tracker.DataFlash periodic_tasks 50  300)
    SCHED_TASK_CLASS(AP_InertialSensor &tracker.ins       periodic       50   50)
    SCHED_TASK_CLASS(AP_Notify         &tracker.notify    update         50  100)
    SCHED_TASK(check_usb_mux          10    300)
    SCHED_TASK(gcs_retry_deferred     50   1000)
    SCHED_TASK(one_second_loop         1   3900)
    SCHED_TASK(compass_cal_update     50    100)
    SCHED_TASK(accel_cal_update       10    100)
};

/**
  setup the sketch - called once on startup
 */
void Tracker::setup() 
{
    // load the default values of variables listed in var_info[]
    AP_Param::setup_sketch_defaults();

    init_tracker();

    // initialise the main loop scheduler
    scheduler.init(&scheduler_tasks[0] ARRAY_SIZE(scheduler_tasks) (uint32_t)-1);
}

/**
   loop() is called continuously 
 */
void Tracker::loop()
{
    // wait for an INS sample
    ins.wait_for_sample();

    // tell the sch

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-09 05:32  ardupilot-master\
     文件         137  2018-04-09 05:32  ardupilot-master\.dir-locals.el
     文件         681  2018-04-09 05:32  ardupilot-master\.editorconfig
     文件         117  2018-04-09 05:32  ardupilot-master\.gitattributes
     目录           0  2018-04-09 05:32  ardupilot-master\.github\
     文件        2099  2018-04-09 05:32  ardupilot-master\.github\CONTRIBUTING.md
     文件         472  2018-04-09 05:32  ardupilot-master\.github\ISSUE_TEMPLATE.md
     文件        1456  2018-04-09 05:32  ardupilot-master\.gitignore
     文件        1177  2018-04-09 05:32  ardupilot-master\.gitmodules
     文件         307  2018-04-09 05:32  ardupilot-master\.pydevproject
     文件        2449  2018-04-09 05:32  ardupilot-master\.travis.yml
     目录           0  2018-04-09 05:32  ardupilot-master\APMrover2\
     文件         194  2018-04-09 05:32  ardupilot-master\APMrover2\APM_Config.h
     文件       10447  2018-04-09 05:32  ardupilot-master\APMrover2\APMrover2.cpp
     文件        3961  2018-04-09 05:32  ardupilot-master\APMrover2\AP_Arming.cpp
     文件         831  2018-04-09 05:32  ardupilot-master\APMrover2\AP_Arming.h
     文件       20110  2018-04-09 05:32  ardupilot-master\APMrover2\AP_MotorsUGV.cpp
     文件        3977  2018-04-09 05:32  ardupilot-master\APMrover2\AP_MotorsUGV.h
     文件       49601  2018-04-09 05:32  ardupilot-master\APMrover2\GCS_Mavlink.cpp
     文件        1951  2018-04-09 05:32  ardupilot-master\APMrover2\GCS_Mavlink.h
     文件         614  2018-04-09 05:32  ardupilot-master\APMrover2\GCS_Rover.h
     文件       11501  2018-04-09 05:32  ardupilot-master\APMrover2\Log.cpp
     文件          21  2018-04-09 05:32  ardupilot-master\APMrover2\Makefile
     文件          44  2018-04-09 05:32  ardupilot-master\APMrover2\Makefile.waf
     文件       28396  2018-04-09 05:32  ardupilot-master\APMrover2\Parameters.cpp
     文件        9466  2018-04-09 05:32  ardupilot-master\APMrover2\Parameters.h
     文件          94  2018-04-09 05:32  ardupilot-master\APMrover2\Parameters.pde
     文件        1168  2018-04-09 05:32  ardupilot-master\APMrover2\Rover.cpp
     文件       20691  2018-04-09 05:32  ardupilot-master\APMrover2\Rover.h
     文件        1202  2018-04-09 05:32  ardupilot-master\APMrover2\Steering.cpp
     文件         879  2018-04-09 05:32  ardupilot-master\APMrover2\afs_rover.cpp
............此处省略3295个文件信息

评论

共有 条评论