Skip to content

v1.1.0 — Status query + direct-DAC attenuator

Latest

Choose a tag to compare

@ure ure released this 23 Apr 23:03

⚠️ Breaking change — attenuator semantics

The att field is now the direct DAC attenuation value, not a total-including-insertion-loss value. Firmware no longer subtracts 1.5 dB before programming the chip.

att before v1.1.0 att in v1.1.0
1.5 (= 0 dB DAC) 0 (bypass) or 0.5 (DAC = 0.5 dB)
6.0 (= 4.5 dB DAC) 4.5 (DAC = 4.5 dB)
31.5 (= 30 dB DAC) 30.0 (DAC = 30 dB)

Controllers and calibration tables must be updated to pass the actual DAC value they want the chip to apply. The chip's own insertion loss is a property of the RF path and is no longer represented in the protocol field.

New — status query

Send <name>/?/? (or just <name>/?) and the switch replies with an ACK carrying its current port + attenuator state without changing anything. Useful for controller UIs and recovery after a missed ACK.

Examples:

sw0/?/?     → ACK:sw0/3/6.0   (currently: port 3, 6.0 dB attenuation)
sw0/?       → same, att field defaulted

Other

  • Log lines clearly distinguish PORT REQ: from QUERY REQ: so you can see what the switch is doing.
  • ACK format unchanged: ACK:<name>/<port>/<att>. att=0.0 in the ACK means the attenuator is bypassed.

Docs

  • PROTOCOL.md — full spec, change log, examples.
  • README.md — attenuator table + status-query section.

Install

Edit /config.txt on the LORA8PSW drive, replace contents with firmwareupdate, save, eject. The device reboots into UF2 mode — drag 8PswitchLORA-v1.1.0.uf2 onto the RPI-RP2 drive.