summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--driver_garmin.c10
-rw-r--r--driver_rtcm2.c4
-rw-r--r--monitor_garmin.c9
3 files changed, 12 insertions, 11 deletions
diff --git a/driver_garmin.c b/driver_garmin.c
index d9d4888d..2d75745b 100644
--- a/driver_garmin.c
+++ b/driver_garmin.c
@@ -165,7 +165,7 @@
#pragma pack(1)
// This is the data format of the satellite data from the garmin USB
-typedef struct
+typedef struct __attribute__((__packed__))
{
uint8_t svid;
uint16_t snr; // 0 - 0xffff
@@ -179,7 +179,7 @@ typedef struct
/* Garmin D800_Pvt_Datetype_Type */
/* packet type: GARMIN_PKTID_PVT_DATA 52 */
/* This is the data format of the position data from the garmin USB */
-typedef struct
+typedef struct __attribute__((__packed__))
{
float alt; /* altitude above WGS 84 (meters) */
float epe; /* estimated position error, 2 sigma (meters) */
@@ -206,7 +206,7 @@ typedef struct
* beginning of the current week */
} cpo_pvt_data;
-typedef struct
+typedef struct __attribute__((__packed__))
{
uint32_t cycles;
double pr;
@@ -219,7 +219,7 @@ typedef struct
/* packet type: GARMIN_PKTID_RMD_DATA 53 */
/* seems identical to the packet id 0x29 from the Garmin GPS 25 */
-typedef struct
+typedef struct __attribute__((__packed__))
{
double rcvr_tow;
int16_t rcvr_wn;
@@ -227,7 +227,7 @@ typedef struct
} cpo_rcv_data;
// This is the packet format to/from the Garmin USB
-typedef struct
+typedef struct __attribute__((__packed__))
{
uint8_t mPacketType;
uint8_t mReserved1;
diff --git a/driver_rtcm2.c b/driver_rtcm2.c
index c190911c..74a5a61d 100644
--- a/driver_rtcm2.c
+++ b/driver_rtcm2.c
@@ -455,7 +455,7 @@ struct rtcm2_msg_t {
/* unknown message */
isgps30bits_t rtcm2_msgunk[RTCM2_WORDS_MAX-2];
} msg_type;
-};
+} __attribute__((__packed__));
#endif /* LITTLE_ENDIAN */
@@ -735,7 +735,7 @@ struct rtcm2_msg_t {
/* unknown message */
isgps30bits_t rtcm2_msgunk[RTCM2_WORDS_MAX-2];
} msg_type;
-};
+} __attribute__((__packed__));
#endif /* S_SPLINT_S */
#endif /* BIG ENDIAN */
diff --git a/monitor_garmin.c b/monitor_garmin.c
index 779086d5..570179b7 100644
--- a/monitor_garmin.c
+++ b/monitor_garmin.c
@@ -26,7 +26,7 @@ static WINDOW *miscwin, *mid51win, *mid114win;
#pragma pack(1)
/* Satellite Data Record */
-typedef struct
+typedef struct __attribute__((__packed__))
{
uint8_t svid;
uint16_t snr;
@@ -36,7 +36,7 @@ typedef struct
} cpo_sat_data;
/* Position Record */
-typedef struct
+typedef struct __attribute__((__packed__))
{
float alt;
float epe;
@@ -55,7 +55,7 @@ typedef struct
} cpo_pvt_data;
/* Receiver Measurement Record */
-typedef struct
+typedef struct __attribute__((__packed__))
{
// cppcheck-suppress unusedStructMember
uint32_t cycles;
@@ -71,7 +71,8 @@ typedef struct
// cppcheck-suppress unusedStructMember
int8_t valid;
} cpo_rcv_sv_data;
-typedef struct
+
+typedef struct __attribute__((__packed__))
{
// cppcheck-suppress unusedStructMember
double rcvr_tow;