add debugging stuff

This commit is contained in:
soypat
2023-05-22 00:41:59 -03:00
parent 3b92ee60dc
commit 06c18d75cd
8 changed files with 456 additions and 49 deletions
+64
View File
@@ -0,0 +1,64 @@
//go:build tinygo
package main
import (
"context"
"io"
"machine"
"time"
"github.com/soypat/lora"
"github.com/soypat/lora/sx127x"
)
var (
SX127X_SPI = machine.SPI0
)
const (
SX127X_PIN_RST = machine.GP16
// SPI definition for SX127x
SX127X_PIN_SCK = machine.GP2
SX127X_PIN_TX = machine.GP3
SX127X_PIN_RX = machine.GP4
SX127X_PIN_CS = machine.GP5
)
func main() {
time.Sleep(500 * time.Millisecond)
defer println("program end")
SX127X_PIN_RST.Configure(machine.PinConfig{Mode: machine.PinOutput})
SX127X_PIN_CS.Configure(machine.PinConfig{Mode: machine.PinOutput})
err := SX127X_SPI.Configure(machine.SPIConfig{
Frequency: 100000,
SCK: SX127X_PIN_SCK,
SDO: SX127X_PIN_TX,
SDI: SX127X_PIN_RX,
})
if err != nil {
panic(err.Error())
}
dev := sx127x.NewLoRa(SX127X_SPI, SX127X_PIN_CS.Set, SX127X_PIN_RST.Set)
// Replace with your frequency:
err = dev.Configure(sx127x.DefaultConfig(lora.Freq433_0M))
if err != nil {
panic(err.Error())
}
println("config success; receiving messages")
var rx [256]byte
// This blocks forever reading messages received.
ctx := context.Background()
err = dev.RxContinuous(ctx, func(r io.Reader) (_ error) {
n, err := r.Read(rx[:])
if err != nil {
return err
}
println("received LoRa:", string(rx[:n]))
return nil
})
if err != nil {
panic(err)
}
}
+1 -19
View File
@@ -40,16 +40,7 @@ func main() {
panic(err.Error())
}
dev := sx127x.NewLoRa(SX127X_SPI, SX127X_PIN_CS.Set, SX127X_PIN_RST.Set)
err = dev.Configure(lora.Config{
Bandwidth: lora.BW125k,
Frequency: lora.Freq433_0M,
CodingRate: lora.CR4_5,
SpreadFactor: lora.SF7,
HeaderType: lora.HeaderExplicit,
TxPower: 0,
CRC: true,
PreambleLength: 12,
})
err = dev.Configure(sx127x.DefaultConfig(lora.Freq433_0M))
if err != nil {
panic(err.Error())
}
@@ -57,7 +48,6 @@ func main() {
randomU32, _ := dev.RandomU32()
myName := fmt.Sprintf("user-%x", randomU32%0xffff)
println("config success; sending messages as ", myName)
var rx [256]byte
packet := []byte(myName + " says hello!")
for {
err = dev.Tx(packet)
@@ -67,13 +57,5 @@ func main() {
print(".")
}
time.Sleep(2 * time.Second)
for i := 0; i < 6; i++ {
n, err := dev.RxSingle(rx[:])
if err != nil {
println("rx error:", err.Error())
continue
}
println("got message: ", string(rx[:n]))
}
}
}