🎓 Expand servo buffers to Int16

This commit is contained in:
Rune Harlyk
2023-08-07 22:17:08 +02:00
parent 4282055be0
commit 6017051324
4 changed files with 7 additions and 7 deletions
+2 -2
View File
@@ -37,8 +37,8 @@ let canvas: HTMLCanvasElement, streamCanvas: HTMLCanvasElement, stream: HTMLImag
let context: CanvasRenderingContext2D, texture: CanvasTexture
let modelAngles:number[] | Int8Array = new Array(12).fill(0)
let modelTargetAngles:number[] | Int8Array = new Array(12).fill(0)
let modelAngles:number[] | Int16Array = new Array(12).fill(0)
let modelTargetAngles:number[] | Int16Array = new Array(12).fill(0)
let modelBodyAngles:EulerAngle = {omega: 0, phi: 0, psi: 0 }
let modelTargeBodyAngles:EulerAngle = {omega: 0, phi: 0, psi: 0 }
+2 -2
View File
@@ -6,7 +6,7 @@ export const isConnected = writable(false)
export const dataBuffer = writable(new Float32Array(13))
export const servoBuffer:Writable<Int8Array|number[]> = writable(new Int8Array(12))
export const servoBuffer:Writable<Int16Array|number[]> = writable(new Int16Array(12))
export const data = writable();
@@ -28,7 +28,7 @@ export const connect = (url:string) => {
const buffer = []
buffer[0] = 1
buffer.push(...data)
_socket.send(new Int8Array(buffer))
_socket.send(new Int16Array(buffer))
})
}
+2 -2
View File
@@ -24,7 +24,7 @@ class Servo : public Adafruit_PWMServoDriver {
Servo() : Adafruit_PWMServoDriver() {}
void SetAngles(int8_t* angle) {
void SetAngles(int16_t* angle) {
for(size_t i = 0; i < 12; i++)
servo_angles[i] = angle[i];
updateServos();
@@ -108,7 +108,7 @@ class Servo : public Adafruit_PWMServoDriver {
position_t spot_position = {.omega=0,.phi=0,.psi=0,.xm=-40,.ym=-170, .zm=0, .set=1};
position_t goal_position = {0,};
int8_t servo_angles[12]{0,};
int16_t servo_angles[12]{0,};
};
extern DRAM_ATTR std::unique_ptr<Servo> g_ptrServo;
+1 -1
View File
@@ -321,7 +321,7 @@ void handleWebSocketBuffer(uint8_t* data) {
if(data[0] == 0) g_ptrServo->setBody(data[1], data[2], data[3], data[4], data[5], data[6]);
else if(data[0] == 1) {
log_i("About to update all servos");
int8_t* angles = (int8_t*)data+1;
int16_t* angles = (int16_t*)data+1;
g_ptrServo->SetAngles(angles);
}