Line data Source code
1 : #include "AP_DAL_Baro.h" 2 : 3 : #include <AP_Logger/AP_Logger.h> 4 : #include "AP_DAL.h" 5 : 6 2193 : AP_DAL_Baro::AP_DAL_Baro() 7 : { 8 8772 : for (uint8_t i=0; i<BARO_MAX_INSTANCES; i++) { 9 6579 : _RBRI[i].instance = i; 10 : } 11 2193 : } 12 : 13 41156285 : void AP_DAL_Baro::start_frame() 14 : { 15 41156285 : const auto &baro = AP::baro(); 16 : 17 41156285 : const log_RBRH old_RBRH = _RBRH; 18 41156285 : _RBRH.primary = baro.get_primary(); 19 41156285 : _RBRH.num_instances = baro.num_instances(); 20 41156285 : WRITE_REPLAY_BLOCK_IFCHANGED(RBRH, _RBRH, old_RBRH); 21 : 22 123635573 : for (uint8_t i=0; i<_RBRH.num_instances; i++) { 23 82479288 : log_RBRI &RBRI = _RBRI[i]; 24 82479288 : log_RBRI old = RBRI; 25 82479288 : RBRI.last_update_ms = baro.get_last_update(i); 26 82479288 : RBRI.healthy = baro.healthy(i); 27 82479288 : RBRI.altitude = baro.get_altitude(i); 28 82479288 : WRITE_REPLAY_BLOCK_IFCHANGED(RBRI, _RBRI[i], old); 29 : } 30 41156285 : } 31 : 32 : #if AP_BARO_CALIBRATION_ENABLED 33 8269 : void AP_DAL_Baro::update_calibration() 34 : { 35 8269 : AP::baro().update_calibration(); 36 8269 : } 37 : #endif // AP_BARO_CALIBRATION_ENABLED