#!/bin/sh
# PX4 commands need the 'px4-' prefix in bash.
# (px4-alias.sh is expected to be in the PATH)
. px4-alias.sh

# config for a quad
# modified from ../rpi/px4.config

uorb start
param load

param set CBRK_SUPPLY_CHK 894281

# Auto-start script index. Defines the auto-start script used to bootstrap the system.
# It seems that SYS_AUTOSTART does not work as intended on posix platform.
# For now, find the corresponding settings, and manually set them in ground control.
#
# 4001: Generic Quadrotor X;  4011: DJI Flame Wheel F450
param set SYS_AUTOSTART 4011

# DJI ESCs do not support calibration and need higher PWM_MIN
# http://www.dji.com/e2000/info indicates E2000 Operating Pulse Width: 1120 to 1920 μs
# It seems that all latest DJI ESC have the same range.
# Note that the setting here applies to all PWM channels.
# param set PWM_MIN 1120
# param set PWM_MAX 1920
# Not using DJI 430 LITE ESC anymore due to its hiccups:
#    each random motor stop would cause a scary flip in the fly
# Replacing with 4 BLHeli32 (Wraith32 V2) ESCs solved the main problem in BBBlue porting

# Broadcast heartbeats on local network. This allows a ground control station
# to automatically find the drone on the local network.
param set MAV_BROADCAST 1

# MAV_TYPE: 1 Fixed wing aircraft, 2 Quadrotor
param set MAV_TYPE 2

# Three possible main power battery sources for BBBlue:
# 1. onboard 2S LiPo battery connector, which is connect to ADC channel 6
# 2. onboard 9-18V DC Jack, which is connect to ADC channel 5. This is the board default.
# 3. other power source (e.g., LiPo battery more than 4S/18V).
#    Scale the voltage to below 1.8V and connect it to ADC channel # 0, 1, 2 or 3.
param set BAT1_V_CHANNEL 	5

# Battery voltage scale factor, from BBBlue schematics: (4.7K + 47K) / 4.7K = 11
param set BAT_V_DIV 		11.0

dataman start

load_mon start

bmp280 -I start

mpu9250 -I start
# options:  -R rotation

gps start -d /dev/ttyS2 -s -p ubx

#rgbled start -I -b 1

board_adc start
battery_status start

rc_update start
sensors start
commander start
navigator start
ekf2 start
land_detector start multicopter

mc_hover_thrust_estimator start
mc_pos_control start
mc_att_control start
mc_rate_control start

mavlink start -n SoftAp -x -u 14556 -r 1000000
# -n name of wifi interface: SoftAp, wlan or your custom interface,
# e.g., -n SoftAp . The default is wlan

sleep 1

# RC port is mapped to /dev/ttyS4 (auto-detected)
#rc_input start -d /dev/ttyS4

# default: etc/mixers/quad_x.main.mix, 8 output channels
linux_pwm_out start -p bbblue_rc -m etc/mixers/quad_x.main.mix
#linux_pwm_out start -p bbblue_rc -m etc/mixers/AETRFG.main.mix

logger start -t -b 200

mavlink boot_complete
