Modalità automatica

Quando si utilizza la modalità automatica ci sono molteplici oggetti che vengono coinvolti.

Oggetti di basso livello

Questi oggetti sono vincolati alle potenzialità del hardware, e sono di due categorie: ingresso (input) e uscita (output).

Questa è una lista di oggetti di basso livello direttamente coinvolti:

  • sensori
  • deviatoi
  • segnali
  • decoder delle locomotive

Oggetti di alto livello

Gli oggetti di alto livello sfruttano gli oggetto di basso livello per ottenere informazioni dal tracciato e controllarlo.

Questa è una lista dei principali oggetti di alto livello:

  • locomotive
  • blocchi

La libreria LcDriver

La libreria Loc Driver è il responsabile della conduzione in modalità automatica e utilizza molteplici oggetti per eseguire il proprio lavoro:

  • locomotive
  • blocchi
  • instradamenti
  • schedulazioni
  • gruppi

Blocchi

I blocchi sono interessati solo dagli eventi dei sensori impostati in fase di definizione degli instradamenti.
Ogni blocco si pone in ascolto per tutti i sensori definiti per se stesso. Se un sensore invia un evento ad un blocco riservato ad una locomotiva, quest'ultimo informa la locomotiva dell'evento segnalato.

Locomotive

Ogni locomotiva esegue il proprio thread.
Le locomotive sono costantemente informate dai blocchi in merito agli eventi processati dalla libreria LcDriver. LcDriver restituirà comandi alla locomotiva nel caso in cui il decoder debba modificare la velocità, il senso di marcia o qualsiasi altra funzione.

Panoramica su LcDriver


lcdriver

Punto di ingresso della libreria eseguita nel contesto del thread delle locomotive.

Eventi

Gli eventi provengono indirettamente dagli oggetti blocco degli oggetti locomotiva.

enter

L'evento enter è valutato solo si accorda con lo stato corrente della locomotiva interessata.
Se tutto risulta a posto lo stato della locomotiva viene impostato ad ENTER.

exit

in

pre2in

Stato

checkroute

enter

exit

finddest

go

idle

in

initdest

out

pause

pre2in

prewait

timer

wait

wait4event

Strumenti

actions

initialize

reserve

schedules

signals


Personal Tools