armchair_fw/main/config.cpp
jonny_l480 0165a88f1f Change dutyMax and fade, Add reboot cmd (1x press)
decrease ramp from 3000ms to 900ms (as in old project)
increase max duty from testing 60 to 94
Add reboot command (untested)
2022-06-19 09:34:14 +02:00

91 lines
2.6 KiB
C++

#include "config.hpp"
//-----------------------------------
//------- motor configuration -------
//-----------------------------------
//--- configure left motor ---
single100a_config_t configDriverLeft = {
.gpio_pwm = GPIO_NUM_26,
.gpio_a = GPIO_NUM_16,
.gpio_b = GPIO_NUM_4,
.ledc_timer = LEDC_TIMER_0,
.ledc_channel = LEDC_CHANNEL_0,
.abInverted = true,
.resolution = LEDC_TIMER_11_BIT,
.pwmFreq = 10000
};
//--- configure right motor ---
single100a_config_t configDriverRight = {
.gpio_pwm = GPIO_NUM_27,
.gpio_a = GPIO_NUM_18,
.gpio_b = GPIO_NUM_14,
.ledc_timer = LEDC_TIMER_1,
.ledc_channel = LEDC_CHANNEL_1,
.abInverted = false,
.resolution = LEDC_TIMER_11_BIT,
.pwmFreq = 10000
};
//configure motor contol
motorctl_config_t configMotorControl = {
.msFade = 900,
.currentMax = 10
};
//create controlled motor instances
controlledMotor motorLeft(configDriverLeft, configMotorControl);
controlledMotor motorRight(configDriverRight, configMotorControl);
//--------------------------------------
//------- joystick configuration -------
//--------------------------------------
joystick_config_t configJoystick = {
.adc_x = ADC1_CHANNEL_3, //GPIO39
.adc_y = ADC1_CHANNEL_0, //GPIO36
//range around center-threshold of each axis the coordinates stays at 0 (adc value 0-4095)
.tolerance_zero = 100,
//threshold the coordinate snaps to -1 or 1 before configured "_max" or "_min" threshold (mechanical end) is reached (adc value 0-4095)
.tolerance_end = 80,
//threshold the radius jumps to 1 before the stick is at max radius (range 0-1)
.tolerance_radius = 0.05,
//min and max adc values of each axis
.x_min = 975,
.x_max = 2520,
.y_min = 1005,
.y_max = 2550,
//invert adc measurement
.x_inverted = true,
.y_inverted = true
};
//create global joystic instance
evaluatedJoystick joystick(configJoystick);
//create global evaluated switch instance for button next to joystick
gpio_evaluatedSwitch buttonJoystick(GPIO_NUM_33, true, false); //pullup true, not inverted (switch to GND use pullup of controller)
//create buzzer object on pin 12 with gap between queued events of 100ms
buzzer_t buzzer(GPIO_NUM_12, 100);
//create global control object
controlledArmchair control(&buzzer, &motorLeft, &motorRight);
//configure fan contol
fan_config_t configFanLeft = {
.gpio_fan = GPIO_NUM_2,
.msRun = 5000,
.dutyThreshold = 35
};
fan_config_t configFanRight = {
.gpio_fan = GPIO_NUM_15,
.msRun = 5000,
.dutyThreshold = 35
};