PX4-Devguide icon indicating copy to clipboard operation
PX4-Devguide copied to clipboard

Document other supported bus types

Open hamishwillee opened this issue 8 years ago • 6 comments

We have either docs or placeholders for UAVCAN, I2C, UART. What other types of bus do we have? SPI? What else?


Generally we should follow the pattern for these of I2C:

  • What is bus.
  • How does it differ from other alternatives
  • What is it good for - ie what peripherals, on main board or off board
  • Whether it supports multiple devices on bus or just one
  • Standard connectors
  • How connected for standard boards.
  • Any issues of powering
  • Any limitations of our support on the bus - ie do we have only one port supported on a device.

Then developer integration questions

  • How do we integrate with it
  • What does the driver need to derive from
  • How is driver included in hardware
  • How is driver enabled.
  • How are settings handled - ie typical params associated with this
  • If there are multiple ports for this bus, how do you specify which one device is attached to.

hamishwillee avatar Dec 13 '17 03:12 hamishwillee

@bkueng This is a bit of a placeholder for further work. At this point I was wondering if you could just let me know what busses we have that are not documented.

hamishwillee avatar Dec 13 '17 03:12 hamishwillee

That looks pretty good. I don't have any other bus. (PWM can be used as input/output as well, but it's not a bus).

bkueng avatar Dec 13 '17 09:12 bkueng

Do you think we should perhaps then change section to Sensor and Actuator I/O? Or are they better separate?

hamishwillee avatar Dec 13 '17 22:12 hamishwillee

Yes, I think it makes sense to combine them.

bkueng avatar Dec 14 '17 09:12 bkueng

Yes, I think it makes sense to combine them.

Thanks - fixed in #395

hamishwillee avatar Dec 20 '17 01:12 hamishwillee

Notes for when documenting PWM Ports (From @bkueng here: https://github.com/PX4/Devguide/pull/395#discussion_r157917183 )

Re "also the main PWM outputs."

What I/O is typically run on this port? Motor control obviously and other actuators (e.g. parachutes). But what about input?

Lidar Lite, or some ultrasonic sensors.

What are the mechanics of integrating a sensor on these ports. Specifically, say I want to add X sensor to an AUX port, am I again writing a device driver that reads the inputs and outputs uORB topics?

Basically yes, but I think it's somewhat involved. I think it's the easiest to point to an existing driver

What about actuators - say I want to open a brand new type of gripper?

actuators are simpler: you choose an actuator controls topic and then configure the mixer accordingly (I think it's documented on the mixer page).

hamishwillee avatar Dec 20 '17 23:12 hamishwillee