ACC Keyboard for Open Interface III

UNDER DEVELOPMENT

This keyboard plug in Open interface III with IP switch realize low latency (<4ms with ethernet switch) IP control 16 output relays in two bank. BankA switch each each independet output on/off. BankB switch always one output from eight available. BankA is upper line switch buttons, BankB bottom line.

Hardware

U2,U1 SO16 piece 2 HC595
S9,S1,S2,S3,S4,S5,S6,S7,S8,
S10,S11,S12,S13,S14,S15,S16
SW-TACT-12 piece 16 TACT-SW2
C1,C2,C10,C17 piece SMD0805-r piece 4 capacitor 4n7
C13,C14,C15,C16 SMD0805-r piece 4 capacitor 100p
D1,D2,D3,D4,D5,D6,D7,D8,D9,
D10,D11,D12,D13,D14,D15,D16,D17
SMD0805-LED-r piece 17 LED
P1 HDMI_DS1114 piece 1 HDMI
R12,R13,R14,R15,R5,R6,R7,R8,R9,
R30,R31,R32,R33,R34,R35,R36,R37
SMD0805-r piece 17 resistor 270R
R16,R17,R18,R19,R20,R1,R2,R3,R4,R21,
R22,R23,R24,R25,R26,R27,R28,R29
SMD0805-r piece 18 rezistor 10k
C24,C25,C19,C20,C21,C23 SMD0805-r piece 6 capacitor 100n
C22 SMD0805-r piece 1 capacitor 10n
D18,D19,D20,D21,D22,D23,D24,D25,
D26,D27,D28,D29,D30,D31,D32,D33
SMD0805 piece 16 DIODE
U3,U4 SO16 piece 2 CD4021B
L3,L6,L20 C_1210 piece 3 inductance 10u
L4,L5,L8,L9,L14 C_1210 piece 5 ferrite bear

Firmware

BankA and BankB (ACC keyboard)

Keyboard functionality enable in Open Intrface III firmware with enable below variables to 1

boolean ACC_KEYBOARD    = 1;          // Shift in/out register via ACC
boolean KeyboardAnswLed = 1;          // Keyboard Led shown answered UDP packet from IP RemoteSwitch

Also must be installed and configured ethernet module

boolean ETHERNET_MODULE = 1; // enable ETHERNET module (must be installed)

and IP Switch with ESP32-GATEWAY in local network with DHCP

boolean RemoteSwitch    = 1;          // IP controled remote RemoteSwitch

devices are pair in network automaticaly.

How ID are use on actual selected band, determines table in firmware

// BAND TO REMOTE SWITCH ID
int BandToRemoteSwitchID[12] = { /*
IP Switch
  ID
 0-7  */
  0,  // band 0 (no data)
  0,  // Band #1 [160m]
  0,  // Band #2  [80m]
  0,  // Band #3  [40m]
  0,  // Band #4  [30m]
  0,  // Band #5  [20m]
  0,  // Band #6  [17m]
  0,  // Band #7  [15m]
  0,  // Band #8  [12m]
  0,  // Band #9  [10m]
  0,  // Band #10  [6m]
  0,  // Band #11  [2m]
};

By default using on all bands IP switch with ID 0.

BankC - rotary encoder

Open Interface III use for IP switching from rotary encoder (BankC) independents hardware. ID calculate automaticaly increase eight from ID for ACC keyboard. This means that in previous situation on all bands rotary encoder (menu 20) use IP switch with ID 8. Range rotary encoder is up to 16 outputs, wich may be limited for each band separately in table

int IpSwBankCrange[8]= { /*
number of IP switch bank C position
 2-16 range */
  16, // ID 8
  8,  // ID 9
  8,  // ID A
  8,  // ID B
  8,  // ID C
  8,  // ID D
  8,  // ID E
  15,  // ID F
};