cleaning actuators

This commit is contained in:
Antoine Drouin
2009-08-02 21:47:31 +00:00
parent 67ef29bc53
commit 1cb3af51de
17 changed files with 174 additions and 58 deletions
+2 -2
View File
@@ -194,10 +194,11 @@
<makefile>
ARCH=lpc21
BOARD_CFG = \"booz2_board_v1_0.h\"
BOARD_CFG = \"boards/booz2_v1_0.h\"
# prevents motors from ever starting
#ap.CFLAGS += -DKILL_MOTORS
ap.CFLAGS += -DMODEM_BAUD=B57600
include $(PAPARAZZI_SRC)/conf/autopilot/booz2_common.makefile
include $(CFG_BOOZ)/booz2_autopilot.makefile
@@ -205,7 +206,6 @@ include $(CFG_BOOZ)/booz2_test_progs.makefile
include $(CFG_BOOZ)/booz2_simulator_nps.makefile
ap.CFLAGS += -DMODEM_BAUD=B57600
include $(CFG_BOOZ)/subsystems/booz2_radio_control_ppm.makefile
include $(CFG_BOOZ)/subsystems/booz2_actuators_buss.makefile
include $(CFG_BOOZ)/subsystems/booz2_imu_b2v1.makefile
+1 -1
View File
@@ -165,7 +165,7 @@
<makefile>
ARCH=lpc21
BOARD_CFG = \"booz2_board_v1_0.h\"
BOARD_CFG = \"boards/booz2_v1_0.h\"
# prevents motors from ever starting
#ap.CFLAGS += -DKILL_MOTORS
+1 -1
View File
@@ -165,7 +165,7 @@
<makefile>
ARCH=lpc21
BOARD_CFG = \"booz2_board_v1_0.h\"
BOARD_CFG = \"boards/booz2_v1_0.h\"
# prevents motors from ever starting
#ap.CFLAGS += -DKILL_MOTORS
+1 -1
View File
@@ -143,7 +143,7 @@
<makefile>
ARCH=lpc21
BOARD_CFG = \"booz2_board_v1_0.h\"
BOARD_CFG = \"boards/booz2_v1_0.h\"
# prevents motors from ever starting
#ap.CFLAGS += -DKILL_MOTORS
+126 -15
View File
@@ -1,5 +1,80 @@
<airframe name="booz2_a5">
<servos min="0" neutral="0" max="0xff">
<servo name="back_right" no="0" min="0" neutral="0" max="255"/>
<servo name="back_left" no="1" min="0" neutral="0" max="255"/>
<servo name="center_right" no="2" min="0" neutral="0" max="255"/>
<servo name="center_left" no="3" min="0" neutral="0" max="255"/>
<servo name="front_right" no="4" min="0" neutral="0" max="255"/>
<servo name="front_left" no="5" min="0" neutral="0" max="255"/>
</servos>
<commands>
<axis name="PITCH" failsafe_value="0"/>
<axis name="ROLL" failsafe_value="0"/>
<axis name="YAW" failsafe_value="0"/>
<axis name="THRUST" failsafe_value="0"/>
</commands>
<section name="BUSS_BLMC" prefix="BUSS_BLMC_">
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58, 0x5A, 0X5C }"/>
</section>
<section name="SUPERVISION" prefix="SUPERVISION_">
<define name="FRONT_ROTOR_CW" value="1"/>
<define name="MIN_MOTOR" value="2"/>
<define name="MAX_MOTOR" value="210"/>
<define name="TRIM_A" value="0"/>
<define name="TRIM_E" value="0"/>
<define name="TRIM_R" value="0"/>
</section>
<section name="IMU" prefix="IMU_">
<define name="GYRO_P_CHAN" value="1"/>
<define name="GYRO_Q_CHAN" value="0"/>
<define name="GYRO_R_CHAN" value="2"/>
<define name="GYRO_P_NEUTRAL" value="31489"/>
<define name="GYRO_Q_NEUTRAL" value="31814"/>
<define name="GYRO_R_NEUTRAL" value="32752"/>
<define name="GYRO_P_SENS" value=" 1.01" integer="16"/>
<define name="GYRO_Q_SENS" value="-1.01" integer="16"/>
<define name="GYRO_R_SENS" value="-1.01" integer="16"/>
<define name="ACCEL_X_CHAN" value="5"/>
<define name="ACCEL_Y_CHAN" value="3"/>
<define name="ACCEL_Z_CHAN" value="4"/>
<define name="ACCEL_X_SENS" value="-3.49637365" integer="16"/>
<define name="ACCEL_Y_SENS" value="-3.48686012" integer="16"/>
<define name="ACCEL_Z_SENS" value="-3.55363744" integer="16"/>
<define name="ACCEL_X_NEUTRAL" value="29174"/>
<define name="ACCEL_Y_NEUTRAL" value="29720"/>
<define name="ACCEL_Z_NEUTRAL" value="28629"/>
<define name="MAG_X_CHAN" value="0"/>
<define name="MAG_Y_CHAN" value="1"/>
<define name="MAG_Z_CHAN" value="2"/>
<define name="MAG_X_SENS" value="5.20834273" integer="16"/>
<define name="MAG_Y_SENS" value="-5.22061499" integer="16"/>
<define name="MAG_Z_SENS" value="-2.69279936" integer="16"/>
<define name="MAG_X_NEUTRAL" value="-164"/>
<define name="MAG_Y_NEUTRAL" value="3"/>
<define name="MAG_Z_NEUTRAL" value="42"/>
<define name="BODY_TO_IMU_PHI" value="ANGLE_BFP_OF_REAL(RadOfDeg(0.))"/>
<define name="BODY_TO_IMU_THETA" value="ANGLE_BFP_OF_REAL(RadOfDeg(0.))"/>
<define name="BODY_TO_IMU_PSI" value="ANGLE_BFP_OF_REAL(RadOfDeg(0.))"/>
</section>
<makefile>
@@ -10,8 +85,8 @@ TARGET_DIR = ~
SRC_FMS=fms
test_spi.ARCHDIR = omap
test_spi.srcs=$(SRC_FMS)/test_spi.c
include $(PAPARAZZI_SRC)/conf/autopilot/booz2_common.makefile
FLASH_MODE = IAP
lpc_test_spi.ARCHDIR = arm7
@@ -25,24 +100,60 @@ lpc_test_spi.CFLAGS += -DUSE_LED
lpc_test_spi.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c
lpc_test_spi.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC((1./512.))' -DTIME_LED=1
#
# test BUSS BLDC
#
lpc_test_motors.ARCHDIR = arm7
lpc_test_motors.ARCH = arm7tdmi
lpc_test_motors.TARGET = lpc_test_motors
lpc_test_motors.TARGETDIR = lpc_test_motors
test_telemetry.ARCHDIR = omap
test_telemetry.srcs=$(SRC_FMS)/test_telemetry.c
test_telemetry.CFLAGS += -I$(GLIB_INC)
test_telemetry.LDFLAGS += -L$(GLIB_LIB) -lglib-2.0
lpc_test_motors.CFLAGS += -DPERIPHERALS_AUTO_INIT
lpc_test_motors.CFLAGS += -DBOARD_CONFIG=\"boards/booz2_v1_0.h\" -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH)
lpc_test_motors.srcs += $(SRC_BOOZ_TEST)/booz2_test_buss_bldc_hexa.c
lpc_test_motors.CFLAGS += -DUSE_LED
lpc_test_motors.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC((1./512.))' -DTIME_LED=1
lpc_test_motors.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c
lpc_test_motors.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600
lpc_test_motors.srcs += $(SRC_ARCH)/uart_hw.c
lpc_test_motors.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=Uart1
lpc_test_motors.srcs += downlink.c pprz_transport.c
lpc_test_motors.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=Uart1
lpc_test_motors.srcs += $(SRC_BOOZ)/booz2_datalink.c
lpc_test_motors.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=10
lpc_test_motors.srcs += i2c.c $(SRC_ARCH)/i2c_hw.c
#
#
#
overo_test_telemetry.ARCHDIR = omap
overo_test_telemetry.srcs=$(SRC_FMS)/overo_test_telemetry.c
overo_test_telemetry.CFLAGS += -I$(GLIB_INC)
overo_test_telemetry.LDFLAGS += -L$(GLIB_LIB) -lglib-2.0
ap.ARCHDIR = $(ARCHI)
ap.LDFLAGS = -lm -levent -lrt
ap.CFLAGS += -I$(SRC_FMS)
ap.srcs=$(SRC_FMS)/fms_test_datalink.c
ap.CFLAGS += -DDOWNLINK
ap.CFLAGS += -DDOWNLINK_TRANSPORT=UdpTransport
ap.srcs += $(SRC_FMS)/fms_network.c
ap.srcs += $(SRC_FMS)/udp_transport.c
ap.srcs += downlink.c
#
#
#
overo_test_spi.ARCHDIR = omap
overo_test_spi.srcs=$(SRC_FMS)/overo_test_spi.c
#ap.ARCHDIR = $(ARCHI)
#ap.LDFLAGS = -lm -levent -lrt
#ap.CFLAGS += -I$(SRC_FMS)
#ap.srcs=$(SRC_FMS)/fms_test_datalink.c
#ap.CFLAGS += -DDOWNLINK
#ap.CFLAGS += -DDOWNLINK_TRANSPORT=UdpTransport
#ap.srcs += $(SRC_FMS)/fms_network.c
#ap.srcs += $(SRC_FMS)/udp_transport.c
#ap.srcs += downlink.c
+1 -1
View File
@@ -180,7 +180,7 @@
<makefile>
ARCH=lpc21
BOARD_CFG = \"booz2_board_v1_0.h\"
BOARD_CFG = \"boards/booz2_v1_0.h\"
# prevents motors from ever starting
#ap.CFLAGS += -DKILL_MOTORS
+1 -1
View File
@@ -177,7 +177,7 @@
<makefile>
ARCH=lpc21
BOARD_CFG = \"booz2_board_v1_0.h\"
BOARD_CFG = \"boards/booz2_v1_0.h\"
# prevents motors from ever starting
#ap.CFLAGS += -DKILL_MOTORS
+1 -1
View File
@@ -185,7 +185,7 @@
<makefile>
ARCH=lpc21
BOARD_CFG = \"booz2_board_v1_0.h\"
BOARD_CFG = \"boards/booz2_v1_0.h\"
# prevents motors from ever starting
# ap.CFLAGS += -DKILL_MOTORS
+1 -1
View File
@@ -185,7 +185,7 @@
<makefile>
ARCH=lpc21
BOARD_CFG = \"booz2_board_v1_0.h\"
BOARD_CFG = \"boards/booz2_v1_0.h\"
# prevents motors from ever starting
#ap.CFLAGS += -DKILL_MOTORS
+1
View File
@@ -124,6 +124,7 @@ ap.CFLAGS += -DSTABILISATION_ATTITUDE_REF_H=\"stabilization/booz_stabilization_a
ap.srcs += $(SRC_BOOZ)/stabilization/booz_stabilization_attitude_ref_euler_int.c
ap.srcs += $(SRC_BOOZ)/stabilization/booz_stabilization_attitude_euler_int.c
ap.CFLAGS += -DUSE_NAVIGATION
ap.srcs += $(SRC_BOOZ)/guidance/booz2_guidance_h.c
ap.srcs += $(SRC_BOOZ)/guidance/booz2_guidance_v.c
-20
View File
@@ -1,20 +0,0 @@
#ifndef CONFIG_DEMO_H
#define CONFIG_DEMO_H
/* Master oscillator freq. */
#define FOSC (12000000)
/* PLL multiplier */
#define PLL_MUL (5)
/* CPU clock freq. */
#define CCLK (FOSC * PLL_MUL)
/* Peripheral bus speed mask 0x00->4, 0x01-> 1, 0x02 -> 2 */
#define PBSD_BITS 0x02
#define PBSD_VAL 2
/* Peripheral bus clock freq. */
#define PCLK (CCLK / PBSD_VAL)
#define LED_1_BANK 1
#define LED_1_PIN 24
#endif /* CONFIG_DEMO_H */
@@ -0,0 +1,11 @@
<settings>
<dl_settings>
<dl_settings NAME="BUSS BLDC">
<dl_setting var="motor" min="0" step="1" max="5" module="test/booz2_test_buss_bldc_hexa"
values="back_right|back_left|center_right|center_left|front_right|front_left"/>
<dl_setting var="thrust" min="0" step="1" max="200"/>
</dl_settings>
</dl_settings>
</settings>
@@ -21,8 +21,8 @@
* Boston, MA 02111-1307, USA.
*/
#ifndef BOOZ2_SUPERVISION_H
#define BOOZ2_SUPERVISION_H
#ifndef BOOZ_SUPERVISION_H
#define BOOZ_SUPERVISION_H
#include "airframe.h"
@@ -117,4 +117,4 @@
#endif /* BOOZ2_SUPERVISION_H */
#endif /* BOOZ_SUPERVISION_H */
@@ -31,7 +31,7 @@
#include "i2c.h"
#include "airframe.h"
#include "booz2_supervision.h"
#include "actuators/booz_supervision.h"
/*
We're not using the airframe file "mixer" facility
@@ -68,7 +68,7 @@
buss_twi_blmc_idx = 0; \
buss_twi_blmc_status = BUSS_TWI_BLMC_STATUS_BUSY; \
ActuatorsBussTwiBlmcSend(); \
}
}
#else
#define ActuatorsCommit() { \
if ( buss_twi_blmc_status == BUSS_TWI_BLMC_STATUS_IDLE) { \
@@ -76,8 +76,8 @@
buss_twi_blmc_status = BUSS_TWI_BLMC_STATUS_BUSY; \
ActuatorsBussTwiBlmcSend(); \
} \
else \
twi_blmc_nb_err++; \
else \
twi_blmc_nb_err++; \
}
#endif
@@ -85,7 +85,8 @@
#define BUSS_TWI_BLMC_STATUS_IDLE 0
#define BUSS_TWI_BLMC_STATUS_BUSY 1
#define BUSS_TWI_BLMC_NB 4
#define BUSS_TWI_BLMC_NB 4
//(sizeof(buss_twi_blmc_addr)/sizeof(uint8_t))
extern uint8_t buss_twi_blmc_motor_power[BUSS_TWI_BLMC_NB];
extern volatile bool_t buss_twi_blmc_status;
extern uint8_t twi_blmc_nb_err;
+2 -1
View File
@@ -68,7 +68,7 @@ void dl_parse_msg(void) {
}
break;
#endif
#if defined USE_NAVIGATION
case DL_BLOCK :
{
if (DL_BLOCK_ac_id(dl_buffer) != AC_ID) break;
@@ -94,6 +94,7 @@ void dl_parse_msg(void) {
DOWNLINK_SEND_WP_MOVED_LTP(&wp_id, &enu.x, &enu.y, &enu.z);
}
break;
#endif /* USE_NAVIGATION */
}
}
@@ -26,14 +26,23 @@
#include "init_hw.h"
#include "sys_time.h"
#include "interrupt_hw.h"
#include "downlink.h"
#include "datalink.h"
#include "booz2_test_buss_bldc_hexa.h"
#define NB_MOTORS 6
static const uint8_t motor_addr[] = {0x52, 0x54, 0x56, 0x58, 0x5A, 0x5C};
uint8_t motor = 0;
uint8_t thrust = 10;
static bool_t i2c_done;
//static uint8_t addr = 0x52; /* 1 : back right */
//static uint8_t addr = 0x54; /* 2 : back left bad balanced */
//static uint8_t addr = 0x56; /* 3 : center right not so well balanced */
static uint8_t addr = 0x58; /* 4 : center left */
//static uint8_t addr = 0x58; /* 4 : center left */
//static uint8_t addr = 0x5A; /* 5 : front right */
//static uint8_t addr = 0x5C; /* 6 : front left */
static bool_t i2c_done;
static inline void main_init( void );
static inline void main_periodic_task( void );
@@ -56,12 +65,14 @@ static inline void main_init( void ) {
}
static inline void main_periodic_task( void ) {
uint8_t thrust = 20;
i2c0_buf[0] = thrust;
i2c0_transmit(addr, 1, &i2c_done);
i2c0_transmit(motor_addr[motor], 1, &i2c_done);
RunOnceEvery(128, { DOWNLINK_SEND_ALIVE(16, MD5SUM);});
}
static inline void main_event_task( void ) {
DatalinkEvent();
}