Skip to content

Commit

Permalink
Revert "Merge pull request #9438 from dronecontrol-ru/baro_alt_vario"
Browse files Browse the repository at this point in the history
This reverts commit 5d77d07, reversing
changes made to 3b218b6.
  • Loading branch information
DzikuVx committed Mar 26, 2024
1 parent 31fee94 commit 85ec0a9
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 44 deletions.
2 changes: 0 additions & 2 deletions src/main/rx/crsf.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ enum {
CRSF_FRAME_GPS_PAYLOAD_SIZE = 15,
CRSF_FRAME_VARIO_SENSOR_PAYLOAD_SIZE = 2,
CRSF_FRAME_BATTERY_SENSOR_PAYLOAD_SIZE = 8,
CRSF_FRAME_BAROVARIO_SENSOR_PAYLOAD_SIZE = 4,
CRSF_FRAME_LINK_STATISTICS_PAYLOAD_SIZE = 10,
CRSF_FRAME_RC_CHANNELS_PAYLOAD_SIZE = 22, // 11 bits per channel * 16 channels = 22 bytes.
CRSF_FRAME_ATTITUDE_PAYLOAD_SIZE = 6,
Expand Down Expand Up @@ -87,7 +86,6 @@ typedef enum {
CRSF_FRAMETYPE_GPS = 0x02,
CRSF_FRAMETYPE_VARIO_SENSOR = 0x07,
CRSF_FRAMETYPE_BATTERY_SENSOR = 0x08,
CRSF_FRAMETYPE_BAROVARIO_SENSOR = 0x09,
CRSF_FRAMETYPE_LINK_STATISTICS = 0x14,
CRSF_FRAMETYPE_RC_CHANNELS_PACKED = 0x16,
CRSF_FRAMETYPE_ATTITUDE = 0x1E,
Expand Down
49 changes: 7 additions & 42 deletions src/main/telemetry/crsf.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@

#include "sensors/battery.h"
#include "sensors/sensors.h"
#include "sensors/barometer.h"

#include "telemetry/crsf.h"
#include "telemetry/telemetry.h"
#include "telemetry/msp_shared.h"
Expand Down Expand Up @@ -258,22 +258,6 @@ static void crsfFrameBatterySensor(sbuf_t *dst)
crsfSerialize8(dst, batteryRemainingPercentage);
}

/*
0x09 Baro+Vario sensor
Payload:
uint16 Altitude
int16 Vertical speed ( cm/s )
*/
static void crsfFrameBaroVarioSensor(sbuf_t *dst)
{
// use sbufWrite since CRC does not include frame length
sbufWriteU8(dst, CRSF_FRAME_BAROVARIO_SENSOR_PAYLOAD_SIZE + CRSF_FRAME_LENGTH_TYPE_CRC);
crsfSerialize8(dst, CRSF_FRAMETYPE_BAROVARIO_SENSOR);
int32_t altitude = baroGetLatestAltitude() / 10; // Altitude in decimeters
crsfSerialize16(dst, altitude + 10000 < 0x8000 ? altitude + 10000 : 0x8000 + altitude / 10);
crsfSerialize16(dst, lrintf(getEstimatedActualVelocity(Z)));
}

typedef enum {
CRSF_ACTIVE_ANTENNA1 = 0,
CRSF_ACTIVE_ANTENNA2 = 1
Expand Down Expand Up @@ -431,7 +415,6 @@ typedef enum {
CRSF_FRAME_FLIGHT_MODE_INDEX,
CRSF_FRAME_GPS_INDEX,
CRSF_FRAME_VARIO_SENSOR_INDEX,
CRSF_FRAME_BAROVARIO_SENSOR_INDEX,
CRSF_SCHEDULE_COUNT_MAX
} crsfFrameTypeIndex_e;

Expand Down Expand Up @@ -491,18 +474,13 @@ static void processCrsf(void)
crsfFrameGps(dst);
crsfFinalize(dst);
}
#endif
#if defined(USE_BARO) || defined(USE_GPS)
if (currentSchedule & BV(CRSF_FRAME_VARIO_SENSOR_INDEX)) {
crsfInitializeFrame(dst);
crsfFrameVarioSensor(dst);
crsfFinalize(dst);
}
#endif
#if defined(USE_BARO)
if (currentSchedule & BV(CRSF_FRAME_BAROVARIO_SENSOR_INDEX)) {
crsfInitializeFrame(dst);
crsfFrameBaroVarioSensor(dst);
crsfFinalize(dst);
}
#endif
crsfScheduleIndex = (crsfScheduleIndex + 1) % crsfScheduleCount;
}
Expand All @@ -527,23 +505,14 @@ void initCrsfTelemetry(void)
crsfSchedule[index++] = BV(CRSF_FRAME_ATTITUDE_INDEX);
crsfSchedule[index++] = BV(CRSF_FRAME_BATTERY_SENSOR_INDEX);
crsfSchedule[index++] = BV(CRSF_FRAME_FLIGHT_MODE_INDEX);
#if defined(USE_GPS)
#ifdef USE_GPS
if (feature(FEATURE_GPS)) {
crsfSchedule[index++] = BV(CRSF_FRAME_GPS_INDEX);
#if !defined(USE_BARO)
crsfSchedule[index++] = BV(CRSF_FRAME_VARIO_SENSOR_INDEX);
#endif
}
#endif
#if defined(USE_BARO)
if (sensors(SENSOR_BARO)) {
crsfSchedule[index++] = BV(CRSF_FRAME_BAROVARIO_SENSOR_INDEX);
} else {
#if defined(USE_GPS)
if (feature(FEATURE_GPS)) {
crsfSchedule[index++] = BV(CRSF_FRAME_VARIO_SENSOR_INDEX);
}
#endif
#if defined(USE_BARO) || defined(USE_GPS)
if (sensors(SENSOR_BARO) || (STATE(FIXED_WING_LEGACY) && feature(FEATURE_GPS))) {
crsfSchedule[index++] = BV(CRSF_FRAME_VARIO_SENSOR_INDEX);
}
#endif
crsfScheduleCount = (uint8_t)index;
Expand Down Expand Up @@ -622,11 +591,7 @@ int getCrsfFrame(uint8_t *frame, crsfFrameType_e frameType)
case CRSF_FRAMETYPE_VARIO_SENSOR:
crsfFrameVarioSensor(sbuf);
break;
case CRSF_FRAMETYPE_BAROVARIO_SENSOR:
crsfFrameBaroVarioSensor(sbuf);
break;
}

const int frameSize = crsfFinalizeBuf(sbuf, frame);
return frameSize;
}
Expand Down

0 comments on commit 85ec0a9

Please sign in to comment.