...
RSSI signal can come as analog or PWM
Ardupilot implementation reference
RSSI.cpp calls on AnalopIn.cpp class for its ‘channel’ function
AnalogIn.cpp has ‘channel’ function which returns a pointer to an AnalogSource object by calling the ADCSource object constructor
(ADCSource inherits from AnalogSource)
https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_SITL/AnalogIn.cpp
AnalogSource is an abstract class,
defined in a different AnalogIn file
AnalogSource constructor requires inputting a pointer to a SITL_State object
In RSSI.cpp, AnalogIn object is actually a member variable of AP_HAL::HAL.h class
A hal.h object called hal is accessed using ‘extern’ keyword