Updated Swordfish Modules
A list of standard Swordfish modules which have been updated by users.
- USB Library - Updated USB library. Also includes a Swordfish port of the Microchip HID bootloader with support for all chips (source provided). Written by Jerry Messina
- SetDigitalIO - Not strictly an updated library, more of a fork of a current library (utils.bas) which updates SetAllDigital(). A bit of a must have for newer devices. Written by Jerry Messina
This section contains some useful source code modules that can be used with the Swordfish compiler.
- ISROnChange - Generates an on change event if the state of PORTB 4..7 changes. Written by David Barker.
- Autokey - Auto repeat on a 4 x 4 matrix keypad utilising the ISRTimer module. Written by Timothy Box.
- ConvertTemp - Convert temperatures in any direction between Fahrenheit, Celsius and Kelvin. Written by Darrel Taylor.
- Calander - Work out how many days between days, if a date is valid, etc. Written by Timothy Box.
- UNIX Date and Time - UNIX timestamp conversion. Written by Gabi Mihail & Timothy Box.
- MinADTime - Set up the ADC for the minimum clock and aquisition time according to your selected clock frequency and analog impedance. Written by Darrel Taylor.
- SED1520 - 122 x 32 GLCD driver. Written by Steven Wright.
- DialEncoder - Dial/Pot Decoder to Speed/Direction out. Written by Timothy Box.
- S1D13700 - 320 x 240 GLCD driver. Written by Steven Wright.
- DS1307 - Real Time Clock (RTC) module based around the DS1307. Written by David Barker and John Barrat.
- KS0713 Driver Module for KS0713 based GLCD's and modified GLCD.bas by Mark Rodgers.
- TouchScreen Touch screen driver module for 4 wire resistive touchscreens by Steven Wright.
- MemoryAccess A Program Memory Access module by Timothy Box.
- Sofware Controlled WDT A module to programatically enable and disable the WDT. It also allows you to set the WDT postscaler at runtime. Written by David Barker.
- Interrupt based NMEA processor A module that buffers NMEA data using a hardware interrupt. Written by David Barker.
- ROM Buffer A simple module that implements ROM reading and writing. Written by David Barker.
- TIMER3 Interrupt Implementing a timer using TIMER3 with detailed comments by Mark Rodgers.
- KS0108 with 2 or 3 CS lines A modified version of the KS0108 driver that handles 2 or 3 CS lines by Eric Couratier and Ahmed Lazreg (octal).
- PWM. Written by David Barker. A simple module for fixed and variable frequency PWM.
- MLX90614 A module to read/write to the Melexis MLX90614 family of non-contact IR sensors. Written by Tom Estes.
- Options A simple module that implements useful directive #options. For example, setting USART baudrate at compile time. Written by David Barker.
- PWM2. Written by Warren Schroeder. This is a followup to David Barker's PWM Module with additional PWM functionality.
- Sensirion SHTxx Sensor Written by Florin Medrea. Sample module for humidity / temperature sensor SHT11 - SHT75.
- Pseudo Random Number Generator. Written by David Eather. A Pseudo Random Number Generator module.
- Devantech CMPS03 Magnetic Compass Module. Written by Steven Wright. A simple module to read the magnetic bearing from a Devantech CMPS03 Magnetic Compass Module.
- PIC18F97J60 Ethernet Module Written by Florin Medrea. Ethernet Module (driver) for PIC18F97J60 family, with Mini Web Server example.
- FloatToStrSE Written by Florin Medrea. FloatToStr function for SwordFish SE.
- CAN BUS Written by Florin Medrea. Controller Area Network (CAN) module for SwordFish.
- Database - A simple module to implement reading and writing records from/to a SD or MMC card, using the SDFileSystem Module. Written by Steven Wright.
- Ethernet A partial port of the Microchip TCP/IP Ethernet library for the ENC28J60. Includes MAC,IP, ICMP, ARP, TCP, UDP, NBNS, DHCP, DNS, SMTP and SNTP. Written by David Barker.
- Stepper Motor - 2 Modules for controling unipolar stepper motors. 2nd module is interrupt driven, freeing PIC for other tasks whilst motor is moving. Written by AndyO.
- SDFileSystem Version 4.1.4 - The latest version of the SDFileSystem module. Now includes support for multiple files, copying and truncating files, SDHC high capacity cards and FAT32 as well as FAT16. Format command also added to format a card from scratch. Written by Steven Wright.
- VS1001 Audio Decoder Library Version 1.0 - A module to control the VS1001 audio decorder IC from www.vlsi.fi. This module was developed and tested using the EasyPic3 and the SmartMP3 board from Mikroelectronika. Written by Darryl Quinn.
- Timer0 Library Version 1.0 - A module to easily Timer0 using either polling or interrupts. Example included for interrupt driven timer0 in a multiple interrupt environment. Written by Darryl Quinn.
- MCP23S17 Version 1.0 - A set of modules to easily handle a single or multiple MCP23S17 SPI port expander chips. Written by Ahmed Lazreg (octal).
- PIC18F87J50 USB - A replacement set of Modules to allow USB operation on PIC18F87J50 parts. Modified by Nathan Herbert.
- T6963c Toshiba GLCD Driver (v0.1) - Written by Ahmed Lazreg (octal).
- LCD Menu Module - A module for implementing a menu system on an LCD display. Written by AndyO.
- CRC Module A module providing CRC routines for DAL8, DAL16, Sensirion and SMB8. Feel free to add your CRC routines to it. Written by Tom Estes.
- M25P128 Module A module for use with the M25P128 128Mb Serial Flash Memory Chip. This handy little chip is great for low power datalogging applications. Written by Ryan O'Hara & Timothy Box.
- VRbot Module - A Module and example program for using a VRBot Voice recognition module in Speaker Independent mode. Written by Nathan Herbert.
- MS5540C A module for use with the MS5540C. This handy little barometer is great for weather and altimeter related applications. Written by Ryan O'Hara.
- PeripheralPinSelect - A module for using the PPS remappable pin select functions. Written by Jerry Messina
- MFR49XA Transceiver Module - A Module and example program for using the Microchip MRF49XA integrated Sub-GHz RF transceiver supporting 433/868/915MHz ISM frequency bands. Written by Nathan Herbert.
- Internal RTCC Module - A Module and example program for using the Internal RTCC (Real Time Clock and Calendar) in newer PIC18 devices. Written by Nathan Herbert.
Digital DIY Modules
These modules are located at Digital DIY.
- NMEA2 - An alternate NMEA processor module that safely works with shared RAM allocations. Written by Graham Mitchell.
- Big Digits - Display large digits on a 4-line character LCD. Written by AndyO.
- MCP9800 Module - The Microchip MCP9800 High-Accuracy Temperature Sensor features ±1°C accuracy from -10°C to +85°C, and 9 - 12 bit conversions using an I2C interface. Written by Jon Chandler.
- swKBD - A module for use with PS/2 AT Keyboards. Written by Graham Mitchell.
- RC Servo Module - Control 1 to 8 RC Servos. Written by AndyO.
- Simple HTTP Client - A simple HTTP client for Swordfish, using David Barker's Ethernet library and the ENC28J60 ethernet IC. Written by Nathan Herbert.
- Pachube (Patch Bay) Client - A set of routines which allows a ENC28J60 equiped PIC to transfer data to and from the online database service Pachube, using David Barker's Ethernet library. Written by Nathan Herbert.