Exemplo n.º 1
0
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

}
Exemplo n.º 2
0
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

}
Exemplo n.º 3
0
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)

}