types

package
v0.250122.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2025 License: CC0-1.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInterrupted = fmt.Errorf("scheduler interrupted, ignore like EPIPE")

Functions

This section is empty.

Types

type DeviceOfflineError

type DeviceOfflineError struct {
	Device Devicer
}

func (DeviceOfflineError) Error

func (oe DeviceOfflineError) Error() string

type Devicer

type Devicer interface {
	Name() string
}

type Event

type Event struct {
	Input  InputEvent
	Amount currency.Amount
	Kind   EventKind
}

type EventKind

type EventKind uint8
const (
	EventInvalid EventKind = iota
	EventInput
	EventMoneyPreCredit
	EventMoneyCredit
	EventTime
	EventLock
	EventService
	EventStop
	EventFrontLock
	EventUiTimerStop
	EventBroken
	EventAccept
)

type InputEvent

type InputEvent struct {
	Source string
	Key    InputKey
	Up     bool
}

func (*InputEvent) IsDigit

func (e *InputEvent) IsDigit() bool

func (*InputEvent) IsDot

func (e *InputEvent) IsDot() bool

func (*InputEvent) IsTuneKey added in v0.230424.2

func (e *InputEvent) IsTuneKey() bool

func (*InputEvent) IsZero

func (e *InputEvent) IsZero() bool

type InputKey

type InputKey uint16

type Scheduler

type Scheduler interface {
	// Schedule(context.Context, tele_api.Priority, TaskFunc) <-chan error
	ScheduleSync(context.Context, TaskFunc) error
}

type TaskFunc

type TaskFunc = func(context.Context) error

type UIer

type UIer interface {
	Loop(context.Context)
	// FrontSelectShowZero(context.Context)
	GetUiState() uint32
	CreateEvent(EventKind)
	Scheduler
}

type UiState added in v0.230424.2

type UiState uint32
const (
	StateDefault UiState = iota

	StateBoot   // 1 t=onstart +onstartOk=FrontHello +onstartError+retry=Boot +retryMax=Broken
	StateBroken // 2 t=tele/input +inputService=ServiceBegin
	StateLocked // 3 t=tele

	StateFrontBegin   // 4 t=checkVariables +=FrontHello
	StateFrontSelect  // 5 t=input/money/timeout +inputService=ServiceBegin +input=... +money=... +inputAccept=FrontAccept +timeout=FrontTimeout
	StatePrepare      // 6
	StateFrontTune    // 7 t=input/money/timeout +inputTune=FrontTune ->FrontSelect
	StateFrontAccept  // 8 t=engine.Exec(Item) +OK=FrontEnd +err=Broken
	StateFrontTimeout // 9 t=saveMoney ->FrontEnd
	StateFrontEnd     // 10 ->FrontBegin

	StateServiceBegin     // 11 t=input/timeout ->ServiceAuth
	StateServiceAuth      // 12 +inputAccept+OK=ServiceMenu
	StateServiceMenu      // 13
	StateServiceInventory // 14
	StateServiceTest
	StateServiceReboot
	StateServiceNetwork
	StateServiceMoneyLoad
	StateServiceReport
	StateServiceEnd // 20 +askReport=ServiceReport ->FrontBegin

	StateStop // 21

	StateFrontLock

	StateOnStart

	StateDoesNotChange
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL