added some checks
This commit is contained in:
parent
c5c9e664f3
commit
912ff0fba0
1 changed files with 62 additions and 57 deletions
119
main.go
119
main.go
|
@ -56,24 +56,27 @@ func main() {
|
|||
if err != nil {
|
||||
log.Panic(err)
|
||||
}
|
||||
go func() {
|
||||
d, err := consumeCh.Consume("input", "", false, false, false, false, nil)
|
||||
if err != nil {
|
||||
log.Panic(err)
|
||||
}
|
||||
// Only if we allow TX, we process Messages
|
||||
if conf.TXFreq != 0 {
|
||||
go func() {
|
||||
d, err := consumeCh.Consume("input", "", false, false, false, false, nil)
|
||||
if err != nil {
|
||||
log.Panic(err)
|
||||
}
|
||||
|
||||
for msg := range d {
|
||||
if msg.Headers["ric"] == nil { continue }
|
||||
log.Printf("ric: %s", string(msg.Headers["ric"].(string)))
|
||||
log.Printf("msg: %s", string(msg.Body))
|
||||
/*queueMessage(&pocsagencode.Message {
|
||||
Addr: uint32(msg.Headers["ric"].(int)),
|
||||
Content: string(msg.Body),
|
||||
IsNumeric: (msg.Headers["numeric"] != nil),
|
||||
})*/
|
||||
msg.Ack(true)
|
||||
}
|
||||
}()
|
||||
for msg := range d {
|
||||
if msg.Headers["ric"] == nil { continue }
|
||||
log.Printf("ric: %s", string(msg.Headers["ric"].(string)))
|
||||
log.Printf("msg: %s", string(msg.Body))
|
||||
/*queueMessage(&pocsagencode.Message {
|
||||
Addr: uint32(msg.Headers["ric"].(int)),
|
||||
Content: string(msg.Body),
|
||||
IsNumeric: (msg.Headers["numeric"] != nil),
|
||||
})*/
|
||||
msg.Ack(true)
|
||||
}
|
||||
}()
|
||||
}
|
||||
/***** RABBITMQ END**/
|
||||
|
||||
if rfm, err = rfm69.NewDevice(true); err != nil {
|
||||
|
@ -81,10 +84,12 @@ func main() {
|
|||
}
|
||||
|
||||
rfm.FreqOffset = conf.FreqOffset
|
||||
rfm.TXBaud = conf.TXBaud
|
||||
rfm.RXBaud = conf.RXBaud
|
||||
|
||||
rfm.TXFreq = conf.TXFreq
|
||||
rfm.TXBaud = conf.TXBaud
|
||||
|
||||
rfm.RXFreq = conf.RXFreq
|
||||
rfm.RXBaud = conf.RXBaud
|
||||
|
||||
if err = rfm.SetModeAndWait(rfm69.RF_OPMODE_STANDBY); err != nil {
|
||||
panic(err)
|
||||
|
@ -92,14 +97,13 @@ func main() {
|
|||
if err = rfm.SetInvert(conf.InvertBits); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
//rfm.SetFrequency(466238000, 25)
|
||||
|
||||
log.Println("Config")
|
||||
|
||||
log.Println("Running with following Config:")
|
||||
log.Println("AMQP Server: ", conf.AMQPURL)
|
||||
log.Println("Frequency Offset(Correction): ", conf.FreqOffset, "Hz")
|
||||
log.Println("Transmit Freq: ", conf.TXFreq, "Hz @", conf.TXBaud, "bps")
|
||||
log.Println("Receive Freq: ", conf.RXFreq, "Hz @", conf.RXBaud, "bps")
|
||||
|
||||
/*
|
||||
messages := []*pocsagencode.Message{
|
||||
&pocsagencode.Message{133701, "Hello 1234567890!", false},
|
||||
//&pocsagencode.Message{133702, "Hello d2efa947-7618-440c-8f79-fab32762af8ed2bb9c62-007e-4b2c-93d5-3124a247032eefe71db4-ef8d-46fb-9cf8-dac70db000bc12067966-da61-447c-a9ce-c0c24be17df5 Pager!", false},
|
||||
|
@ -121,47 +125,48 @@ func main() {
|
|||
}
|
||||
rfm.Send(data)
|
||||
}
|
||||
|
||||
rfm.OnReceive = func(stream *rfm69.RXStream) {
|
||||
rssiMeasurementArray := make([]int, 5)
|
||||
rssiStart := -0
|
||||
for {
|
||||
select {
|
||||
case rssi := <-stream.RSSI:
|
||||
//fmt.Printf("RSSI:%d\n", rssiStart - rssi)
|
||||
if (stream.ByteCounter < 20) {
|
||||
rssiMeasurementArray[int(stream.ByteCounter / 4)] = rssi
|
||||
rssiStart = 0
|
||||
for i := 0; i<5; i++ {
|
||||
rssiStart += rssiMeasurementArray[i]
|
||||
*/
|
||||
if conf.RXFreq != 0 {
|
||||
rfm.OnReceive = func(stream *rfm69.RXStream) {
|
||||
rssiMeasurementArray := make([]int, 5)
|
||||
rssiStart := -0
|
||||
for {
|
||||
select {
|
||||
case rssi := <-stream.RSSI:
|
||||
//fmt.Printf("RSSI:%d\n", rssiStart - rssi)
|
||||
if (stream.ByteCounter < 20) {
|
||||
rssiMeasurementArray[int(stream.ByteCounter / 4)] = rssi
|
||||
rssiStart = 0
|
||||
for i := 0; i<5; i++ {
|
||||
rssiStart += rssiMeasurementArray[i]
|
||||
}
|
||||
rssiStart = rssiStart / 5
|
||||
} else {
|
||||
if rssiStart - rssi > 20 {
|
||||
stream.Cancel = true
|
||||
}
|
||||
if stream.ByteCounter > 1024e2 {
|
||||
stream.Cancel = true
|
||||
}
|
||||
}
|
||||
rssiStart = rssiStart / 5
|
||||
} else {
|
||||
if rssiStart - rssi > 20 {
|
||||
stream.Cancel = true
|
||||
}
|
||||
if stream.ByteCounter > 1024e2 {
|
||||
stream.Cancel = true
|
||||
break
|
||||
/*case byte := <-stream.ByteStream:
|
||||
fmt.Printf("%x", byte)
|
||||
break*/
|
||||
case <-stream.Process:
|
||||
log.Println("--PROCESS=", len(stream.ByteStream), " bytes--")
|
||||
for i:= 0; i < len(stream.ByteStream); i++ {
|
||||
fmt.Printf("%x", <-stream.ByteStream)
|
||||
}
|
||||
fmt.Print("\n")
|
||||
log.Println("--END--")
|
||||
break
|
||||
}
|
||||
break
|
||||
/*case byte := <-stream.ByteStream:
|
||||
fmt.Printf("%x", byte)
|
||||
break*/
|
||||
case <-stream.Process:
|
||||
log.Println("--PROCESS=", len(stream.ByteStream), " bytes--")
|
||||
for i:= 0; i < len(stream.ByteStream); i++ {
|
||||
fmt.Printf("%x", <-stream.ByteStream)
|
||||
}
|
||||
fmt.Print("\n")
|
||||
log.Println("--END--")
|
||||
break
|
||||
}
|
||||
}
|
||||
rfm.PrepareRX()
|
||||
}
|
||||
|
||||
rfm.PrepareRX()
|
||||
|
||||
rfm.Loop()
|
||||
log.Println("Done")
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue