FLARM::MessageType FlarmDevice::SelectFlight(uint8_t record_number, OperationEnvironment &env) { // Create header for selecting a log record uint8_t data[1] = { record_number }; FLARM::FrameHeader header = PrepareFrameHeader(FLARM::MT_SELECTRECORD, data, sizeof(data)); // Send request if (!SendStartByte() || !SendFrameHeader(header, env, 1000) || !SendEscaped(data, sizeof(data), env, 1000)) return FLARM::MT_ERROR; // Wait for an answer return WaitForACKOrNACK(header.GetSequenceNumber(), env, 1000); }
bool FlarmDevice::SendFrameHeader(const FLARM::FrameHeader &header, OperationEnvironment &env, unsigned timeout_ms) { return SendEscaped(&header, sizeof(header), env, timeout_ms); }