log on invert

This commit is contained in:
legop3
2025-12-07 20:50:49 -05:00
parent d857668109
commit 115ecad9a6
4 changed files with 9 additions and 2 deletions
Vendored
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -42,7 +42,7 @@ func NewCameraServo(cfg CameraServoConfig, logger *log.Logger) (*CameraServo, er
rpio.Close() rpio.Close()
return nil, err return nil, err
} }
logger.Printf("camera servo initialized on GPIO %d (%.1f..%.1f deg)", cfg.Pin, cfg.MinAngle, cfg.MaxAngle) logger.Printf("camera servo initialized on GPIO %d (%.1f..%.1f deg, %d..%d us, invert=%v)", cfg.Pin, cfg.MinAngle, cfg.MaxAngle, cfg.MinPulseUs, cfg.MaxPulseUs, cfg.Invert)
return servo, nil return servo, nil
} }
+8 -1
View File
@@ -249,9 +249,16 @@ func validateServoConfig(cfg *CameraServoConfig) error {
if cfg.CycleLen <= 0 { if cfg.CycleLen <= 0 {
return errors.New("cycleLen must be > 0") return errors.New("cycleLen must be > 0")
} }
if cfg.MinPulseUs <= 0 || cfg.MaxPulseUs <= 0 || cfg.MinPulseUs >= cfg.MaxPulseUs { if cfg.MinPulseUs <= 0 || cfg.MaxPulseUs <= 0 {
return errors.New("minPulseUs/maxPulseUs invalid") return errors.New("minPulseUs/maxPulseUs invalid")
} }
if cfg.MinPulseUs == cfg.MaxPulseUs {
return errors.New("minPulseUs/maxPulseUs cannot be equal")
}
if cfg.MinPulseUs > cfg.MaxPulseUs {
cfg.MinPulseUs, cfg.MaxPulseUs = cfg.MaxPulseUs, cfg.MinPulseUs
cfg.Invert = !cfg.Invert
}
if cfg.MinAngle >= cfg.MaxAngle { if cfg.MinAngle >= cfg.MaxAngle {
return errors.New("minAngle must be less than maxAngle") return errors.New("minAngle must be less than maxAngle")
} }