Line data Source code
1 : #include "AP_DAL_VisualOdom.h" 2 : 3 : #include <AP_VisualOdom/AP_VisualOdom.h> 4 : 5 : #if HAL_VISUALODOM_ENABLED 6 : 7 : #include <AP_Logger/AP_Logger.h> 8 : #include "AP_DAL.h" 9 : #include <AP_Vehicle/AP_Vehicle_Type.h> 10 : 11 : /* 12 : update position offsets to align to AHRS position 13 : should only be called when this library is not being used as the position source 14 : This function does not change EKF state, so does not need to be logged 15 : */ 16 278478 : void AP_DAL_VisualOdom::align_position_to_ahrs(bool align_xy, bool align_z) 17 : { 18 : #if !APM_BUILD_TYPE(APM_BUILD_AP_DAL_Standalone) 19 278478 : auto *vo = AP::visualodom(); 20 278478 : vo->align_position_to_ahrs(align_xy, align_z); 21 : #endif 22 278478 : } 23 : 24 284793 : void AP_DAL_VisualOdom::start_frame() 25 : { 26 284793 : const auto *vo = AP::visualodom(); 27 : 28 284793 : const log_RVOH old = RVOH; 29 284793 : if (vo != nullptr) { 30 284793 : RVOH.pos_offset = vo->get_pos_offset(); 31 284793 : RVOH.delay_ms = vo->get_delay_ms(); 32 284793 : RVOH.healthy = vo->healthy(); 33 284793 : RVOH.enabled = vo->enabled(); 34 : } 35 : 36 284793 : WRITE_REPLAY_BLOCK_IFCHANGED(RVOH, RVOH, old); 37 284793 : } 38 : 39 : #endif // HAL_VISUALODOM_ENABLED