Added copy functions for gps_global_data

This commit is contained in:
2026-03-24 00:02:01 +01:00
parent 85049fab76
commit 95743452d1

View File

@@ -6,7 +6,7 @@ struct vehicle_config{
uint16_t magic = CONFIG_MAGIC;
bool auto_detect_track = true;
uint8_t num_tracks = 0;
uint8_t selected_track = 0;
uint8_t track_fallback = 0;
};
struct lat_lng {
@@ -35,3 +35,31 @@ struct gps_data {
gps_sub_data speed;
gps_sub_data course;
};
inline void gps_sub_copy_from_volatile(gps_sub_data& dst, const volatile gps_sub_data& src) {
dst.age = src.age;
dst.valid = src.valid;
dst.value = src.value;
}
inline void gps_sub_copy_to_volatile(volatile gps_sub_data& dst, const gps_sub_data& src) {
dst.age = src.age;
dst.valid = src.valid;
dst.value = src.value;
}
inline void gps_copy_from_volatile(gps_data& dst, const volatile gps_data& src) {
gps_sub_copy_from_volatile(dst.altitude, src.altitude);
gps_sub_copy_from_volatile(dst.lat, src.lat);
gps_sub_copy_from_volatile(dst.lng, src.lng);
gps_sub_copy_from_volatile(dst.speed, src.speed);
gps_sub_copy_from_volatile(dst.course, src.course);
}
inline void gps_copy_to_volatile(volatile gps_data& dst, const gps_data& src) {
gps_sub_copy_to_volatile(dst.altitude, src.altitude);
gps_sub_copy_to_volatile(dst.lat, src.lat);
gps_sub_copy_to_volatile(dst.lng, src.lng);
gps_sub_copy_to_volatile(dst.speed, src.speed);
gps_sub_copy_to_volatile(dst.course, src.course);
}