• Specification
    • 1. Introduction
    • 2. Basic concepts
    • 3. Data structure description language
    • 4.1 CAN bus transport layer
    • 4.2 UDP bus transport layer
    • 4.3 MAVLink bus transport layer
    • 4.4 CANFD bus transport layer
    • 5. Application level conventions
    • 6. Application level functions
    • 7. List of standard data types
    • 8. Hardware design recommendations
    • dsdl
      • ardupilot
      • uavcan
  • Implementations
    • Libuavcan
      • Platforms
      • Tutorials
        • 1. Library build configuration
        • 2. Node initialization and startup
        • 3. Publishers and subscribers
        • 4. Services
        • 5. Timers
        • 6. Time synchronization
        • 7. Remote node reconfiguration
        • 8. Custom data types
        • 9. Node discovery
        • 10. Dynamic node ID allocation
        • 11. Firmware update
        • 12. Multithreading
        • 13. CAN acceptance filters
      • FAQ
    • Pydronecan
      • Examples
        • Automated ESC enumeration
        • Dump All Messages
        • ESC throttle control
      • Tutorials
        • 1. Setup
        • 2. Basic usage
        • 3. Advanced usage
        • 4. Parsing DSDL definitions
    • AP Periph
    • Libcanard
    • dronecan dsdlc
  • GUI Tool
    • Overview
    • Examples
    • User guide
  • Examples
    • Simple sensor node
  • Discussions
Implementations /  AP Periph

AP_Periph

AP_Periph is a toolkit for creating DroneCAN peripheral nodes based on the ArduPilot libraries.

For detailed information see the AP_Periph documentation and source code

With AP_Periph you can quickly go from a schematic to a working DroneCAN nodes with the following features:

  • support for creating GPS, barometer, magnetometer, rangefinder, ESC gateway, PWM gateway, MSP peripheral, airspeed sensor, ADSB peripheral
  • DNA support for dynamic node IDs
  • robust CRC and board type checking
  • watchdog support
  • DroneCAN bootloader update
  • DroneCAN firmware update
  • diagnostics
  • Lua scripting

Implementations

  • Libuavcan
    • Platforms
    • Tutorials
      • 1. Library build configuration
      • 2. Node initialization and startup
      • 3. Publishers and subscribers
      • 4. Services
      • 5. Timers
      • 6. Time synchronization
      • 7. Remote node reconfiguration
      • 8. Custom data types
      • 9. Node discovery
      • 10. Dynamic node ID allocation
      • 11. Firmware update
      • 12. Multithreading
      • 13. CAN acceptance filters
    • FAQ
  • Pydronecan
    • Examples
      • Automated ESC enumeration
      • Dump All Messages
      • ESC throttle control
    • Tutorials
      • 1. Setup
      • 2. Basic usage
      • 3. Advanced usage
      • 4. Parsing DSDL definitions
  • AP Periph
  • Libcanard
  • dronecan dsdlc

License

This work is licensed under a Creative Commons Attribution 4.0 International License.
Much of the content of this site is based upon prior work by Pavel Kirienko and the UAVCAN Development Team.
  • https://dronecan.org/discord
  • https://github.com/DroneCAN
  • Report a problem with this website

Generated Sun, 02 Jun 2024 21:47:21 +0000 © DroneCAN development team

  • 1. Introduction
  • 2. Basic concepts
  • 3. Data structure description language
  • 4.1 CAN bus transport layer
  • 4.2 UDP bus transport layer
  • 4.3 MAVLink bus transport layer
  • 4.4 CANFD bus transport layer
  • 5. Application level conventions
  • 6. Application level functions
  • 7. List of standard data types
  • 8. Hardware design recommendations
  • dsdl
    • ardupilot
    • uavcan
  • Libuavcan
    • Platforms
    • Tutorials
      • 1. Library build configuration
      • 2. Node initialization and startup
      • 3. Publishers and subscribers
      • 4. Services
      • 5. Timers
      • 6. Time synchronization
      • 7. Remote node reconfiguration
      • 8. Custom data types
      • 9. Node discovery
      • 10. Dynamic node ID allocation
      • 11. Firmware update
      • 12. Multithreading
      • 13. CAN acceptance filters
    • FAQ
  • Pydronecan
    • Examples
      • Automated ESC enumeration
      • Dump All Messages
      • ESC throttle control
    • Tutorials
      • 1. Setup
      • 2. Basic usage
      • 3. Advanced usage
      • 4. Parsing DSDL definitions
  • AP Periph
  • Libcanard
  • dronecan dsdlc
  • Overview
  • Examples
  • User guide
  • Simple sensor node
Specification1. Introduction2. Basic concepts3. Data structure description language4.1 CAN bus transport layer4.2 UDP bus transport layer4.3 MAVLink bus transport layer4.4 CANFD bus transport layer5. Application level conventions6. Application level functions7. List of standard data types8. Hardware design recommendationsdsdlardupilotuavcanImplementationsLibuavcanPlatformsTutorials1. Library build configuration2. Node initialization and startup3. Publishers and subscribers4. Services5. Timers6. Time synchronization7. Remote node reconfiguration8. Custom data types9. Node discovery10. Dynamic node ID allocation11. Firmware update12. Multithreading13. CAN acceptance filtersFAQPydronecanExamplesAutomated ESC enumerationDump All MessagesESC throttle controlTutorials1. Setup2. Basic usage3. Advanced usage4. Parsing DSDL definitionsAP PeriphLibcanarddronecan dsdlcGUI ToolOverviewExamplesUser guideExamplesSimple sensor nodeDiscussions