diff --git a/.github/workflows/carbonix_build.yml b/.github/workflows/carbonix_build.yml index a30d8cb21b..7611ea3034 100644 --- a/.github/workflows/carbonix_build.yml +++ b/.github/workflows/carbonix_build.yml @@ -174,7 +174,7 @@ jobs: - name: build Carbonix Flight Controller shell: bash run: | - boards=("CubeOrange" "CubeOrange-Volanti" "sitl") + boards=("CubeOrange" "CubeOrange-Volanti" "CubeOrange-Ottano" "sitl") for board in "${boards[@]}"; do echo "Compiling ArduPlane for $board..." ./waf configure --board "$board" --define=CARBOPILOT=1 @@ -195,7 +195,7 @@ jobs: id: check_files uses: andstor/file-existence-action@v2 with: - files: "build/CubeOrange/*, build/CubeOrange-Volanti/*, build/sitl/*, build/CarbonixF405/*, build/CarbonixF405-no-crystal/*, build/CarbonixL496/*" + files: "build/CubeOrange/*, build/CubeOrange-Volanti/*, build/CubeOrange-Ottano/*, build/sitl/*, build/CarbonixF405/*, build/CarbonixF405-no-crystal/*, build/CarbonixL496/*" fail: true - name: Extract firmware version and commit id id: extract_info @@ -208,7 +208,7 @@ jobs: - name: Gather build output run: | mkdir -p temp - for dir in CubeOrange CubeOrange-Volanti sitl CarbonixF405 CarbonixF405-no-crystal CarbonixL496; do + for dir in CubeOrange CubeOrange-Volanti CubeOrange-Ottano sitl CarbonixF405 CarbonixF405-no-crystal CarbonixL496; do mkdir -p temp/$dir/bin cp -v build/$dir/bin/* temp/$dir/bin/ done diff --git a/.github/workflows/cx_build_compare.yml b/.github/workflows/cx_build_compare.yml index 908dc6b32b..5fd338f66e 100644 --- a/.github/workflows/cx_build_compare.yml +++ b/.github/workflows/cx_build_compare.yml @@ -24,7 +24,7 @@ jobs: exclude: - gcc: 10 toolchain: chibios-clang - board: ["CubeOrange-Volanti", "CarbonixF405", "CarbonixF405-no-crystal", "CarbonixL496"] + board: ["CubeOrange-Volanti", "CubeOrange-Ottano", "CarbonixF405", "CarbonixF405-no-crystal", "CarbonixL496"] steps: # git checkout the PR - uses: actions/checkout@v3 diff --git a/Tools/Carbonix_scripts/build_no_clean.sh b/Tools/Carbonix_scripts/build_no_clean.sh index 2eb1a71e6c..ef61952fb4 100755 --- a/Tools/Carbonix_scripts/build_no_clean.sh +++ b/Tools/Carbonix_scripts/build_no_clean.sh @@ -8,7 +8,7 @@ set -e # The board to build for is passed as an argument to the script BOARD=$1 -if [ "$BOARD" == "CubeOrange" ] || [ "$BOARD" == "CubeOrange-Volanti" ] || [ "$BOARD" == "sitl" ] +if [ "$BOARD" == "CubeOrange" ] || [ "$BOARD" == "CubeOrange-Volanti" ] || [ "$BOARD" == "CubeOrange-Ottano" ] || [ "$BOARD" == "sitl" ] then echo "Compiling Plane for $BOARD..." ./waf plane diff --git a/Tools/Carbonix_scripts/carbonix_waf_build.sh b/Tools/Carbonix_scripts/carbonix_waf_build.sh index 79d74d4603..19e2dec5ea 100755 --- a/Tools/Carbonix_scripts/carbonix_waf_build.sh +++ b/Tools/Carbonix_scripts/carbonix_waf_build.sh @@ -21,7 +21,7 @@ fi echo "Running distclean..." ./waf distclean -main_boards=("CubeOrange-Volanti" "CubeOrange" "sitl") +main_boards=("CubeOrange-Volanti" "CubeOrange-Ottano" "CubeOrange" "sitl") for board in "${main_boards[@]}"; do echo "Compiling Plane for $board..." diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/defaults.parm b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/defaults.parm new file mode 100644 index 0000000000..fa105ed45c --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/defaults.parm @@ -0,0 +1,228 @@ +@include ../CarbonixCommon/defaults.parm +# Ottano-specific parameters +@include common.param +ARSPD_FBW_MAX,36 +ARSPD_FBW_MIN,23 +BATT_ARM_MAH,10000 +BATT_ARM_VOLT,24 +BATT_CAPACITY,30600 +BATT_CRT_MAH,7000 +BATT_CRT_VOLT,21 +BATT_FS_CRT_ACT,4 +BATT_FS_LOW_ACT,1 +BATT_FS_VOLTSRC,1 +BATT_LOW_MAH,10000 +BATT_LOW_VOLT,23 +BATT_MONITOR,10 +BATT_OPTIONS,64 +BATT_SUM_MASK,6 +BATT2_AMP_OFFSET,0.002314 +BATT2_AMP_PERVLT,29.86658 +BATT2_CAPACITY,0 +BATT2_CURR_PIN,51 +BATT2_MONITOR,28 +BATT2_VOLT_MULT,16.66666 +BATT2_VOLT_PIN,50 +BATT3_AMP_OFFSET,0.005901 +BATT3_AMP_PERVLT,30.09855 +BATT3_CAPACITY,0 +BATT3_CURR_PIN,52 +BATT3_MONITOR,28 +BATT3_VOLT_MULT,16.66666 +BATT3_VOLT_PIN,50 +BATT4_CAPACITY,0 +BATT4_MONITOR,9 +BATT5_MONITOR,8 +BATT6_MONITOR,8 +BRD_SAFETY_MASK,2032 +CAN_D1_UC_ESC_BM,9 +CAN_D1_UC_SRV_BM,1600 +CAN_D2_UC_ESC_BM,6 +CAN_D2_UC_SRV_BM,1600 +COMPASS_PRIO1_ID,70411 +COMPASS_PRIO2_ID,72963 +COMPASS_USE3,0 +EFI_COEF1,0.68 +EFI_FUEL_DENS,0.8364842 +EFI_THRLIN_COEF1,0.8364842 +EFI_THRLIN_COEF2,-0.02207897 +EFI_THRLIN_COEF3,0.0002301534 +EFI_THRLIN_EN,1 +EFI_THRLIN_OFS,6 +EFI_TYPE,8 +FBWB_CLIMB_RATE,2.4 +GPS_POS1_X,-0.135 +GPS_POS1_Y,-1.05 +GPS_POS2_X,-0.135 +GPS_POS2_Y,1.05 +ICE_ENABLE,1 +ICE_IDLE_RPM,2400 +ICE_IDLE_SLEW,2 +ICE_IGNITION_RLY,2 +ICE_OPTIONS,4 +ICE_RPM_CHAN,1 +ICE_START_CHAN,6 +ICE_START_DELAY,3 +ICE_STARTCHN_MIN,950 +ICE_STARTER_TIME,5 +INS_ACCEL_FILTER,10 +INS_GYRO_FILTER,22 +INS_HNTC2_ATT,60 +INS_HNTC2_BW,12 +INS_HNTC2_ENABLE,1 +INS_HNTC2_FREQ,35 +INS_HNTC2_MODE,2 +INS_HNTC2_OPTS,1 +INS_HNTC2_REF,1 +INS_HNTCH_ATT,60 +INS_HNTCH_BW,15 +INS_HNTCH_ENABLE,1 +INS_HNTCH_FREQ,60 +INS_HNTCH_HMNCS,3 +INS_HNTCH_MODE,3 +INS_HNTCH_OPTS,3 +INS_HNTCH_REF,1 +INS_LOG_BAT_MASK,5 +INS_POS1_X,0.82 +INS_POS2_X,0.82 +INS_POS3_X,0.82 +KFF_RDDRMIX,1 +LIM_ROLL_CD,3500 # Set to match NAVL1_LIM_BANK +NAVL1_LIM_BANK,35 # Set to match LIM_ROLL_CD +NAVL1_PERIOD,18 +PTCH_RATE_D,0.007605 +PTCH_RATE_FF,0.7402687 +PTCH_RATE_FLTD,11 +PTCH_RATE_FLTT,3.183099 +PTCH_RATE_I,0.7402687 +PTCH_RATE_IMAX,0.4 +PTCH_RATE_P,0.2194594 +PTCH_RATE_SMAX,110 +PTCH2SRV_RLL,1.05 +PTCH2SRV_RMAX_DN,45 +PTCH2SRV_RMAX_UP,75 +Q_A_ACCEL_P_MAX,8800 +Q_A_ACCEL_R_MAX,13000 +Q_A_ACCEL_Y_MAX,4000 +Q_A_ANG_YAW_P,2 +Q_A_RAT_PIT_D,0.015 +Q_A_RAT_PIT_FLTD,11 +Q_A_RAT_PIT_FLTE,8 +Q_A_RAT_PIT_FLTT,11 +Q_A_RAT_PIT_I,0.18 +Q_A_RAT_PIT_IMAX,0.4 +Q_A_RAT_PIT_P,0.18 +Q_A_RAT_PIT_SMAX,15 +Q_A_RAT_RLL_D,0.006 +Q_A_RAT_RLL_FLTD,11 +Q_A_RAT_RLL_FLTE,8 +Q_A_RAT_RLL_FLTT,11 +Q_A_RAT_RLL_I,0.3 +Q_A_RAT_RLL_P,0.3 +Q_A_RAT_RLL_SMAX,15 +Q_A_RAT_YAW_D,0.002 +Q_A_RAT_YAW_FLTD,11 +Q_A_RAT_YAW_FLTE,2 +Q_A_RAT_YAW_FLTT,11 +Q_A_RAT_YAW_I,0.25 +Q_A_RAT_YAW_IMAX,0.45 +Q_A_RAT_YAW_P,2.5 +Q_A_RAT_YAW_SMAX,10 +Q_A_RATE_P_MAX,45 +Q_A_RATE_R_MAX,55 +Q_A_RATE_Y_MAX,12 +Q_A_SLEW_YAW,1500 +Q_ACCEL_Z,100 +Q_ANGLE_MAX,1500 +Q_ASSIST_SPEED,18 +Q_FRAME_CLASS,1 +Q_FRAME_TYPE,1 +Q_LOIT_ACC_MAX,100 +Q_LOIT_ANG_MAX,10 +Q_LOIT_BRK_ACCEL,25 +Q_LOIT_BRK_JERK,175 +Q_LOIT_SPEED,300 +Q_M_BAT_VOLT_MAX,50.4 +Q_M_BAT_VOLT_MIN,39.6 +Q_M_SPIN_ARM,0.07 +Q_M_SPIN_MIN,0.1 +Q_M_THST_EXPO,0.582 +Q_M_THST_HOVER,0.3868718 +Q_M_YAW_HEADROOM,100 +Q_OPTIONS,147553 +Q_P_ACCZ_D,0.015 +Q_P_ACCZ_FLTD,6 +Q_P_ACCZ_FLTE,3 +Q_P_ACCZ_FLTT,6 +Q_P_ACCZ_I,0.82 +Q_P_ACCZ_P,0.41 +Q_P_ANGLE_MAX,10 +Q_P_JERK_XY,1.25 +Q_P_POSXY_P,0.85 +Q_P_POSZ_P,1.28 +Q_P_VELXY_D,0.2 +Q_P_VELXY_I,0.4 +Q_P_VELXY_P,0.65 +Q_P_VELZ_FLTD,7 +Q_P_VELZ_FLTE,4 +Q_P_VELZ_I,0.78 +Q_P_VELZ_IMAX,4 +Q_P_VELZ_P,4 +Q_PLT_Y_RATE,25 +Q_TRANS_DECEL,0.9 +Q_VFWD_GAIN,0.1 +Q_WP_ACCEL_Z,30 +Q_WP_JERK,0.7 +Q_WP_SPEED_DN,200 +Q_WP_SPEED_UP,220 +Q_WVANE_GAIN,1 +RELAY2_PIN,108 +RLL_RATE_D,0.001917198 +RLL_RATE_FF,0.7728607 +RLL_RATE_FLTD,11 +RLL_RATE_FLTT,3.183099 +RLL_RATE_I,0.7728607 +RLL_RATE_IMAX,0.4 +RLL_RATE_P,0.09429314 +RLL_RATE_SMAX,125 +RLL2SRV_RMAX,75 +RNGFND1_GNDCLEAR,27 +RNGFND1_POS_X,0.93 +RNGFND1_TYPE,24 +RPM1_TYPE,3 +SCALING_SPEED,24 +SERIAL1_BAUD,57 +SERIAL1_PROTOCOL,24 +SERIAL2_BAUD,115 +SERIAL3_BAUD,115 +SERIAL3_PROTOCOL,23 +SERIAL4_BAUD,57 +SERIAL4_PROTOCOL,2 +SERIAL5_PROTOCOL,28 +SERIAL6_BAUD,115 +SERIAL6_PROTOCOL,2 +SERVO5_MAX,1950 +SERVO5_MIN,980 +TECS_CLMB_MAX,4 +TECS_INTEG_GAIN,0.15 +TECS_LAND_ARSPD,24 +TECS_PITCH_MAX,16 +TECS_PITCH_MIN,-8 +TECS_PTCH_DAMP,0.4 +TECS_RLL2THR,20 +TECS_SINK_MAX,2.7 +TECS_SINK_MIN,2.4 +TECS_SPDWEIGHT,0.5 +TECS_THR_DAMP,0.4 +TECS_TIME_CONST,4 +TECS_VERT_ACC,6 +THR_SLEWRATE,50 +TRIM_ARSPD_CM,2600 +TRIM_PITCH_CD,300 +TRIM_THROTTLE,60 +WP_LOITER_RAD,250 +WP_RADIUS,150 +YAW2SRV_DAMP,0.6 +YAW2SRV_IMAX,1000 +YAW2SRV_INT,1 +YAW2SRV_SLIP,3.5 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/hwdef.dat new file mode 100644 index 0000000000..dcc2ae1b6c --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/hwdef.dat @@ -0,0 +1 @@ +include ../CarbonixCommon/cubeorange.inc diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/scripts/cx_built_in_test.lua b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/scripts/cx_built_in_test.lua new file mode 120000 index 0000000000..dbb50da048 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/scripts/cx_built_in_test.lua @@ -0,0 +1 @@ +../../CarbonixCommon/scripts/cx_built_in_test.lua \ No newline at end of file diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/scripts/cx_led_driver.lua b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/scripts/cx_led_driver.lua new file mode 120000 index 0000000000..71087fb1e4 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/scripts/cx_led_driver.lua @@ -0,0 +1 @@ +../../CarbonixCommon/scripts/cx_led_driver.lua \ No newline at end of file