diff --git a/src/custom_types.h b/src/custom_types.h index b112981..cea3a94 100644 --- a/src/custom_types.h +++ b/src/custom_types.h @@ -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); +} \ No newline at end of file