E22P seems to change the T/R switch #50

Closed
opened 2026-10-27 09:30:19 +01:00 by adam · 1 comment
Owner

I am trying to set up a repeater with an E22P-915M30S. They renamed the RXEN and TXEN pins, EN and T/R, respectively. The correct truth table from the docs is:

EN T/R Mode
1 1 TX
1 0 RX
0 X CLOSE

I was going to try to submit a PR, but I have not been able to figure out how to get everything in a test setup. I did try editing /usr/local/lib/python3.13/dist-packages/pymc_core/hardware/sx1262_wrapper.py and rebooting. I just hardcoded the change, it will probably break normal E22 setups.

E22P-xxxMxxS_UserManual_EN_v1.3.pdf

Including the diff below if it helps. The change does seem to have things working better though.

diff --git a/src/pymc_core/hardware/sx1262_wrapper.py b/src/pymc_core/hardware/sx1262_wrapper.py
index 24aa663..29e2a8a 100644
--- a/src/pymc_core/hardware/sx1262_wrapper.py
+++ b/src/pymc_core/hardware/sx1262_wrapper.py
@@ -901,7 +901,7 @@ class SX1262Radio(LoRaRadio):
             if self.txen_pin != -1:
                 self._gpio_manager.set_pin_high(self.txen_pin)
             if self.rxen_pin != -1:
-                self._gpio_manager.set_pin_low(self.rxen_pin)
+                self._gpio_manager.set_pin_high(self.rxen_pin)
 
         # RX or idle: TXEN=LOW, RXEN=HIGH
         else:

I am trying to set up a repeater with an E22P-915M30S. They renamed the RXEN and TXEN pins, EN and T/R, respectively. The correct truth table from the docs is: EN T/R Mode 1 1 TX 1 0 RX 0 X CLOSE I was going to try to submit a PR, but I have not been able to figure out how to get everything in a test setup. I did try editing /usr/local/lib/python3.13/dist-packages/pymc_core/hardware/sx1262_wrapper.py and rebooting. I just hardcoded the change, it will probably break normal E22 setups. [E22P-xxxMxxS_UserManual_EN_v1.3.pdf](https://github.com/user-attachments/files/25828240/E22P-xxxMxxS_UserManual_EN_v1.3.pdf) Including the diff below if it helps. The change does seem to have things working better though. ``` diff --git a/src/pymc_core/hardware/sx1262_wrapper.py b/src/pymc_core/hardware/sx1262_wrapper.py index 24aa663..29e2a8a 100644 --- a/src/pymc_core/hardware/sx1262_wrapper.py +++ b/src/pymc_core/hardware/sx1262_wrapper.py @@ -901,7 +901,7 @@ class SX1262Radio(LoRaRadio): if self.txen_pin != -1: self._gpio_manager.set_pin_high(self.txen_pin) if self.rxen_pin != -1: - self._gpio_manager.set_pin_low(self.rxen_pin) + self._gpio_manager.set_pin_high(self.rxen_pin) # RX or idle: TXEN=LOW, RXEN=HIGH else: ``` <!-- github-sync-id:4042284194 -->
adam closed this issue 2026-10-27 09:30:19 +01:00
Author
Owner

Check out the radio branch this has already been worked on 👍 new pin called en_pin

Check out the radio branch this has already been worked on 👍 new pin called en_pin <!-- github-comment-id:4021705805 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/pyMC_Repeater#50