Documentation
¶
Index ¶
- Constants
- func AddCommonRes(item IObject) error
- func AddScalarCallback[T any](s *ScalarCallbackManager, scalar IScalar[T], cb WatchCallback[T]) error
- func NewRangeScalar[T rangeScalarType](name, desp string, min, max, pos T) *rangeScalar[T]
- func RegisterCommonUpdateResourceCallback(f updateScalarCallback) error
- func RemoveAllScalarCallbacks(s *ScalarCallbackManager)
- func SetCommonDelegate(d *ResDelegate) error
- func UpdatePosition(t TransitionMatrix, p Position) error
- func UpdateRotation(t TransitionMatrix, r RotationMatrix) error
- type Axis
- func NewAxis[T rangeScalarType](name, desp string, min, max, pos T) *Axis[T]
- func NewAxisWithCallbacks[T rangeScalarType](name, desp string, min, max, pos T, enableCb enableCallback, ...) *Axis[T]
- func NewDependentAxis[T rangeScalarType](name, desp string, min, max, pos T, lock *sync.Mutex) *Axis[T]
- func NewDependentAxisWithCallbacks[T rangeScalarType](name, desp string, min, max, pos T, lock *sync.Mutex, enableCb enableCallback, ...) *Axis[T]
- func NewDependentTestAxis[T rangeScalarType](name, desp string, min, max, pos T, lock *sync.Mutex) *Axis[T]
- func NewTestAxis[T rangeScalarType](name, desp string, min, max, pos T) *Axis[T]
- func (a *Axis[T]) Enable(val bool) error
- func (a *Axis[T]) Enabled() bool
- func (r Axis) GetMaxPos() T
- func (r Axis) GetMinPos() T
- func (r Axis) GetPos() T
- func (a *Axis[T]) GoHome(positiveDir bool) error
- func (a *Axis[T]) IsHoming() bool
- func (a *Axis[T]) IsRunning() bool
- func (a *Axis[T]) IsRunningNegative() bool
- func (a *Axis[T]) IsRunningPositive() bool
- func (a *Axis[T]) MaxLimitTriggered() bool
- func (a *Axis[T]) MinLimitTriggered() bool
- func (a *Axis[T]) MoveAbsolute(pos T) error
- func (a *Axis[T]) MoveRelative(inc T) error
- func (a *Axis[T]) SetAutoMoveFlagPolocy(autoStart, autoStop bool)
- func (a *Axis[T]) StartMove(dirIsPositive bool)
- func (a *Axis[T]) Stop() error
- func (a *Axis[T]) StopMove()
- func (a *Axis[T]) UpdateMaxLimit(val bool)
- func (a *Axis[T]) UpdateMinLimit(val bool)
- type DoubleAxis
- type FloatAxis
- type IAxis
- type IMultiAxesMachine
- type IObject
- type IRangeScalar
- type IResProvider
- type IResStorage
- type IScalar
- type IScalarHelper
- type IWritableScalar
- type IWritableScalarHelper
- type IntAxis
- type MultiAxesMachine
- func (m *MultiAxesMachine) GetAxesCnt() int
- func (m *MultiAxesMachine) GetAxesPosition() []float64
- func (m *MultiAxesMachine) GetAxesPositionScalar() IWritableScalar[[]float64]
- func (m *MultiAxesMachine) GetAxis(i int) IAxis[float64]
- func (m *MultiAxesMachine) GetBasePosition() Position
- func (m *MultiAxesMachine) GetBaseRotation() RotationMatrix
- func (m *MultiAxesMachine) GetBaseTransition() TransitionMatrix
- func (m *MultiAxesMachine) GetEndPosition() Position
- func (m *MultiAxesMachine) GetEndPositionScalar() IWritableScalar[Position]
- func (m *MultiAxesMachine) GetEndRotation() RotationMatrix
- func (m *MultiAxesMachine) GetEndRotationScalar() IWritableScalar[RotationMatrix]
- func (m *MultiAxesMachine) GetEndTransition() TransitionMatrix
- func (m *MultiAxesMachine) GetEndTransitionScalar() IWritableScalar[TransitionMatrix]
- func (m *MultiAxesMachine) SetAxesPosition(arr []float64) error
- func (m *MultiAxesMachine) SetBasePosition(p Position)
- func (m *MultiAxesMachine) SetBaseRotation(r RotationMatrix)
- func (m *MultiAxesMachine) SetBaseTransition(t TransitionMatrix)
- func (m *MultiAxesMachine) Stop() error
- func (m *MultiAxesMachine) UpdateAxesPositionList(arr []float64) error
- func (m *MultiAxesMachine) UpdateAxisPosition(index int, pos float64) error
- type Object
- type Position
- type ResDelegate
- type ResManager
- type RotationMatrix
- type ScalarCallbackManager
- type ScalarType
- type TransitionMatrix
- type ValueWrapper
- type WatchCallback
- type WriteCallback
Constants ¶
View Source
const (
InvalidCallbackIndex = -1
)
Variables ¶
This section is empty.
Functions ¶
func AddCommonRes ¶
func AddScalarCallback ¶ added in v0.3.0
func AddScalarCallback[T any](s *ScalarCallbackManager, scalar IScalar[T], cb WatchCallback[T]) error
func NewRangeScalar ¶
func NewRangeScalar[T rangeScalarType](name, desp string, min, max, pos T) *rangeScalar[T]
func RegisterCommonUpdateResourceCallback ¶ added in v0.3.0
func RegisterCommonUpdateResourceCallback(f updateScalarCallback) error
func RemoveAllScalarCallbacks ¶ added in v0.3.0
func RemoveAllScalarCallbacks(s *ScalarCallbackManager)
func SetCommonDelegate ¶
func SetCommonDelegate(d *ResDelegate) error
func UpdatePosition ¶ added in v0.3.0
func UpdatePosition(t TransitionMatrix, p Position) error
func UpdateRotation ¶ added in v0.3.0
func UpdateRotation(t TransitionMatrix, r RotationMatrix) error
Types ¶
type Axis ¶
type Axis[T rangeScalarType] struct { EnabledValue bool // should be sync callback function, when the callback finished, the real process finished EnableCb enableCallback /* These two callbacks can be sync or async callback function, but MoveAbsCb and MoveRelCb should be the same type. If they are sync functions, AutoStartMove flag and AutoStopMove flag are prefered to be true, which means the Runningxxx flags are automatically maintained. If they are async functions, AutoStartMove flag and AutoStopMove flag are prefered to be false, which means you need to maintain the Runningxxx flags by StartMove/StopMove manually. */ MoveAbsCb moveCallback[T] MoveRelCb moveCallback[T] // should be sync callback function, when the callback finished, the real process finished StopCb func() error Running bool RunningPositive bool RunningNegative bool // should be sync callback function, when the callback finished, the real process finished GoHomeCb gohomeCallback GoHomeDone bool Homing bool MaxLimit, MinLimit bool AutoStartMove bool AutoStopMove bool // contains filtered or unexported fields }
func NewAxisWithCallbacks ¶
func NewDependentAxis ¶
func NewDependentTestAxis ¶
func NewTestAxis ¶
func (*Axis[T]) IsRunningNegative ¶
func (*Axis[T]) IsRunningPositive ¶
func (*Axis[T]) MaxLimitTriggered ¶
func (*Axis[T]) MinLimitTriggered ¶
func (*Axis[T]) MoveAbsolute ¶
func (*Axis[T]) MoveRelative ¶
func (*Axis[T]) SetAutoMoveFlagPolocy ¶ added in v0.3.4
func (*Axis[T]) UpdateMaxLimit ¶
func (*Axis[T]) UpdateMinLimit ¶
type DoubleAxis ¶
type IAxis ¶
type IAxis[T rangeScalarType] interface { IRangeScalar[T] Enabled() bool Enable(bool) error MoveAbsolute(pos T) error MoveRelative(inc T) error IsRunning() bool IsHoming() bool GoHome(bool) error MaxLimitTriggered() bool MinLimitTriggered() bool IsRunningPositive() bool IsRunningNegative() bool Stop() error }
func GetAxis ¶
func GetAxis[T rangeScalarType](r IResProvider, name string) IAxis[T]
func GetCommonAxis ¶
type IMultiAxesMachine ¶ added in v0.3.0
type IMultiAxesMachine interface { IObject IResProvider GetAxesCnt() int GetAxis(i int) IAxis[float64] GetAxesPosition() []float64 SetAxesPosition([]float64) error GetAxesPositionScalar() IWritableScalar[[]float64] Stop() error GetBasePosition() Position SetBasePosition(p Position) GetBaseRotation() RotationMatrix SetBaseRotation(r RotationMatrix) GetBaseTransition() TransitionMatrix SetBaseTransition(t TransitionMatrix) GetEndPosition() Position GetEndRotation() RotationMatrix GetEndTransition() TransitionMatrix GetEndPositionScalar() IWritableScalar[Position] GetEndRotationScalar() IWritableScalar[RotationMatrix] GetEndTransitionScalar() IWritableScalar[TransitionMatrix] }
func GetCommonMultiAxesMachine ¶ added in v0.3.3
func GetCommonMultiAxesMachine(name string) IMultiAxesMachine
func GetMultiAxesMachine ¶ added in v0.3.0
func GetMultiAxesMachine(r IResProvider, name string) IMultiAxesMachine
type IRangeScalar ¶
type IRangeScalar[T rangeScalarType] interface { IObject GetPos() T GetMaxPos() T GetMinPos() T }
type IResProvider ¶ added in v0.3.2
type IResStorage ¶ added in v0.3.2
type IScalar ¶
type IScalar[T ScalarType] interface { IObject GetValue() T AddWatchCallback(WatchCallback[T]) (int, error) RemoveWatchCallback(cbIndex int) error }
只读变量接口
func GetCommonScalar ¶
func GetCommonScalar[T ScalarType](name string) IScalar[T]
func GetScalar ¶
func GetScalar[T ScalarType](r IResProvider, name string) IScalar[T]
func NewScalarWrapper ¶
func NewScalarWrapper[T ScalarType](name, desp string, s IScalar[T], read ValueWrapper[T]) IScalar[T]
type IScalarHelper ¶
type IScalarHelper[T ScalarType] interface { IScalar[T] UpdateValue(T) }
用于后台管理的scalar
type IWritableScalar ¶
type IWritableScalar[T ScalarType] interface { IScalar[T] SetValue(T) error }
可写变量接口
func GetCommonWritableScalar ¶
func GetCommonWritableScalar[T ScalarType](name string) IWritableScalar[T]
func GetWritableScalar ¶
func GetWritableScalar[T ScalarType](r IResProvider, name string) IWritableScalar[T]
func NewWritableScalarWrapper ¶
func NewWritableScalarWrapper[T ScalarType](name, desp string, s IWritableScalar[T], read, write ValueWrapper[T]) IWritableScalar[T]
type IWritableScalarHelper ¶
type IWritableScalarHelper[T ScalarType] interface { IWritableScalar[T] UpdateValue(T) SetWriteCallback(WriteCallback[T]) error }
func NewWritableScalar ¶
func NewWritableScalar[T ScalarType](name, desp string, val T) IWritableScalarHelper[T]
创建新的可写变量
type MultiAxesMachine ¶ added in v0.3.0
type MultiAxesMachine struct { Object IResProvider Res *ResManager EndPosCalcuCb func([]float64) (RotationMatrix, Position) BaseTransMat TransitionMatrix AxesPositioin IWritableScalarHelper[[]float64] EndPosition IWritableScalarHelper[Position] EndRotation IWritableScalarHelper[RotationMatrix] EndTransition IWritableScalarHelper[TransitionMatrix] StopCb func() error // contains filtered or unexported fields }
func NewMultiAxesMachine ¶ added in v0.3.0
func NewMultiAxesMachine(name, desp string, axes []*Axis[float64]) *MultiAxesMachine
func (*MultiAxesMachine) GetAxesCnt ¶ added in v0.3.0
func (m *MultiAxesMachine) GetAxesCnt() int
func (*MultiAxesMachine) GetAxesPosition ¶ added in v0.3.0
func (m *MultiAxesMachine) GetAxesPosition() []float64
func (*MultiAxesMachine) GetAxesPositionScalar ¶ added in v0.3.0
func (m *MultiAxesMachine) GetAxesPositionScalar() IWritableScalar[[]float64]
func (*MultiAxesMachine) GetAxis ¶ added in v0.3.0
func (m *MultiAxesMachine) GetAxis(i int) IAxis[float64]
func (*MultiAxesMachine) GetBasePosition ¶ added in v0.3.0
func (m *MultiAxesMachine) GetBasePosition() Position
func (*MultiAxesMachine) GetBaseRotation ¶ added in v0.3.0
func (m *MultiAxesMachine) GetBaseRotation() RotationMatrix
func (*MultiAxesMachine) GetBaseTransition ¶ added in v0.3.0
func (m *MultiAxesMachine) GetBaseTransition() TransitionMatrix
func (*MultiAxesMachine) GetEndPosition ¶ added in v0.3.0
func (m *MultiAxesMachine) GetEndPosition() Position
func (*MultiAxesMachine) GetEndPositionScalar ¶ added in v0.3.0
func (m *MultiAxesMachine) GetEndPositionScalar() IWritableScalar[Position]
func (*MultiAxesMachine) GetEndRotation ¶ added in v0.3.0
func (m *MultiAxesMachine) GetEndRotation() RotationMatrix
func (*MultiAxesMachine) GetEndRotationScalar ¶ added in v0.3.0
func (m *MultiAxesMachine) GetEndRotationScalar() IWritableScalar[RotationMatrix]
func (*MultiAxesMachine) GetEndTransition ¶ added in v0.3.0
func (m *MultiAxesMachine) GetEndTransition() TransitionMatrix
func (*MultiAxesMachine) GetEndTransitionScalar ¶ added in v0.3.0
func (m *MultiAxesMachine) GetEndTransitionScalar() IWritableScalar[TransitionMatrix]
func (*MultiAxesMachine) SetAxesPosition ¶ added in v0.3.0
func (m *MultiAxesMachine) SetAxesPosition(arr []float64) error
func (*MultiAxesMachine) SetBasePosition ¶ added in v0.3.0
func (m *MultiAxesMachine) SetBasePosition(p Position)
func (*MultiAxesMachine) SetBaseRotation ¶ added in v0.3.0
func (m *MultiAxesMachine) SetBaseRotation(r RotationMatrix)
func (*MultiAxesMachine) SetBaseTransition ¶ added in v0.3.0
func (m *MultiAxesMachine) SetBaseTransition(t TransitionMatrix)
func (*MultiAxesMachine) Stop ¶ added in v0.3.4
func (m *MultiAxesMachine) Stop() error
func (*MultiAxesMachine) UpdateAxesPositionList ¶ added in v0.3.0
func (m *MultiAxesMachine) UpdateAxesPositionList(arr []float64) error
func (*MultiAxesMachine) UpdateAxisPosition ¶ added in v0.3.0
func (m *MultiAxesMachine) UpdateAxisPosition(index int, pos float64) error
type Object ¶
type Object struct {
// contains filtered or unexported fields
}
func (Object) Description ¶
type Position ¶ added in v0.3.0
func AddPosition ¶ added in v0.3.4
func GetPosition ¶ added in v0.3.0
func GetPosition(t TransitionMatrix) (Position, error)
func NewPosition ¶ added in v0.3.0
func SubPosition ¶ added in v0.3.4
type ResDelegate ¶
type ResDelegate struct {
// contains filtered or unexported fields
}
func NewResDelegate ¶
func NewResDelegate() *ResDelegate
func (*ResDelegate) AddElement ¶
func (r *ResDelegate) AddElement(src, dst string) error
func (*ResDelegate) DeleteElement ¶
func (r *ResDelegate) DeleteElement(src string) error
func (*ResDelegate) GetElement ¶
func (r *ResDelegate) GetElement(src string) (string, bool)
func (*ResDelegate) HasElement ¶
func (r *ResDelegate) HasElement(src string) bool
func (*ResDelegate) UpdateElement ¶
func (r *ResDelegate) UpdateElement(src, dst string)
type ResManager ¶
type ResManager struct {
// contains filtered or unexported fields
}
func NewResManager ¶
func NewResManager() *ResManager
func (*ResManager) AddRes ¶ added in v0.3.2
func (r *ResManager) AddRes(item IObject) error
func (*ResManager) GetItem ¶ added in v0.3.2
func (r *ResManager) GetItem(key, name string) any
func (*ResManager) RegisterUpdateResourceCallback ¶ added in v0.3.0
func (r *ResManager) RegisterUpdateResourceCallback(f updateScalarCallback) error
func (*ResManager) SetDelegate ¶
func (r *ResManager) SetDelegate(d *ResDelegate) error
type RotationMatrix ¶ added in v0.3.0
func GetRotMatX ¶ added in v0.3.0
func GetRotMatX(theta float64) RotationMatrix
func GetRotMatY ¶ added in v0.3.0
func GetRotMatY(theta float64) RotationMatrix
func GetRotMatZ ¶ added in v0.3.0
func GetRotMatZ(theta float64) RotationMatrix
func GetRotation ¶ added in v0.3.0
func GetRotation(t TransitionMatrix) (RotationMatrix, error)
func NewRotationMatrix ¶ added in v0.3.0
func NewRotationMatrix() RotationMatrix
type ScalarCallbackManager ¶ added in v0.3.0
type ScalarCallbackManager struct {
// contains filtered or unexported fields
}
func NewScalarCallbackManager ¶ added in v0.3.0
func NewScalarCallbackManager(f updateScalarCallback) *ScalarCallbackManager
func (*ScalarCallbackManager) RemoveAllCallbacks ¶ added in v0.3.0
func (s *ScalarCallbackManager) RemoveAllCallbacks()
func (*ScalarCallbackManager) UpdateCallbacks ¶ added in v0.3.0
func (s *ScalarCallbackManager) UpdateCallbacks()
type ScalarType ¶
type ScalarType interface{}
type TransitionMatrix ¶ added in v0.3.0
func FormTransitionMatrix ¶ added in v0.3.0
func FormTransitionMatrix(r RotationMatrix, p Position) TransitionMatrix
func NewTransitionMatrix ¶ added in v0.3.0
func NewTransitionMatrix() TransitionMatrix
type ValueWrapper ¶
type ValueWrapper[T ScalarType] func(T) T
type WatchCallback ¶
type WatchCallback[T ScalarType] func(self IScalar[T], cur, last T)
type WriteCallback ¶
type WriteCallback[T ScalarType] func(self IWritableScalar[T], val T) error
Click to show internal directories.
Click to hide internal directories.