应该是任意时间的绝对定高误差100m
MS5611的相对误差小于10cm
上一个万户3号使用的气压开伞程序
原作者Shadow_Swirl大神,论坛ID = clyce
在万户3项目中使用,经过本人修改
APPALT.rar
16.46KB
RAR
40次下载
void appalt_init(void);
//start pressure altimeter controlled parachute
void appalt_set_zero(void);
//set relative altitude to zero
void appalt_set_pressure(uint32_t p);// p is pressure in Pa
//input current pressure data
void appalt_set_callback(void (*f)(void));
//set parachute open function callback
核心代码:
void appalt_set_pressure(uint32_t p) {
int pprev;
pprev = pres;
if ((p <= MAX_PRES) && (p >= MIN_PRES) ) {
pres = p;
}
if (pres_not_setted) {pres_not_setted = 0;}
if (p > pprev) {
falling += 1;
} else {
falling = 0;
}
if (falling >= falling_count_th) {
get_alt();
if (altitude <= alt_limit) {
// code to open the parachute
if(f_open_parachute)
(*f_open_parachute)();
}
}
}