About Libraries
GCBASIC (as with most other microcontroller programming languages) supports libraries.
You can create you own device specific library, you are not limited to those shown below. If you create a new device specific library - please submit for inclusion in the next release via the GCBASIC forum.
Maintenance of these libraries is completed by the GCBASIC development team. If you wish to adapt these libraries you should create a local copy, edit and save within your development file structure. The development team may update these libraries as part of a release and we do not want you to lose your local changes.
To use a library, simple inlcude the following in your user code
#include <3PI.H> 'this will include the 3PI capabilities within your program
To use a local copy of a library, simple inlcude the following in your user code
#include "C:\mydev\library\3pi.h" 'this will include a local copy of the the 3PI capabilities within your program
GCBASIC supports the following device libraries.
Library | Class | Usage |
---|---|---|
3PI |
Polulu 3pi robot |
A library that interfaces the switch and the motors. |
47XXX_EERAM.H |
I2C EERAM memory |
A device specific library for the Microchip EERAM device classs |
ALPS-EC11 |
Rotary Encoder |
A device specific library for a rotary encoder. |
ADS7843 |
Touch Shield |
A library that interfaces with the ADS7843 touch screen. |
BME280 |
Temp, Humidity and Pressure sensor |
A library that interfaces with the BME280 and the BMP280 sensor. |
CHIPINO |
Shield |
A library that interfaces the Chipino board with Arduino like port addresses. |
DHT |
Temperature and Humidity |
A library that supports the DHT22 and the DHT11 Temperature and Humidity sensors. |
DS1307 |
Clock |
A library that supports the timer clock and NVRAM functions. |
DS1672 |
Clock |
A library that supports the timer clock and NVRAM functions. |
DS18B20 |
Temperature |
A library that supports the temperature functions. |
DS18SB0MultiPort |
Temperature |
A library that supports the temperature functions with devices attached to multiple ports. |
DS18S20 |
Temperature |
A library that supports the temperature functions. |
DS2482 |
Clock |
A library that supports the I2C to Dallas OneWire functions. |
DS3231 |
Clock |
A library that supports the timer clock and NVRAM functions. |
DUEMILANOVE |
Shield |
A library that interfaces the Duemilanove board with Arduino like port addresses. |
EMC1001 |
Temperature |
A library that supports the temperature functions and the other device capabilities. |
FRAM |
I2C Eeprom |
A library that supports memory functions. |
GETUSERID |
Microchip read ID |
A library that supports the identification of Microchip microcontrollers. |
EPD_EPD2In13 |
Graphical e-Paper display |
A core library for Graphical LCD support. |
EPD_EPD7in5 |
Graphical e-Paper display |
A core library for Graphical LCD support. |
GLCD_ |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_HX8347 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_ILI9340 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_ILI9341 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_ILI9481 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_ILI9486L |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_NT7108C |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_IMAGESANDFONTS_ADDIN3 |
Graphical LCD |
A library to increase the capabilities of the Graphical LCDs. |
GLCD_KS0108 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_NEXTION |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_PCD8544 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_SH1106 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_SSD1289 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_SSD1306 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_SSD1331 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_ST7735 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_ST7920 |
Graphical LCD |
A device specific library for an Graphical LCD. |
GLCD_T6963_64 |
Graphical T6963 LCD with 240 x 64 pixels |
A device specific library for an Graphical LCD. |
GLCD_T6963_128 |
Graphical T6963 LCD with 240 x 64 pixels |
A device specific library for an Graphical LCD. |
HEFLASH |
HEF Memory Driver |
A library that supports the HEF memory functions. |
HMC5883L |
Triple-axis Magnetometer |
A library that supports the magnetometer functions. |
HWI2C_ISR_HANDLER |
I2C Slave Driver |
A library that supports the use of a Microchip microcontroller as an I2C slave. |
HWI2C_MESSAGEINTERFACE |
I2C Slave |
A support library that supports the use of a Microchip microcontroller as an I2C slave. |
HWI2C_ISR_HANDLERKMODE |
I2C Slave Driver |
A library that supports the use of a Microchip microcontroller as an I2C slave. |
HWI2C_MESSAGEINTERFACEKMODE |
I2C Slave |
A support library that supports the use of a Microchip microcontroller as an I2C slave. |
I2CEEPROM |
I2C EEProm memory |
A library that supports memory functions. |
LCD2SERIALREDIRECT |
LCD to Serial Handler |
A library that supports the use of a serial and PC terminal as a psuedo LCD. |
LEGO-PF |
Lego Mindstorms shield |
A library that supports the Lego Mindstorms robot |
LEGO |
Lego Mindstorms shield |
A library that supports the Lego Mindstorms robot |
MATHS |
Maths routines |
A library that supports maths functions such as logs, power and atan. |
MAX6675 |
Temperature |
A library that supports the temperature functions. |
MAX7219_ledmatrix_driver |
LED 8*8 Matrix driver |
A library that supports the MAX7219 8*8 LED matrixes |
MCP23008 |
i2C to serial |
A library that supports the I2C to serial functions. |
MCP23017 |
i2C to serial |
A library that supports the I2C to serial functions. |
MCP4XXXDIGITALPOT |
Digital Pot |
A library that supports the MCPxxxx range of digital potentiometers. |
MCP7940N |
Clock |
A library that supports the timer clock and NVRAM functions. |
MILLIS |
Clock |
A library that supports the 1000ms timer event cycle. |
NUNCHUCK |
Game controller |
A library that supports the NunChuck game controller. |
PCA9685 |
PWM |
A device specific library for the 16channel PWM driver. See the demonstrations for example on usage. Support up to four devices via the I2C bus. |
PCF8574 |
GLCD |
A device specific library for an Graphical LCD. |
PCF85X3 |
Clock |
A library that supports the timer clock and alarms. |
SD |
SD Card |
A device specific library for an SD Card. |
SMT_Timers |
Signal Measurment Timer |
A library for Signal Measurment Timer for specific Microchip microcontrollers. |
SOFTSERIAL |
Serial |
A library for software serial. |
SOFTSERIALCH1 |
Serial |
A library for software serial. |
SOFTSERIALCH2 |
Serial |
A library for software serial. |
SOFTSERIALCH3 |
Serial |
A library for software serial. |
SONGLAY |
Music |
A library for play music. Supports QBASIC and RTTTL format. |
SONYREMOTE |
Infrared |
A library that supports the functions of a Sony remote control. |
SRF02 |
Distance Sensor |
A library that supports the SRF02 ultrasonic sensor. |
SRAM |
Memory devices |
A library that supports 23LC1024, 23LCV1024, 23LC1024, 23A1024, 23LCV512, 23LC512, 23A512, 23K256, 23A256, 23A640 or 23K640 devices |
SRF04 |
Distance Sensor |
A library that supports the SRF04 ultrasonic sensor. |
TEA5767 |
I2C Radio |
A library that supports the TEA5767 radio. |
TM1637 |
7 Segment LED display |
A library that supports the TM1637 7-Segment LED displays |
TRIG2PLACES |
Maths functions |
A maths library that supports trignometry to two places. |
TRIG3PLACES |
Maths functions |
A maths library that supports trignometry to three places |
TRIG4PLACES |
Maths functions |
A maths library that supports trignometry to four places |
UNO_MEGA328P |
Shield |
A library that interfaces the shield with Arduino like port addresses. |
USB |
USB Supoort |
A library that interfaces the USB for 16f and 18f microcontrollers. |
GCBASIC supports the following core libraries. These libraries are automatically included in your user program therefore
you do not need to use '#include' to access the libraries capabilities.
Library | Class | Usage |
---|---|---|
7SEGMENT |
7 Segment LED display |
A library that interfaces the device. See also TM1637a library. |
A-D |
Analog to Digital |
A library that supports the ADC functionality. |
EEPROM |
EEProm |
A library that supports I2C eeprom devices. |
HWI2C |
I2C |
A library that supports the MSSP and TWI hardware modules of I2C |
HWI2C2 |
I2C |
A library that supports the MSSP and TWI hardware modules of I2C on channel two |
HWSPI |
SPI |
A library that supports the MSSP and TWI hardware modules of SPI |
I2C |
I2C |
A library that supports software I2C |
KEYPAD |
KeyPad |
A library that supports a keypad. |
PS2 |
I2C |
A library that supports keyboard functionality |
LCD |
LCD |
A library that supports LCD functionality, library supports many different communications methods. |
PWM |
Pulse Width Modulation |
A library supports PWM functionality. |
RANDOM |
Random Numbers |
A library supports random number functionality. |
REMOTE |
Infrared |
A library that supports the functions of a NEC remote control. |
RS232 |
Serial |
A library for serial communications. |
SOUND |
Tones |
A library for sound and tone generation |
STDBASIC |
Utility Functions |
The library that contains many of the utility methods. |
STRING |
String |
The library that contains the string methods. |
SYSTEM |
System |
The library that contains the system methods. |
TIMER |
Timers |
The library that contains the timer methods. |
USART |
Serial |
The library that contains the hardware serial methods that use the MSSP or AVR equivilent hardware module. |
XPT2046 |
Touch Shield |
A library that interfaces with the APT2026 and the ADS7843 touch sensors. |