func (m *ChannelEmulator) InitPins() { m.isInitialized = true totalpins := m.InPinCount() + m.OutPinCount() m.Pins = make(map[string]chipset.PinInfo, totalpins) m.PinNames = make(map[int]string, totalpins) // b := [...]string{"Penn", "Teller"} strlist := [4]string{"symbolIn", "symbolOut"} for i := 0; i < totalpins; i++ { m.PinNames[i] = strlist[i] } for i := 0; i < totalpins; i++ { var pinfo chipset.PinInfo // pinfo.CreateComplex128Channel() pinfo.Name = m.PinNames[i] if i < m.InPinCount() { pinfo.InputPin = true } else { pinfo.InputPin = false } m.Pins[m.PinNames[i]] = pinfo } testcch := gocomm.NewComplex128Channel() var dummypin chipset.PinInfo /// all Input Pins dummypin = m.Pins["symbolIn"] dummypin.Id = 0 dummypin.DataType = reflect.TypeOf(testcch) m.Pins["symbolIn"] = dummypin /// All output pins dummypin = m.Pins["symbolOut"] dummypin.Id = 1 dummypin.SourceName = "fadingchannel/awgn" dummypin.DataType = reflect.TypeOf(testcch) dummypin.CreateComplex128Channel() m.Pins["symbolOut"] = dummypin }
func (m *BitSource) InitPins() { m.isInitialized = true totalpins := m.InPinCount() + m.OutPinCount() m.Pins = make(map[string]chipset.PinInfo, totalpins) m.PinNames = make(map[int]string, totalpins) // b := [...]string{"Penn", "Teller"} strlist := [1]string{"bitOut"} for i := 0; i < totalpins; i++ { m.PinNames[i] = strlist[i] } for i := 0; i < totalpins; i++ { var pinfo chipset.PinInfo // pinfo.CreateComplex128Channel() pinfo.Name = m.PinNames[i] if i < m.InPinCount() { pinfo.InputPin = true } else { pinfo.InputPin = false } m.Pins[m.PinNames[i]] = pinfo } testch := gocomm.NewBitChannel() var dummypin chipset.PinInfo /// All output pins dummypin = m.Pins["bitOut"] dummypin.Id = 0 dummypin.SourceName = "genbit" dummypin.Desc = "Output Pin where bits are written" dummypin.DataType = reflect.TypeOf(testch) dummypin.CreateBitChannel() m.Pins["bitOut"] = dummypin }
func (m *Modem) InitPins() { m.isInitialized = true totalpins := m.InPinCount() + m.OutPinCount() m.Pins = make(map[string]chipset.PinInfo, totalpins) m.PinNames = make(map[int]string, totalpins) // b := [...]string{"Penn", "Teller"} strlist := [4]string{"bitIn", "symbolIn", "symbolOut", "bitOut"} for i := 0; i < totalpins; i++ { m.PinNames[i] = strlist[i] } for i := 0; i < totalpins; i++ { var pinfo chipset.PinInfo // pinfo.CreateComplex128Channel() pinfo.Name = m.PinNames[i] pinfo.Id = i if i < m.InPinCount() { pinfo.InputPin = true } else { pinfo.InputPin = false } m.Pins[m.PinNames[i]] = pinfo } // testcch := gocomm.NewComplex128Channel() // testch := gocomm.NewBitChannel() var dummypin chipset.PinInfo /// all Input Pins dummypin = m.Pins["symbolIn"] dummypin.Id = 1 // dummypin.DataType = reflect.TypeOf(testcch) dummypin.DataType = reflect.TypeOf((*gocomm.Complex128Channel)(nil)).Elem() m.Pins["symbolIn"] = dummypin dummypin = m.Pins["bitIn"] dummypin.Id = 0 // dummypin.DataType = reflect.TypeOf(testch) dummypin.DataType = reflect.TypeOf((*gocomm.BitChannel)(nil)).Elem() m.Pins["bitIn"] = dummypin /// /// All output pins dummypin = m.Pins["symbolOut"] dummypin.Id = 2 // dummypin.DataType = reflect.TypeOf(testcch) dummypin.DataType = reflect.TypeOf((*gocomm.Complex128Channel)(nil)).Elem() dummypin.CreateChannel() dummypin.SourceName = "modulate" m.Pins["symbolOut"] = dummypin // fmt.Printf("\n %v : PinO : %v , Channel : %v", m.modetype(), m.Pins["symbolOut"].Name, m.Pins["symbolOut"].Channel) dummypin = m.Pins["bitOut"] dummypin.Id = 3 dummypin.SourceName = "demodulate" dummypin.DataType = reflect.TypeOf((*gocomm.Complex128Channel)(nil)).Elem() // dummypin.DataType = reflect.TypeOf(testcch) // dummypin.CreateComplex128Channel() dummypin.CreateChannel() m.Pins["bitOut"] = dummypin // fmt.Printf("\n %v : PinO : %v , Channel : %v", m.modetype(), m.Pins["bitOut"].Name, m.Pins["bitOut"].Channel) }