Libreciva

From Sharpfin
Jump to navigation Jump to search

Overview

The Libreciva library provides the inerfaces to all of the Reciva's hardware. It contains several interface functions:

  • LCD display - defined in lcd.h and lcdhw.h, this set of functions provide control of the radio's display screen, icons and LEDs. It also controls features such as brightness and contrast. The library provides functions for menus, clocks, and input dialogs.
  • Keys - defined in key.h, this set of functions provides an interface to poll the keyboard on the radio.
  • Watchdog - defined in dog.h, this small library provides functions to configure an trigger the radio's watchdog timer.
  • Mute - defined in mute.h, this small library provides functions to control the audio muting on the radio.
  • Log - defined in log.h, this provides functions for error and status logging.

Compiling

You will find the source for libreciva on the Releases page.

The Libreciva library contains, in most cases, two sets of source files, the first being for the radio itself, and the second being for an NCurses Development environment.

Compiling for the Radio

  • You will need the crosstools Toolchain arm compiler (arm-9tdmi-linux-gnu-gcc) installed, and in the path.
  • change directory into the libreciva folder
  • make clean then make HARDWARE=reciva

Compiling for an NCurses System

  • You will need to use the machine's native gcc (which should be in the path)
  • change directory into the libtools folder
  • make clean then make HARDWARE=devel CROSS=

Using the Library

On the Radio

  • Applications are stored under the apps folder.
  • To build the application, issue the command
  • make

On an NCurses System

  • Applications are stored under the apps folder.
  • To build the application, issue the command
  • make CROSS= LDLIBS=-lncurses