信号机2xh1测试
This commit is contained in:
parent
f7d64c1b6b
commit
dc9be681a1
@ -7,12 +7,19 @@ import (
|
||||
"joylink.club/rtsssimulation/consts"
|
||||
"joylink.club/rtsssimulation/entity"
|
||||
"joylink.club/rtsssimulation/examples/signal1/sigSys"
|
||||
"joylink.club/rtsssimulation/fi"
|
||||
"joylink.club/rtsssimulation/repository"
|
||||
"joylink.club/rtsssimulation/repository/model/proto"
|
||||
"joylink.club/rtsssimulation/sys/circuit_sys"
|
||||
"joylink.club/rtsssimulation/sys/device_sys"
|
||||
"log"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
IdSignal2XH1 = "signal1-2xh1"
|
||||
)
|
||||
|
||||
// 信号机测试
|
||||
func main() {
|
||||
proto := &proto.Repository{}
|
||||
@ -23,21 +30,41 @@ func main() {
|
||||
sim := rtss_simulation.NewSimulation(repo)
|
||||
loadEntities(sim, repo)
|
||||
sim.SetSpeed(0.1)
|
||||
sim.AddSystem(circuit_sys.NewSignal2XH1System())
|
||||
sim.AddSystem(sigSys.NewSignalDebugSystem())
|
||||
sim.AddSystem(device_sys.NewRelaySys())
|
||||
sim.AddSystem(circuit_sys.NewSignal2XH1System())
|
||||
sim.StartUp()
|
||||
//
|
||||
time.Sleep(10 * time.Second)
|
||||
time.Sleep(1 * time.Second)
|
||||
worldLog(sim, "===>>灭灯 .....")
|
||||
fi.DriveSignal2XH1Dd(sim, IdSignal2XH1, false) //灭灯
|
||||
time.Sleep(2 * time.Second)
|
||||
worldLog(sim, "===>>亮灯 .....")
|
||||
fi.DriveSignal2XH1Dd(sim, IdSignal2XH1, true) //亮灯
|
||||
time.Sleep(2 * time.Second)
|
||||
worldLog(sim, "===>>开通列车信号 .....")
|
||||
fi.DriveSignal2XH1Lx(sim, IdSignal2XH1) //开通列车信号
|
||||
time.Sleep(3 * time.Second)
|
||||
worldLog(sim, "===>>开通禁止信号 .....")
|
||||
fi.DriveSignal2XH1Non(sim, IdSignal2XH1) //开通禁止信号
|
||||
//
|
||||
time.Sleep(3 * time.Second)
|
||||
sim.Close()
|
||||
}
|
||||
func worldLog(w ecs.World, logInfo string) {
|
||||
ecs.Request(w, func() any {
|
||||
log.Println(logInfo)
|
||||
return nil
|
||||
})
|
||||
}
|
||||
func addProtoSignal2XH1(r *proto.Repository) {
|
||||
//相关继电器
|
||||
r.Relays = append(r.Relays, &proto.Relay{Id: "2xh1-ddj", Code: consts.SIGNAL_DDJ})
|
||||
r.Relays = append(r.Relays, &proto.Relay{Id: "2xh1-dj", Code: consts.SIGNAL_DJ})
|
||||
r.Relays = append(r.Relays, &proto.Relay{Id: "2xh1-lxj", Code: consts.SIGNAL_LXJ})
|
||||
r.Relays = append(r.Relays, &proto.Relay{Id: "2xh1-ddj", Code: consts.SIGNAL_DDJ, Model: proto.Relay_JWXC_1700})
|
||||
r.Relays = append(r.Relays, &proto.Relay{Id: "2xh1-dj", Code: consts.SIGNAL_DJ, Model: proto.Relay_JZXC_H18})
|
||||
r.Relays = append(r.Relays, &proto.Relay{Id: "2xh1-lxj", Code: consts.SIGNAL_LXJ, Model: proto.Relay_JWXC_1700})
|
||||
//
|
||||
signal := &proto.Signal{}
|
||||
signal.Id = "signal1-2xh1"
|
||||
signal.Id = IdSignal2XH1
|
||||
signal.Km = &proto.Kilometer{}
|
||||
//
|
||||
group := &proto.ElectronicComponentGroup{Code: consts.SIGNAL_2XH1, ComponentIds: []string{"2xh1-ddj", "2xh1-dj", "2xh1-lxj"}}
|
||||
|
@ -19,8 +19,12 @@ func NewSignalDebugSystem() *SignalDebugSystem {
|
||||
func (s *SignalDebugSystem) Update(w ecs.World) {
|
||||
s.query.Each(w, func(entry *ecs.Entry) {
|
||||
uid := component.UidType.Get(entry)
|
||||
//state := component.Signal2XH1ElectronicType.Get(entry)
|
||||
state := component.Signal2XH1ElectronicType.Get(entry)
|
||||
filament := component.Signal2XH1FilamentType.Get(entry)
|
||||
log.Println("===>> uid = ", uid.Id, " 绿灯 = ", filament.L, " 红灯 = ", filament.H)
|
||||
//
|
||||
ddj := component.BitStateType.Get(state.Z2XH1_DDJ)
|
||||
lxj := component.BitStateType.Get(state.Z2XH1_LXJ)
|
||||
//
|
||||
log.Printf("===>> uid = %s ddj = %t lxj = %t , 绿灯 = %t 红灯 = %t,\n", uid.Id, ddj.Val, lxj.Val, filament.L, filament.H)
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user