Modules
All compiler library modules are supplied with source. Not only does this enable you to see how a particular library module works, it can also aid learning and become a code starting point for your own library modules.
Additional modules are currently under development and will be made available to all Swordfish users when they are ready.
- GLCD
- LCD
- Secure Digital (SD) Multi Media (MM) Card
- OneWire
- OneWire Devices
- Hardware SPI
- Software SPI
- SPI Devices
- Hardware I2C
- Software I2C
- ADC
- EEPROM
- Software RS232
- Hardware RS232
- Manchester
- Math
- Shift
- String
- Keypad
- Number Conversion
- USB
- Utilities
- Interrupt
If you have not tried Swordfish yet and want to take a more detailed look at what is available, why not download a free, non-expiring Special Edition (SE) version from here.
GLCD
The GLCD library enables you to access drawing primitives, text and image rendering for a particular display type. Currently supported device drivers include:
- KS0108 - 128 x 64 monochrome GLCD, see screenshot
- S1D15G00 - colour 130 x 130 GLCD, see screenshot
- S1D10605 - 128 x 64 monchrome GLCD
- SED1520 - 122 x 32 GLCD, see screenshot
- S1D13700 - 320 x 240 GLCD, see screenshot (A) and screenshot (B)
More GLCD driver support is planned. GLCD text can be rendered using variable width fonts. For example, Arial, BookAntiqua, Courier, FixedFont, Garamond, SanfSerif, Tahoma, Times, Trebuchet and Verdana. The Swordfish IDE comes supplied with an easy to use plugin, which will automatically generate a font data for a given font type.
LCD
LCD module based around the Hitachi HD44780
Secure Digital (SD) Multi Media Card (MMC)
Provides a large collection of routines for reading and writing to Secure Digital (SD) or Multi Media (MM) cards.
This library is not available in the Special Edition (SE) version of Swordfish
OneWire (OW)
A low level One Wire library, includes search function.
OneWire Devices
A collection of OW devices, including:
- DS18B20 - digital thermometer
- DS18S20 - digital thermometer
- DS2405 - addressable switch
Hardware SPI
Hardware based, low level SPI module.
Software SPI
Software based, low level SPI module
SPI Devices
A collection of SPI devices, including:
- 25080 8 Kbit EEPROM
- 25160 16 Kbit EEPROM
- 25320 32 Kbit EEPROM
- 25640 64 Kbit EEPROM
- 25256 256 Kbit EEPROM
Hardware I2C and I2C2
Low level hardware I2C library.
Software I2C
Low level software I2C library.
ADC
A module that interfaces to the PIC microcontrollers ADC hardware.
EEPROM
A module that enables reading and writing of the PIC microcontrollers onboard EEPROM.
Software RS232
Software based RS232 serial communications library
Hardware RS232 (USART and USART2)
Hardware based RS232 serial communications library
Manchester
Manchester encode and decode
Math
Large collection of floating point math routines.
Shift
Software based bit shift library.
String
A collection of string manipulation routines.
Keypad
Enables you to interface to a matrix style keypad.
Number Conversion
A collection of conversion routines. For example, decimal to string and string to decimal.
USB
Human Interface Device (HID) and Communication Device Class (CDC) USB support. The HID module enables you to send and receive structured data from microcontroller to PC via a USB connection. The CDC USB module acts like a Virtual COM Port (VCP), making it easy to use RS232 through a USB connection connected to your microcontroller.
This library is not available in the Special Edition (SE) version of Swordfish
Utilities
A collection of handy utilities. Some examples include SetAllDigital() and Reverse()
Interrupt
Some useful interrupt based modules.
- ISRRX - buffers data from the PICs hardware USART.
- ISRTimer - enables you to create multiple event driven or polled 16 bit timers.