cleanup printing

This commit is contained in:
Joel Wetzell
2026-04-19 11:54:51 -05:00
parent 452669bb7f
commit 49a4731365
-35
View File
@@ -104,9 +104,7 @@ func main() {
// txDone.Store(false) // txDone.Store(false)
// println("cleaning up prior to transmit...") // println("cleaning up prior to transmit...")
// radio.ClearIrqStatus(sx126x.IRQ_ALL_MASK) // radio.ClearIrqStatus(sx126x.IRQ_ALL_MASK)
// checkStatus(radio, "ClearIrqStatus")
// radio.SetStandby(sx126x.STANDBY_RC) // radio.SetStandby(sx126x.STANDBY_RC)
// checkStatus(radio, "SetStandby")
// println("waiting 1s before transmitting...") // println("waiting 1s before transmitting...")
// time.Sleep(1000 * time.Millisecond) // time.Sleep(1000 * time.Millisecond)
// led.Set(true) // led.Set(true)
@@ -141,55 +139,22 @@ func SetupLora(radio *sx126x.Device, config lora.Config) {
chipMode, _ := radio.GetStatus() chipMode, _ := radio.GetStatus()
if chipMode != sx126x.CHIP_MODE_STBY_RC { if chipMode != sx126x.CHIP_MODE_STBY_RC {
radio.SetStandby(sx126x.STANDBY_RC) radio.SetStandby(sx126x.STANDBY_RC)
checkStatus(radio, "SetStandby")
} }
radio.ClearDeviceErrors() radio.ClearDeviceErrors()
// Clear errors, disable radio interrupts for the moment // Clear errors, disable radio interrupts for the moment
radio.SetPacketType(sx126x.PACKET_TYPE_LORA) radio.SetPacketType(sx126x.PACKET_TYPE_LORA)
checkStatus(radio, "SetPacketType")
radio.SetRfFrequency(config.Freq) radio.SetRfFrequency(config.Freq)
checkStatus(radio, "SetRfFrequency")
radio.SetModulationParamsLoRa(spreadingFactor(config.Sf), bandwidth(config.Bw), codingRate(config.Cr), config.Ldr) radio.SetModulationParamsLoRa(spreadingFactor(config.Sf), bandwidth(config.Bw), codingRate(config.Cr), config.Ldr)
checkStatus(radio, "SetModulationParamsLoRa")
radio.SetPaConfig(0x04, 0x07, sx126x.DEVICE_SEL_SX1262) radio.SetPaConfig(0x04, 0x07, sx126x.DEVICE_SEL_SX1262)
checkStatus(radio, "SetPaConfig")
radio.SetTxParams(config.LoraTxPowerDBm, sx126x.RADIO_RAMP_200U) radio.SetTxParams(config.LoraTxPowerDBm, sx126x.RADIO_RAMP_200U)
checkStatus(radio, "SetTxParams")
var syncWord [2]uint8 var syncWord [2]uint8
syncWord[0] = uint8(config.SyncWord >> 8) syncWord[0] = uint8(config.SyncWord >> 8)
syncWord[1] = uint8(config.SyncWord & 0x00FF) syncWord[1] = uint8(config.SyncWord & 0x00FF)
radio.WriteRegister(sx126x.REG_LORA_SYNC_WORD_MSB, syncWord[:]) radio.WriteRegister(sx126x.REG_LORA_SYNC_WORD_MSB, syncWord[:])
checkStatus(radio, "WriteRegister")
radio.SetRxTxFallbackMode(sx126x.FALLBACK_MODE_STDBY_RC) radio.SetRxTxFallbackMode(sx126x.FALLBACK_MODE_STDBY_RC)
checkStatus(radio, "SetRxTxFallbackMode")
radio.SetDIO2AsRfSwitchCtrl(true) radio.SetDIO2AsRfSwitchCtrl(true)
checkStatus(radio, "SetDIO2AsRfSwitchCtrl")
radio.SetDIO3AsTCXOCtrl(sx126x.TCXO_VOLTAGE_1_6V, 5000) radio.SetDIO3AsTCXOCtrl(sx126x.TCXO_VOLTAGE_1_6V, 5000)
checkStatus(radio, "SetDIO3AsTCXOCtrl")
}
func printRegister(radio *sx126x.Device, address uint16) {
data := radio.ReadRegister(address)
println("register:", address, "data:", data)
}
func checkStatus(radio *sx126x.Device, prefix string) {
chipMode, commandStatus := radio.GetStatus()
if commandStatus == sx126x.COMMAND_STATUS_COMMAND_PROCESSING_ERROR || commandStatus == sx126x.COMMAND_STATUS_COMMAND_TIMEOUT || commandStatus == sx126x.COMMAND_STATUS_FAILURE_TO_EXECUTE_COMMAND {
println(prefix, "->", "command failed with status:", commandStatus)
}
if chipMode != sx126x.CHIP_MODE_STBY_RC && chipMode != sx126x.CHIP_MODE_STBY_XOSC {
println(prefix, "->", "exited standby:", chipMode)
}
}
func checkDeviceErrors(radio *sx126x.Device, prefix string) {
err := radio.GetDeviceErrors()
if err == 0 {
return
}
println(prefix, "->", "error:", err)
} }
func Tx(radio *sx126x.Device, loraConfig lora.Config, data []byte) error { func Tx(radio *sx126x.Device, loraConfig lora.Config, data []byte) error {