Platforms, Syscalls, and Objects

As explained in the previous topic, Tibbo BASIC and C are "pure" languages — they only provide the language constructs but not the input/output facilities.

All input/output facilities are defined in platforms .

Each type of a Tibbo programmable device is represented by a platform describing this device's capabilities — memory capacity, available features, and so on.

tide_button_projectsettings You have to select a platform for every TIDE project you create.

This is done in the Project Setting dialog ( File > Project Settings ).

Each platform provides a set of syscalls and a set of objects .

Syscalls ("system calls") form a well-developed API with convenient calls for string handling, encryption, and other handy functions.

Objects package large chunks of device functionality.

Available objects are so sophisticated that many of your programs will end up containing nothing but the "glue code" tying objects together.

Here is a little taste of what's available:

object_sock
sock.
Sockets
object_net
net.
Ethernet
object_wln
wln.
Wi-Fi
object_bt
bt.
Bluetooth (BLE)
object_ppp
ppp.
GPRS and modem
object_pppoe
pppoe.
PPPoE
object_ser
ser.
Serial ports
object_io
io.
Digital I/O
object_ssi
ssi.
I2C and SPI
object_adc
adc.
Analog-to-digital
object_lcd
lcd.
LCD/OLED
object_kp
kp.
Keypad
object_beep
beep.
Buzzer
object_pat
pat.
Status LEDs
object_button
button.
Main button
object_stor
stor.
EEPROM
object_fd
fd.
Flash disk
object_romfile
romfile.
Fixed data
object_rtc
rtc.
Real-time clock
object_sys
sys.
System control