Hello there,
I’m trying to register a custom camera controller (based on an atmega328p) with my flight controller on Telemetry port 1. I’ve got a Pixhawk 2.1 cube with PX4 version 1.7.3.
I can read messages and subscribe to them with COMMAND_LONG and MAV_CMD_SET_MESSAGE_INTERVAL, so sending commands/messages works.
According to the MAVLink camera protocol description, the flight controller should respond to a heartbeat message from a camera component with a MAV_CMD_REQUEST_CAMERA_INFORMATION command.
My understanding is that I should receive commands from PX4 through COMMAND_LONG messages. However I don’t receive any from the flight controller.
I’m sending like this with 1 Hz. I also tried system_id 1.
uint16_t len=0;
mavlink_msg_heartbeat_pack( 2,
MAV_COMP_ID_CAMERA,
&this->mav_msg_txbuf_pixhawk,
MAV_TYPE_GENERIC,
MAV_AUTOPILOT_INVALID,
MAV_MODE_FLAG_MANUAL_INPUT_ENABLED,
0,
MAV_STATE_ACTIVE);
len = mavlink_msg_to_send_buffer(this->mav_txbuf, &this->mav_msg_buf_pixhawk);
Serial.write(this->mav_txbuf, len);
Any idea where I’m going wrong? Is it possible to attach component systems to the UARTs?
Thanks a lot and best regards, Floxo