コード例 #1
0
ファイル: pca9685.cpp プロジェクト: Dronesmith-tech/Firmware
PCA9685::PCA9685(int bus, uint8_t address) :
	I2C("pca9685", PCA9685_DEVICE_PATH, bus, address, 100000),
	_mode(IOX_MODE_OFF),
	_running(false),
	_i2cpwm_interval(SEC2TICK(1.0f / 60.0f)),
	_should_run(false),
	_comms_errors(perf_alloc(PC_COUNT, "actuator_controls_1_comms_errors")),
	_control_subs{-1},
	_poll_fds_num(0),
	_armed_sub(-1),
	_servo_armed(false),
	_mixers(nullptr),
	_groups_required(0),
	_groups_subscribed(0),
	_mode_on_initialized(false)
{

	_control_topics[0] = ORB_ID(actuator_controls_0);
	_control_topics[1] = ORB_ID(actuator_controls_1);
	_control_topics[2] = ORB_ID(actuator_controls_2);
	_control_topics[3] = ORB_ID(actuator_controls_3);

	memset(&_work, 0, sizeof(_work));
	memset(_msg, 0, sizeof(_msg));
	memset(_controls, 0, sizeof(_controls));
	memset(_poll_fds, 0, sizeof(_poll_fds));
	memset(_outputs, 0, sizeof(_outputs));
	memset(_rates, 0, sizeof(_rates));
}
コード例 #2
0
ファイル: pca9685.cpp プロジェクト: Bjarne-Madsen/Firmware
PCA9685::PCA9685(int bus, uint8_t address) :
	I2C("pca9685", PCA9685_DEVICE_PATH, bus, address, 100000),
	_mode(IOX_MODE_OFF),
	_running(false),
	_i2cpwm_interval(SEC2TICK(1.0f/60.0f)),
	_should_run(false),
	_comms_errors(perf_alloc(PC_COUNT, "actuator_controls_2_comms_errors")),
	_actuator_controls_sub(-1),
	_actuator_controls(),
	_mode_on_initialized(false)
{
	memset(&_work, 0, sizeof(_work));
	memset(_msg, 0, sizeof(_msg));
	memset(_current_values, 0, sizeof(_current_values));
}