Topics

Stacking multiple TNC-Pi9k6's #tnc


KN6FOA
 

I've seen a few topics on here about using multiple TNC-Pi9k6's with a raspberry pi but when I connect 2 TNCs I only see 1 TNC when looking at i2cdetect.  How do I get both TNCs to show up in i2c or as discrete serial ports?

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1e --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

1e is the TNC and 48 is a UPS

pitnc_getparams Version 0.0.0.5
KISS Data Frame
 
   TNC Software Version          30
01 TXDelay - Zero means use ADC 160
02 Persistance                   30
03 Slottime (in 10 mS)            0
04 TXTail                         0
05 Full Duplex - Not used       255
06 Our Channel (Hex)             ff
07 I2C Address (0 = async) Hex   0c
08 Mode Speed                     0
09 RX Level (Config)              4
10 TX Level                       0
11 RX Level (Actual)            170
13 Centre Freq                  810
6 1e a0 1e 0 0 ff ff c 0 4 0 aa 51 c0 sum 55
** Checksum Error - Sum = 55 Should be Zero


Jim WB9QPM
 

Run the Arduino program. Open the SM_Teensy sketch.

Edit the I2C address in the source. Rebuild the sketch. Upload the TNC.

Stacked TNC require a unique I2C address for each.

73,
Jim WB9QPM


N5XMT
 

If you want to run 2 TNC-PI9K6's you can't run both i2C unless you modify the code and reflash one of them for a different i2C address.  Then you can run one serial, the other i2C

On Oct 16, 2020, at 01:28, mskurnik@... wrote:
I've seen a few topics on here about using multiple TNC-Pi9k6's with a raspberry pi but when I connect 2 TNCs I only see 1 TNC when looking at i2cdetect.  How do I get both TNCs to show up in i2c or as discrete serial ports?

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1e --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

1e is the TNC and 48 is a UPS

pitnc_getparams Version 0.0.0.5
KISS Data Frame
 
   TNC Software Version          30
01 TXDelay - Zero means use ADC 160
02 Persistance                   30
03 Slottime (in 10 mS)            0
04 TXTail                         0
05 Full Duplex - Not used       255
06 Our Channel (Hex)             ff
07 I2C Address (0 = async) Hex   0c
08 Mode Speed                     0
09 RX Level (Config)              4
10 TX Level                       0
11 RX Level (Actual)            170
13 Centre Freq                  810
6 1e a0 1e 0 0 ff ff c 0 4 0 aa 51 c0 sum 55
** Checksum Error - Sum = 55 Should be Zero


KN6FOA
 

Can I use pitnc_setparams to set the I2C address instead on one connected, then connect the other one and use both.  If not I can just run the arduino sketch like you said.


N5XMT
 

Unfortunately on the 9K6 you can't.  Hardcoded in the code


On Fri, Oct 16, 2020 at 10:23 AM <mskurnik@...> wrote:
Can I use pitnc_setparams to set the I2C address instead on one connected, then connect the other one and use both.  If not I can just run the arduino sketch like you said.