Move shared structs between coontrollers into common

master
Tom Wilson 4 years ago
parent a67d11a670
commit d2a8bff74b

@ -18,7 +18,7 @@ board = esp32dev
monitor_speed = 57600
[env:motor-esp32]
src_filter = +<motor-esp32/*>
src_filter = +<motor-esp32/*> +<common/*>
[env:primary-esp32]
src_filter = +<primary-esp32/*>
src_filter = +<primary-esp32/*> +<common/*>

@ -0,0 +1,34 @@
#ifndef shared_structs_h
#define shared_structs_h
typedef struct {
bool enabled = false;
float desired_speed = 0.0;
} motor_settings_t;
typedef struct {
float kp = 0.5;
float ki = 0.0;
float kd = 0.0;
float min_duty = 0.1;
} motor_parameters_t;
typedef struct {
float roller_1_speed;
float roller_2_speed;
float roller_3_speed;
float roller_1_revs;
float roller_2_revs;
float roller_3_revs;
float motor_1_duty;
float motor_2_duty;
float motor_3_duty;
motor_settings_t motor_1_settings;
motor_settings_t motor_2_settings;
motor_settings_t motor_3_settings;
motor_parameters_t motor_1_params;
motor_parameters_t motor_2_params;
motor_parameters_t motor_3_params;
} i2c_status_packet_t;
#endif

@ -1,25 +1,17 @@
#ifndef motor_control_h
#define motor_control_h
#include "../common/shared_structs.h"
#define MOTOR_PWM_FREQ 500 // PWM frequency in Hz
#define MOTOR_CONTROL_PERIOD_MS 100 // Period of the motor control loop
#define MAX_DUTY_RAMP 20.0 // max change in duty per second - where 1.0 is full duty
#define MAX_DUTY_RAMP 10.0 // max change in duty per second - where 1.0 is full duty
#define MAX_DUTY 0.99 // max duty in each phase - have slightly below 1.0 to give more dead time between phases
typedef struct {
bool enabled = false;
float desired_speed = 0.0;
} motor_settings_t;
typedef struct {
float kp = 0.5;
float ki = 0.0;
float kd = 0.0;
float min_duty = 0.1;
} motor_parameters_t;
void set_motor_settings(int motor_id, motor_settings_t new_settings);

Loading…
Cancel
Save