Inhaltsverzeichnis

ESP32 TPS

This is my implementation of the TPS on the ESP32 ecosystem. The instructions will be compatible to the Arduino_TPS Version. And you will get some nice new Commands, implementing some of the ESP 32 features.

If you find a bug, feel free to create a issue in the tracker.

Installation

To install the ESP32 TPS version, please simply compile the Arduino_TPS with the right ESP32 board as target.

https://github.com/willie68/Arduino_TPS

Command implementation Chart

The actual command implementation list for the ESP32:

0 1 2 3 4 5 6 7
n.n. Port [DOUT]Delay [WAIT]Jump back relative [RJMP]A=# [LDA]=A A= A=Ausdruck
0NOP [NOP] aus 1ms 0 0 A↔B [SWAP]
1 1 2ms 1 1 B=A [MOV] A=B [MOV] A=A + 1 [INC]
2 2 5ms 2 2 C=A [MOV] A=C [MOV] A=A - 1 [DEC]
3 3 10ms 3 3 D=A [MOV] A=D [MOV] A=A + B [ADD]
4 4 20ms 4 4 Dout=A [STA] Din [LDA] A=A - B [SUB]
5 5 50ms 5 5 Dout.1=A.1 [STA]Din.1 [LDA] A=A * B [MUL]
6 6 100ms 6 6 Dout.2=A.1 [STA]Din.2 [LDA] A=A / B [DIV]
7 7 200ms 7 7 Dout.3=A.1 [STA]Din.3 [LDA] A=A and B [AND]
8 8 500ms 8 8 Dout.4=A.1 [STA]Din.4 [LDA] A=A or B [OR]
9 9 1s 9 9 PWM.1=A [STA] ADC.1 [LDA] A=A xor B [XOR]
a 10 2s 10 10 PWM.2=A [STA] ADC.2 [LDA] A= not A [NOT]
b 11 5s 11 11 Servo.1=A [STA] RCin.1 [LDA]A= A % B (Rest) [MOD]
c 12 10s 12 12 Servo.2=A [STA] RCin.2 [LDA]A= A + 16 * B [BYTE]
d 13 20s 13 13 E=A [MOV] A=E [MOV] A= B - A[BSUBA]
e 14 30s 14 14 F=A [MOV] A=F [MOV] A=A SHR 1 [SHR]
f 15 60s 15 15 Push A [PUSH] Pop A [POP] A=A SHL 1 [SHL]
8 9 a b c d e f
Page [PAGE]Jump absolut (#+16*page) [JMP]C* C>0: C=C-1; Jump # + (16*page) [LOOPC]D* D>0:D=D-1; Jump # + (16*page) [LOOPD]Skip if Call # + (16*Page) [Call]Callsub/Ret Byte Befehle
00 0 0 0 A==0 [SKIP0] 0 ret [RTR] A=ADC.1 [BLDA]
11 1 1 1 A>B [AGTB] 1 Call 1 [CASB] A=ADC.2 [BLDA]
22 2 2 2 A<B [ALTB] 2 2 [CASB] A=RCin.1 [BLDA]
33 3 3 3 A==B [AEQB] 3 3 [CASB] A=RCin.2 [BLDA]
44 4 4 4 Din.1==1 [DEQ1 1]4 4 [CASB] PWM.1=A [BSTA]
55 5 5 5 Din.2==1 [DEQ1 2]5 5 [CASB] PWM.2=A [BSTA]
66 6 6 6 Din.3==1 [DEQ1 3]6 6 [CASB] Servo.1=A [BSTA]
77 7 7 7 Din.4==1 [DEQ1 4]7 Servo.2=A [BSTA]
88 8 8 8 Din.1==0 [DEQ0 1]8 Def 1 [DFSB] Tone=A [TONE]
99 9 9 9 Din.2==0 [DEQ0 2]9 2 [DFSB]
a10 10 10 10 Din.3==0 [DEQ0 3]10 3 [DFSB]
b11 11 11 11 Din.4==0 [DEQ0 4]11 4 [DFSB]
c12 12 12 12 S_PRG==0 [PRG0] 12 5 [DFSB]
d13 13 13 13 S_SEL==0 [SEL0] 13 6 [DFSB]
e14 14 14 14 S_PRG==1 [PRG1] 14
f15 15 15 15 S_SEL==1 [SEL1] 15 restart [REST]PrgEnd [PEND]

Hardware assignments:

ESP32 pin mapping table

TPS function pin number
Dout.122
Dout.221
Dout.317
Dout.416
A/D 136 ADC1-0
A/D 239 ADC1-3
RCin 134
RCin 235
PRG/S113
SEL/S212
D/A 127 PWM DAC
D/A 225 real DAC
Servo 127
Servo 225
DIn.126
DIn.218
DIn.319
DIn.423

Apendix