🎋 Updates adafruit pwm lib to own fork until pr merged
This commit is contained in:
@@ -8,7 +8,6 @@
|
|||||||
#include <template/stateful_endpoint.h>
|
#include <template/stateful_endpoint.h>
|
||||||
#include <utils/math_utils.h>
|
#include <utils/math_utils.h>
|
||||||
#include <settings/servo_settings.h>
|
#include <settings/servo_settings.h>
|
||||||
#include <Wire.h>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Servo Settings
|
* Servo Settings
|
||||||
@@ -53,18 +52,6 @@ class ServoController : public StatefulService<ServoSettings> {
|
|||||||
_pca.setPWM(index, 0, value);
|
_pca.setPWM(index, 0, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void writeMany(uint8_t count, uint16_t *values) {
|
|
||||||
Wire.beginTransmission(PCA9685_I2C_ADDRESS);
|
|
||||||
Wire.write(0x06);
|
|
||||||
for (int i = 0; i < count; i++) {
|
|
||||||
Wire.write(0);
|
|
||||||
Wire.write(0);
|
|
||||||
Wire.write(values[i] & 0xFF);
|
|
||||||
Wire.write(values[i] >> 8);
|
|
||||||
}
|
|
||||||
Wire.endTransmission();
|
|
||||||
}
|
|
||||||
|
|
||||||
void activate() {
|
void activate() {
|
||||||
if (is_active) return;
|
if (is_active) return;
|
||||||
control_state = SERVO_CONTROL_STATE::ANGLE;
|
control_state = SERVO_CONTROL_STATE::ANGLE;
|
||||||
@@ -113,7 +100,7 @@ class ServoController : public StatefulService<ServoSettings> {
|
|||||||
void calculatePWM() {
|
void calculatePWM() {
|
||||||
uint16_t pwms[12];
|
uint16_t pwms[12];
|
||||||
for (int i = 0; i < 12; i++) {
|
for (int i = 0; i < 12; i++) {
|
||||||
angles[i] = lerp(angles[i], target_angles[i], 0.1);
|
angles[i] = lerp(angles[i], target_angles[i], 0.05);
|
||||||
auto &servo = state().servos[i];
|
auto &servo = state().servos[i];
|
||||||
float angle = servo.direction * angles[i] + servo.centerAngle;
|
float angle = servo.direction * angles[i] + servo.centerAngle;
|
||||||
uint16_t pwm = angle * servo.conversion + servo.centerPwm;
|
uint16_t pwm = angle * servo.conversion + servo.centerPwm;
|
||||||
@@ -123,7 +110,7 @@ class ServoController : public StatefulService<ServoSettings> {
|
|||||||
}
|
}
|
||||||
pwms[i] = pwm;
|
pwms[i] = pwm;
|
||||||
}
|
}
|
||||||
writeMany(12, pwms);
|
_pca.setMultiplePWM(pwms, 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateServoState() {
|
void updateServoState() {
|
||||||
|
|||||||
+1
-1
@@ -109,7 +109,7 @@ lib_deps =
|
|||||||
adafruit/Adafruit SSD1306@^2.5.7
|
adafruit/Adafruit SSD1306@^2.5.7
|
||||||
adafruit/Adafruit GFX Library@^1.11.5
|
adafruit/Adafruit GFX Library@^1.11.5
|
||||||
adafruit/Adafruit BusIO@^1.9.3
|
adafruit/Adafruit BusIO@^1.9.3
|
||||||
adafruit/Adafruit PWM Servo Driver Library@^2.4.1
|
https://github.com/runeharlyk/Adafruit-PWM-Servo-Driver-Library.git
|
||||||
adafruit/Adafruit ST7735 and ST7789 Library@^1.10.4
|
adafruit/Adafruit ST7735 and ST7789 Library@^1.10.4
|
||||||
adafruit/Adafruit HMC5883 Unified@^1.2.3
|
adafruit/Adafruit HMC5883 Unified@^1.2.3
|
||||||
adafruit/Adafruit BMP085 Unified@^1.1.3
|
adafruit/Adafruit BMP085 Unified@^1.1.3
|
||||||
|
|||||||
Reference in New Issue
Block a user