TPP3W(G2)

Hardware devices covered by this platform

  • Size 3 Tibbo Project PCB (TPP3), Gen. 2

    • Optionally, with the WA2000 Wi-Fi/BLE add-on module
    • Optionally, with the GA1000 Wi-Fi add-on module (no longer supported from TiOS V4)
  • Tibbo Project System (TPS) devices based on the TPP3(G2)

    • Optionally, with the WA2000 Wi-Fi/BLE add-on module
    • Optionally, with the GA1000 Wi-Fi add-on module (no longer supported from TiOS V4)

Memory space and key info

RAM

66,816 bytes for application variables and data

Flash

786,432 bytes for application storage, and separately

1,048,576 bytes for data storage (dedicated flash disk memory)

EEPROM

2040 bytes for application data

TiOS Firmware Version

Date

Notes

V4.00.01 (download)

30DEC2020

  • Fixed HTTP headers bug causing issue with web server

V4.00.00 (download)

25DEC2020

  • Added support for Transport Layer Security (TLS) 1.2 with the ECDSA cryptosystem (secp384r1 elliptic curve profile)
  • Removed support for the GA1000 wireless add-on module
  • Removed support for the pppoe. object

V3.80.18 (download)

15JUL2019

  • Bug fixes

Platform type

32-bit platform

Clock frequency (CLOCK) and clock control

Frequency is fixed at 120MHz

Available network interfaces

Ethernet (net.), Wi-Fi (wln.) , PPP (ppp.), PPPoE (pppoe.)(1)

GPIO type

Unidirectional(2)

UART limitations

Max practical baudrate ~460800

7 bits/NO PARITY mode should not be used

Serial port FIFOs

1 byte for TX, 1 bytes for RX

Serial port line configuration

Depends on the serial port mode

Serial port interrupts and io.intenabled

Interdependent

RTS/CTS remapping

Supported(3)

ADC

4 channels, 12 bits (7 bits effective)

Also available through Tibbit modules

Pulse-width Modulation (PWM)

Available through Tibbit modules

GA1000 support

YES

WA2000 support

YES

GA1000 and WA2000 lines remapping

Supported(4)

Beep.divider calculation

beep.divider=CLOCK / (4 * desired_frq),

beep.divider must be in the 2-65535 range

Recommended buzzer frequency divider

2700Hz, beep.divider = 11111

Display type selection and line remapping

Display not supported

Special configuration section of the EEPROM

28 bytes for MAC and device password storage

Device serial number

128 bytes: 64 OTP bytes + 64 fixed bytes

Flash memory configuration

Dedicated

Self-upgrades for the Tibbo-BASIC/C app.

Supported through fd.copyfirmware, fd.copyfirmwarelzo, fd.copyfirmwarefromfile, and fd.copyfirmwarefromfilelzo methods

Status LEDs (LED Control Lines)

Green status (SG) LED

Red status (SR) LED

Yellow Ethernet status (EY) LED

An LED bar consisting of five blue LEDs

Debug communications

Ethernet / UDP Broadcast transport

Ethernet /WinPCap transport

  1. The sock.allowedinterfaces property refers to the Ethernet interface as "NET", Wi-Fi — as "WLN", PPP — as "PPP", and PPPoE — as "PPPOE". Sock.targetinterface and sock.currentinterface properties rely on the pl_sock_interfaces enum, whose members differ depending on the platform.
  1. Surrounding board hardware and installed Tibbits dictate which GPIO lines must be used as inputs and which — as outputs.
  1. Default CTS/RTS mapping is different for each serial port:

 

RTS

CTS

Port 1

0- PL_IO_NUM_0

0- PL_INT_NUM_0 (16- PL_IO_NUM_16_INT0)

Port 2

1- PL_IO_NUM_1

1- PL_INT_NUM_1 (17- PL_IO_NUM_17_INT1)

Port 3

2- PL_IO_NUM_2

2- PL_INT_NUM_2 (18- PL_IO_NUM_18_INT2)

Port 4

3- PL_IO_NUM_3

3- PL_INT_NUM_3 (19- PL_IO_NUM_19_INT3)

  1. Although the platform itself supports remapping, actual "wires" connecting the system to the GA1000 or WA2000 are fixed and your mapping should reflect this:

CS

PL_IO_NUM_49

CLK

PL_IO_NUM_53

DI

PL_IO_NUM_52

DO

PL_IO_NUM_50

RST

PL_IO_NUM_51

Supported Objects, variable types, and functions

  • beep — generates buzzer patterns using the onboard buzzer
  • bt — responsible for Bluetooth Low Energy (BLE) communications
  • button — monitors the onboard setup (MD) button
  • fd — manages flash memory file system and direct sector access
  • io — handles I/O lines, ports, and interrupts
  • kp — scans keypads of matrix and "binary" types1
  • lcd — controls graphical display panels (several types supported)2
  • net — controls the Ethernet interface
  • pat — "plays" patterns on up to five LED pairs
  • ppp — provides access to the Internet over a serial modem (4G/LTE, POTS, etc.)
  • romfile — facilitates access to resource files (fixed data)
  • rtc — keeps track of date and time
  • ser — in charge of serial ports (UART, Wiegand, and clock/data modes)
  • sock — socket communications (up to 16 UDP, TCP, and HTTP sessions)
  • ssi  — implements up to four serial synchronous interface (SSI) channels, supports SPI, I2C, clock/data, etc.
  • stor — provides access to the EEPROM
  • sys — in charge of general device functionality
  • wln — handles the Wi-Fi interface (requires the GA1000 or WA2000 add-on module to be plugged into the TPP2 G2 board)
  1. The kp. object can be configured to communicate with an external keypad connected to the TPP3(G2) board via Tibbit modules. Only one keypad can be serviced at a time.
  2. This may be an external modem connected to the TPP3(G2) board or a 4G/LTE Tibbit module plugged into the board.

The TPP3W(G2) platform supports the standard set of variable types and functions (a.k.a. "syscalls").

Platform-specific constants

You can find them here.