AT1846S GPIO Guide for HamShield and HamShield Mini
The GPIO lines on the AT1846S are broken out on both HamShield and HamShield Mini. While optional, the GPIO lines can provide a powerful status indication, as well as providing additional digital outputs.
⚠️ All GPIO lines can be used EXCEPT GPIO4 and GPIO5. These control the internal RF switching circuitry and power amplifier. They are EXCLUSIVE to this use. Controlling the GPIOs or connecting anything to them can cause permanent damage to the device. ⚠️
All GPIO lines can be configured to have High-Z, Low, or High logic levels.
Special GPIO Functions
In addition to these standard signals, a special function for each GPIO can be configured:
|GPIO7||VOX||Voice Activated Transmit Indicator|
|GPIO5||TX On||Controls RF switch and PA, DO NOT USE|
|GPIO4||RX On||Controls RF switch and PA, DO NOT USE|
|GPIO2||INT||Interrupt line (see notes below)|
|GPIO1||Code In/Code Out||TBD|
Discussion of TBD Items
GPIO6: It has been advised that GPIO6 will go high if a valid CTCSS or CDCSS tone is detected, and if no tone is configured, will go high if the signal goes above the squelch level. This can be useful in detecting a valid signal for repeater operations, such as a COR (Carrier Operated Relay), to turn on the other transmitter.
GPIO3: It is believed this is for use of the alternate 3 wire serial interface mode.
GPIO1: It is believed that this is the programming interface for the internal FM modem (modulator/demodulator). Since the AT1846S is actually a software defined radio, other modems could possibly be loaded on. To this date, Auctus has not released any such additional modems nor wishes to disclose how this would be done or what DSP core is utilized.
GPIO0: It is believed that this is for externally generated and decoded CTCSS signals, but it is not entirely known yet how it works.
Interrupt Line Options
GPIO2 can serve as an output interrupt when a variety of conditions are met. These can be configured using the INT register, as shown below. While it has not been tested, it might be possible to enable multiple interrupt types, and read the type of the interrupt on the FLAG register.
|15:10||Reserved, set to 0|
|8||RX On (Receive mode enabled)|
|7||TX On (Transmit mode enabled)|
|5||CTCSS Phase Shift Detect|
|4||Idle State Timeout|
|3||RX On Timeout|
|1||TX On Timeout|
As we discover more about the AT1846S, this document will be updated.