From ba1b18febe611befe13e7ad7e593704f484aa229 Mon Sep 17 00:00:00 2001 From: mincomk Date: Thu, 12 Jun 2025 16:07:33 +0900 Subject: [PATCH] feat: error wrap callback --- package.json | 2 +- src/pid.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2e14916..5268b8f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "computercraft-mutil", - "version": "1.0.8", + "version": "1.0.9", "description": "", "license": "ISC", "author": "", diff --git a/src/pid.ts b/src/pid.ts index f885bf3..6980cdf 100644 --- a/src/pid.ts +++ b/src/pid.ts @@ -2,6 +2,7 @@ export interface PIDParameters { kP: number; kI: number; kD: number; + errorWrap?: (error: number) => number; } export type PIDReport = { @@ -44,7 +45,11 @@ export class PID { public update(measuredValue: number): number { const currentTime = os.epoch("utc"); - const error = this.setpoint - measuredValue; + + const rawError = this.setpoint - measuredValue; + const error = this.params.errorWrap + ? this.params.errorWrap(rawError) + : rawError; let deltaTime = 0; if (this.lastTime !== null) {