picoAPI  1.0.0
picoAPI

A simple API for use with picoCIAA.

Examples

Example Description
picoblinky Just a simple blinking example.
picoanalog Read two analog inputs and display their values.
picoecholed Echo received characters from debug interface and set RGB LEDs.
picosd Write, read and append data to a file in a FAT32 SD Card.
picosd2 Similar to picosd but using classic open-write-read-close API.
picoprint Write data in different formats to debug interface.
picopwm Set 2 PWM pins with variable duty cycle.
picospi SPI example: communication with CC1101 transceiver.
picoi2c I2C example: communication with Si5351 clock generator.

Frequently used functions

Digital Input/Output

Function Description
picoConfigDigitalInput Configure pin as digital input.
picoConfigDigitalOutput Configure pin as digital output.
picoDigitalRead Read pin state.
picoDigitalWrite Write pin state.
picoDigitalToggle Toggle pin state.

See DigitalIO.

Timing

Function Description
pausems Stop program execution in milliseconds.
pauseus Stop program execution in microseconds.

See Timing.

PWM

Function Description
picoPWMInit Initialize PWM engine and set its frequency.
picoPWMSet Set PWM output on pin with a given duty cycle.

See PWM.

Analog Input

Function Description
picoConfigAnalogInput Configure pin as analog input.
picoAnalogRead Read analog input.

See Analog-to-Digital.

Debug interface

When connected to a PC, picoCIAA uses a CDC virtual serial port as debug interface. This port enumerates as COM* in Windows hosts and /dev/ttyACM* on Linux hosts. The debug interface can be accessed with any terminal emulator like PuTTY, HyperTerminal, minicom, GtkTerm, etc.

Function Description
debugSend Send binary data.
debugRecv Receive binary data.
printString Send null-terminated string.
printInteger Convert to string and send number in decimal format.
printHex Convert to string and send number in hexadecimal format.

See SerialCom.

UART interface

Function Description
picoUARTInit Initialize UART Tx and Rx functions in provided pins.
picoUARTSend Send binary data.
picoUARTRecv Receive binary data.

See SerialCom.

SPI interface

Function Description
picoSPIInit Initialize SPI port.
picoSPITransfer Send and receive data (full-duplex).

See SPI.

I2C interface

Function Description
picoI2CInit Initialize I2C port.
picoI2CTransfer Send and receive data (half-duplex).

See I2C.

SD card interface

Connect the picoCIAA to the SDCard as follows:

picoCIAA Signal SDCard pin
P6_11 SPI0_MOSI 2 CMD/DI
P6_12 SPI0_SCK 5 CLK/SCK
P6_13 SPI0_SSEL0 1 DAT3/nCS
P6_14 SPI0_MISO 7 DAT0/DO

Functions:

Function Description
picoSDInit Initialize SPI interface to SD card.
picoSDWriteAll Open, write binary data to a file and close it.
picoSDReadAll Open, read binary data from a file and close it.
picoSDAppendAll Open, append binary data to a file and close it.
picoSDOpen Open a file for reading, writing or appending.
picoSDClose Close file.
picoSDRead Read data from a file.
picoSDWrite Write data to a file.
picoSDPrint Write null-terminated string to a file.
picoSDEndOfFile Check if End-of-File reached.

See SDCard.