Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initialization refactoring #13193

Merged
merged 4 commits into from
Oct 15, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions boards/emlid/navio2/navio_sysfs_rc_in/navio_sysfs_rc_in.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,7 @@ class RcInput
_rcinput_pub(nullptr),
_channels(8), //D8R-II plus
_data{}
{
memset(_ch_fd, 0, sizeof(_ch_fd));
}
{ }
~RcInput()
{
work_cancel(HPWORK, &_work);
Expand Down Expand Up @@ -101,7 +99,7 @@ class RcInput
orb_advert_t _rcinput_pub;

int _channels;
int _ch_fd[input_rc_s::RC_INPUT_MAX_CHANNELS];
int _ch_fd[input_rc_s::RC_INPUT_MAX_CHANNELS] {};
struct input_rc_s _data;

int navio_rc_init();
Expand Down
3 changes: 1 addition & 2 deletions boards/parrot/bebop/flow/bebop_flow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,7 @@ void task_main(int argc, char *argv[])
{
_is_running = true;
int ret = 0;
struct frame_data frame;
memset(&frame, 0, sizeof(frame));
struct frame_data frame {};
uint32_t timeout_cnt = 0;

// Main loop
Expand Down
31 changes: 9 additions & 22 deletions boards/parrot/bebop/flow/video_device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,7 @@ int VideoDevice::close_device()

int VideoDevice::init_device()
{
struct v4l2_capability cap;
memset(&cap, 0, sizeof(cap));
struct v4l2_capability cap {};

int ret = ioctl(_fd, VIDIOC_QUERYCAP, &cap);

Expand Down Expand Up @@ -179,11 +178,8 @@ int VideoDevice::init_device()

int VideoDevice::init_crop()
{
struct v4l2_cropcap cropcap;
struct v4l2_crop crop;

memset(&cropcap, 0, sizeof(cropcap));
memset(&crop, 0, sizeof(crop));
struct v4l2_cropcap cropcap {};
struct v4l2_crop crop {};

cropcap.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
int ret = ioctl(_fd, VIDIOC_CROPCAP, &cropcap);
Expand All @@ -206,9 +202,7 @@ int VideoDevice::init_crop()
int VideoDevice::init_format()
{
usleep(10000);
struct v4l2_format fmt;

memset(&fmt, 0, sizeof(fmt));
struct v4l2_format fmt {};

fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
fmt.fmt.pix.width = VIDEO_DEVICE_IMAGE_WIDTH;
Expand Down Expand Up @@ -253,9 +247,7 @@ int VideoDevice::init_format()

int VideoDevice::init_buffers()
{
struct v4l2_requestbuffers req;

memset(&req, 0, sizeof(req));
struct v4l2_requestbuffers req {};

req.count = _n_buffers;
req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
Expand All @@ -276,8 +268,7 @@ int VideoDevice::init_buffers()
}

for (unsigned int i = 0; i < _n_buffers; ++i) {
struct v4l2_buffer buf;
memset(&buf, 0, sizeof(buf));
struct v4l2_buffer buf {};

buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
Expand Down Expand Up @@ -306,9 +297,7 @@ int VideoDevice::init_buffers()
int VideoDevice::start_capturing()
{
for (unsigned int i = 0; i < _n_buffers; ++i) {
struct v4l2_buffer buf;

memset(&buf, 0, sizeof(buf));
struct v4l2_buffer buf {};

buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
Expand Down Expand Up @@ -350,8 +339,7 @@ int VideoDevice::stop_capturing()

int VideoDevice::get_frame(struct frame_data &frame)
{
struct v4l2_buffer buf;
memset(&buf, 0, sizeof(buf));
struct v4l2_buffer buf {};

buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
Expand Down Expand Up @@ -384,8 +372,7 @@ int VideoDevice::get_frame(struct frame_data &frame)

int VideoDevice::put_frame(struct frame_data &frame)
{
struct v4l2_buffer buf;
memset(&buf, 0, sizeof(buf));
struct v4l2_buffer buf {};

buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
Expand Down
19 changes: 6 additions & 13 deletions platforms/common/work_queue/wqueue_test/wqueue_test.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,8 @@
class WQueueTest
{
public:
WQueueTest() :
_lpwork_done(false),
_hpwork_done(false)
{
memset(&_lpwork, 0, sizeof(_lpwork));
memset(&_hpwork, 0, sizeof(_hpwork));
};

~WQueueTest() {}
WQueueTest() = default;
~WQueueTest() = default;

int main();

Expand All @@ -66,8 +59,8 @@ class WQueueTest
void do_lp_work(void);
void do_hp_work(void);

bool _lpwork_done;
bool _hpwork_done;
work_s _lpwork;
work_s _hpwork;
bool _lpwork_done {false};
bool _hpwork_done {false};
work_s _lpwork {};
work_s _hpwork {};
};
3 changes: 1 addition & 2 deletions src/modules/commander/accelerometer_calibration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -643,8 +643,7 @@ calibrate_return read_accelerometer_avg(int sensor_correction_sub, int (&subs)[m
}

unsigned counts[max_accel_sens] = { 0 };
float accel_sum[max_accel_sens][3];
memset(accel_sum, 0, sizeof(accel_sum));
float accel_sum[max_accel_sens][3] {};

unsigned errcount = 0;
struct sensor_correction_s sensor_correction; /**< sensor thermal corrections */
Expand Down
15 changes: 6 additions & 9 deletions src/modules/commander/commander_helper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -120,23 +120,20 @@ bool is_ground_rover(const struct vehicle_status_s *current_status)
return current_status->system_type == VEHICLE_TYPE_GROUND_ROVER;
}

static hrt_abstime blink_msg_end = 0; // end time for currently blinking LED message, 0 if no blink message
static hrt_abstime tune_end = 0; // end time of currently played tune, 0 for repeating tunes or silence
static int tune_current = TONE_STOP_TUNE; // currently playing tune, can be interrupted after tune_end
static unsigned int tune_durations[TONE_NUMBER_OF_TUNES];
static hrt_abstime blink_msg_end = 0; // end time for currently blinking LED message, 0 if no blink message
static hrt_abstime tune_end = 0; // end time of currently played tune, 0 for repeating tunes or silence
static int tune_current = TONE_STOP_TUNE; // currently playing tune, can be interrupted after tune_end
static unsigned int tune_durations[TONE_NUMBER_OF_TUNES] {};

static DevHandle h_leds;
static DevHandle h_buzzer;
static led_control_s led_control = {};
static led_control_s led_control {};
static orb_advert_t led_control_pub = nullptr;
static tune_control_s tune_control = {};
static tune_control_s tune_control {};
static orb_advert_t tune_control_pub = nullptr;

int buzzer_init()
{
tune_end = 0;
tune_current = 0;
memset(tune_durations, 0, sizeof(tune_durations));
tune_durations[TONE_NOTIFY_POSITIVE_TUNE] = 800000;
tune_durations[TONE_NOTIFY_NEGATIVE_TUNE] = 900000;
tune_durations[TONE_NOTIFY_NEUTRAL_TUNE] = 500000;
Expand Down
7 changes: 2 additions & 5 deletions src/modules/commander/gyro_calibration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@

static const char *sensor_name = "gyro";

static const unsigned max_gyros = 3;
static constexpr unsigned max_gyros = 3;

/// Data passed to calibration worker routine
typedef struct {
Expand All @@ -82,12 +82,9 @@ static calibrate_return gyro_calibration_worker(int cancel_sub, void *data)
sensor_gyro_s gyro_report;
unsigned poll_errcount = 0;

struct sensor_correction_s sensor_correction; /**< sensor thermal corrections */
struct sensor_correction_s sensor_correction {}; /**< sensor thermal corrections */

if (orb_copy(ORB_ID(sensor_correction), worker_data->sensor_correction_sub, &sensor_correction) != 0) {
/* use default values */
memset(&sensor_correction, 0, sizeof(sensor_correction));

for (unsigned i = 0; i < 3; i++) {
sensor_correction.gyro_scale_0[i] = 1.0f;
sensor_correction.gyro_scale_1[i] = 1.0f;
Expand Down
2 changes: 1 addition & 1 deletion src/modules/ekf2/ekf2_params.c
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,7 @@ PARAM_DEFINE_INT32(EKF2_DECL_TYPE, 7);
* @value 0 Automatic
* @value 1 Magnetic heading
* @value 2 3-axis
* @value 3 VTOL customn
* @value 3 VTOL custom
* @value 4 MC custom
* @value 5 None
* @reboot_required true
Expand Down
3 changes: 1 addition & 2 deletions src/modules/muorb/krait/px4muorb_KraitRpcWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,7 @@ int calc_timer_diff_to_dsp_us(int32_t *time_diff_us)
return -1;
}

char buffer[21];
memset(buffer, 0, sizeof(buffer));
char buffer[21] {};
int bytes_read = read(fd, buffer, sizeof(buffer));

if (bytes_read < 0) {
Expand Down
12 changes: 0 additions & 12 deletions src/modules/sensors/voted_sensors_update.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,18 +55,6 @@ using namespace matrix;
VotedSensorsUpdate::VotedSensorsUpdate(const Parameters &parameters, bool hil_enabled)
: _parameters(parameters), _hil_enabled(hil_enabled)
{
memset(&_last_sensor_data, 0, sizeof(_last_sensor_data));
memset(&_last_magnetometer, 0, sizeof(_last_magnetometer));
memset(&_last_airdata, 0, sizeof(_last_airdata));
memset(&_last_accel_timestamp, 0, sizeof(_last_accel_timestamp));
memset(&_accel_diff, 0, sizeof(_accel_diff));
memset(&_gyro_diff, 0, sizeof(_gyro_diff));
memset(&_mag_angle_diff, 0, sizeof(_mag_angle_diff));

// initialise the publication variables
memset(&_corrections, 0, sizeof(_corrections));
memset(&_info, 0, sizeof(_info));

for (unsigned i = 0; i < 3; i++) {
_corrections.gyro_scale_0[i] = 1.0f;
_corrections.accel_scale_0[i] = 1.0f;
Expand Down
4 changes: 1 addition & 3 deletions src/modules/vmount/vmount.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -156,11 +156,9 @@ extern "C" __EXPORT int vmount_main(int argc, char *argv[]);
static int vmount_thread_main(int argc, char *argv[])
{
ParameterHandles param_handles;
Parameters params;
Parameters params {};
OutputConfig output_config;
ThreadData thread_data;
memset(&params, 0, sizeof(params));


InputTest *test_input = nullptr;

Expand Down
7 changes: 2 additions & 5 deletions src/modules/vtol_att_control/vtol_type.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,7 @@ bool VtolType::set_idle_mc()
{

unsigned pwm_value = _params->idle_pwm_mc;
struct pwm_output_values pwm_values;
memset(&pwm_values, 0, sizeof(pwm_values));
struct pwm_output_values pwm_values {};

for (int i = 0; i < num_outputs_max; i++) {
if (is_channel_set(i, _params->vtol_motor_id)) {
Expand All @@ -265,9 +264,7 @@ bool VtolType::set_idle_mc()

bool VtolType::set_idle_fw()
{
struct pwm_output_values pwm_values;

memset(&pwm_values, 0, sizeof(pwm_values));
struct pwm_output_values pwm_values {};

for (int i = 0; i < num_outputs_max; i++) {
if (is_channel_set(i, _params->vtol_motor_id)) {
Expand Down
3 changes: 1 addition & 2 deletions src/systemcmds/motor_ramp/motor_ramp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -274,8 +274,7 @@ int set_min_pwm(int fd, unsigned long max_channels, int pwm_value)
{
int ret;

struct pwm_output_values pwm_values;
memset(&pwm_values, 0, sizeof(pwm_values));
struct pwm_output_values pwm_values {};

pwm_values.channel_count = max_channels;

Expand Down
16 changes: 4 additions & 12 deletions src/systemcmds/pwm/pwm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -415,9 +415,7 @@ pwm_main(int argc, char *argv[])
return 1;
}

struct pwm_output_values pwm_values;

memset(&pwm_values, 0, sizeof(pwm_values));
struct pwm_output_values pwm_values {};

pwm_values.channel_count = servo_count;

Expand Down Expand Up @@ -471,9 +469,7 @@ pwm_main(int argc, char *argv[])
return 1;
}

struct pwm_output_values pwm_values;

memset(&pwm_values, 0, sizeof(pwm_values));
struct pwm_output_values pwm_values {};

pwm_values.channel_count = servo_count;

Expand Down Expand Up @@ -526,9 +522,7 @@ pwm_main(int argc, char *argv[])
PX4_WARN("reading disarmed value of zero, disabling disarmed PWM");
}

struct pwm_output_values pwm_values;

memset(&pwm_values, 0, sizeof(pwm_values));
struct pwm_output_values pwm_values {};

pwm_values.channel_count = servo_count;

Expand Down Expand Up @@ -582,9 +576,7 @@ pwm_main(int argc, char *argv[])
return 1;
}

struct pwm_output_values pwm_values;

memset(&pwm_values, 0, sizeof(pwm_values));
struct pwm_output_values pwm_values {};

pwm_values.channel_count = servo_count;

Expand Down