Documentation request - project start

Hello there,

I am new here and will be working in the upcommig month on pixhawk4 architecture for my engineering internship.

Quick presentation: My name is Theophile and I am french currently doing my internship in gernany at HTWG konstanz.

I got in touch with the firmware and wanted to know if there are any chance to get hands on more detailed documentations (hardware and software) than the one already in the firmware folder.
For exemple the pdf https://github.com/PX4/Firmware/blob/master/Documentation/px4_block_diagram.pdf clearly show a three way MCU based architecture CPU, DSP, MCU . But is there more detailed doc which explained yhich task/thread is running on the cpu 1,2 or 3 and on the low level drivers that directly interact with the sensors(gyro,accelero,…) or motors controllers like pwm (apparantly managed by rtos nuttx kernel).

The goal of my internship is to make a lighter version of the firmware that will only contained relialable low-level drivers that could get accurate and high resolution sensors value that are not subject to drift and could send value to actuators in order to implement state of the art controllers. After that interface the quad with bluetooth link to MATLAB RT in order to implement control algoritme directly from matlab/simulink for an eductational purpose.

I’m currently trying to play with what as been done orb publish/subsribe method etc…

What do you recommend me to start with and where can I found more documentation also about the cmake file architecture wich is quite complexe as there is three differente bin to make ?!

thank you for your help

edit --------------------
I found this website that seemed different than pixhawk.org what is the difference ?

Have you found the dev guide? https://dev.px4.io/en/concept/architecture.html
There are some controller diagrams floating around, but I’m not aware of a definitive source.

Yeah I found the dev guide. It helped me until then but now I need more detailed architecture scheme, especially for the hardware and drivers parts.

There was an attempt here to auto generate the uORB pub/sub graph here - https://github.com/PX4/Firmware/issues/6189
https://github.com/PX4/Firmware/files/715416/pub_sub_combined_edges.pdf

Initially you only need to think about the single microcontroller case (eg a pixhawk).

Thank you it will be usefull ! I also found some interesting scheme in the ethz publication here: https://www.inf.ethz.ch/personal/lomeier/publications/pixhawk_auro2012.pdf

Maybe @LorenzMeier can tell me where to search ?