Skip to content

Raspberry

Retrieve an ADC device that has been loaded.

Parameters:

NameTypeDescription
nameStringThe name of the ADC device.

Return Type: Adc Device

Signatures:

adc_device adc_device_named(const string &name)

Closes an ADC device given its pointer.

Parameters:

NameTypeDescription
adcAdc DeviceThe ADC device to close.

Signatures:

void close_adc(adc_device adc)

Closes an ADC device given its name.

Parameters:

NameTypeDescription
nameStringThe name of the ADC device to close.

Signatures:

void close_adc(const string &name)

Closes all ADC devices that have been opened.

Signatures:

void close_all_adc()

Checks if an ADC device with the given name has been loaded.

Parameters:

NameTypeDescription
nameStringThe name used to identify the ADC device.

Return Type: Boolean

Signatures:

bool has_adc_device(const string &name)

Opens an ADC device with the specified name and type. Defaults to bus 1 and address 0x48.

Parameters:

NameTypeDescription
nameStringThe name of the ADC device to open.
typeAdc TypeThe type of ADC device (e.g., ADS7830, PCF8591).

Return Type: Adc Device

Signatures:

adc_device open_adc(const string &name, adc_type type)

Loads an ADC device on the specified I2C bus at a given address.

Parameters:

NameTypeDescription
nameStringThe name to assign this ADC device.
busIntegerThe I2C bus number.
addressIntegerThe I2C address of the ADC device.
typeAdc TypeThe type of ADC device (e.g., ADS7830, PCF8591).

Return Type: Adc Device

Signatures:

adc_device open_adc(const string &name, int bus, int address, adc_type type)

Reads an 8-bit value from the specified ADC channel on the device.

Parameters:

NameTypeDescription
adcAdc DeviceThe ADC device to read from.
channelAdc PinThe channel number to read (range depends on ADC type).

Return Type: Integer

Signatures:

int read_adc(adc_device adc, adc_pin channel)

Reads an 8-bit value from the specified ADC channel on the device using its name.

Parameters:

NameTypeDescription
nameStringThe ADC name string to close.
channelAdc PinThe channel number to read (range depends on ADC type).

Return Type: Integer

Signatures:

int read_adc(const string &name, adc_pin channel)

Checks if the system has GPIO capabilities.

Return Type: Boolean

Signatures:

bool has_gpio()

This function should be called when you are finished using the GPIO library. It sets all pin modes to INPUT and values to LOW.

Signatures:

void raspi_cleanup()

Usage:  {</>}


This function retrieves the mode of the specified pin.

Parameters:

NameTypeDescription
pinGpio PinThe pin to get the mode for.

Return Type: Gpio Pin Mode

Signatures:

gpio_pin_mode raspi_get_mode(gpio_pin pin)

This function initializes the GPIO library for use. It should be called before any other GPIO functions.

Signatures:

void raspi_init()

Usage:  {</>}


This function reads the value from the specified pin.

Parameters:

NameTypeDescription
pinGpio PinThe pin to read the value from.

Return Type: Gpio Pin Value

Signatures:

gpio_pin_value raspi_read(gpio_pin pin)

Usage:  {</>}


This function sets the mode of the specified pin to the specified mode.

Parameters:

NameTypeDescription
pinGpio PinThe pin to set the mode for.
modeGpio Pin ModeThe mode to set for the pin.

Signatures:

void raspi_set_mode(gpio_pin pin, gpio_pin_mode mode)

Usage:  {</>}


This function sets the pull-up/down mode for the specified pin.

Parameters:

NameTypeDescription
pinGpio PinThe pin to set the pull up/down mode for.
pudPull Up DownThe pull up/down mode to set for the pin.

Signatures:

void raspi_set_pull_up_down(gpio_pin pin, pull_up_down pud)

Usage:  {</>}


This function sets the PWM duty cycle for the specified pin.

Parameters:

NameTypeDescription
pinGpio PinThe pin to set the PWM duty cycle for.
dutycycleIntegerThe PWM duty cycle to set for the pin.

Signatures:

void raspi_set_pwm_dutycycle(gpio_pin pin, int dutycycle)

Usage:  {</>}


This function sets the PWM frequency for the specified pin.

Parameters:

NameTypeDescription
pinGpio PinThe pin to set the PWM frequency for.
frequencyIntegerThe PWM frequency to set for the pin.

Signatures:

void raspi_set_pwm_frequency(gpio_pin pin, int frequency)

Usage:  {</>}


This function sets the PWM range for the specified pin. Valid values for the range are 25 - 40000

Parameters:

NameTypeDescription
pinGpio PinThe pin to set the PWM range for.
rangeIntegerThe PWM range to set for the pin.

Signatures:

void raspi_set_pwm_range(gpio_pin pin, int range)

Usage:  {</>}


This function closes SPI communication on a particular channel.

Parameters:

NameTypeDescription
handleIntegerA reference to the specific SPI connection to close.

Return Type: Integer

Signatures:

int raspi_spi_close(int handle)

This function opens SPI communication on a particular channel. It will return -1 if not using Raspberry Pi.

Parameters:

NameTypeDescription
channelIntegerThe SPI channel to use.
speedIntegerThe speed of data transfer (in baud).
spi_flagsIntegerOptional flags for the SPI modes and settings.

Return Type: Integer

Signatures:

int raspi_spi_open(int channel, int speed, int spi_flags)

This function transfers data through SPI, it sends data from sendBuf and receives it into recvBuf.

Parameters:

NameTypeDescription
handleIntegerThe reference for a specific SPI connection.
sendStringThe data to send.
countIntegerThe number of bytes to be transferred.
bytes_transferedIntegerThe number of bytes transferred (output)

Return Type: String

Signatures:

string raspi_spi_transfer(int handle, const string &send, int count, int &bytes_transfered)

This function writes the specified value to the specified pin.

Parameters:

NameTypeDescription
pinGpio PinThe pin to write the value to.
valueGpio Pin ValueThe value to write to the pin.

Signatures:

void raspi_write(gpio_pin pin, gpio_pin_value value)

Usage:  {</>}


This function closes the connection to the remote Raspberry Pi and releases any resources associated with it.

Parameters:

NameTypeDescription
piConnectionThe connection object to the remote Raspberry Pi.

Return Type: Boolean

Signatures:

bool remote_raspi_cleanup(connection pi)

This function retrieves the mode of a specific pin on a remote Raspberry Pi.

Parameters:

NameTypeDescription
piConnectionThe connection object to the remote Raspberry Pi.
pinGpio PinThe pin to get the mode for.

Return Type: Gpio Pin Mode

Signatures:

gpio_pin_mode remote_raspi_get_mode(connection pi, gpio_pin pin)

This function initialises a connection to a remote Raspberry Pi using the specified name, host, and port.

Parameters:

NameTypeDescription
nameStringThe name of the connection.
hostStringThe host address of the Raspberry Pi.
portunsigned shortThe port to use for the connection.

Return Type: Connection

Signatures:

connection remote_raspi_init(const string &name, const string &host, unsigned short port)

This function reads the value from a specific pin on a remote Raspberry Pi.

Parameters:

NameTypeDescription
piConnectionThe connection object to the remote Raspberry Pi.
pinGpio PinThe pin to read the value from.

Return Type: Gpio Pin Value

Signatures:

gpio_pin_value remote_raspi_read(connection pi, gpio_pin pin)

This function sets the mode of a specific pin on a remote Raspberry Pi.

Parameters:

NameTypeDescription
piConnectionThe connection object to the remote Raspberry Pi.
pinGpio PinThe pin to set the mode for.
modeGpio Pin ModeThe mode to set for the pin.

Signatures:

void remote_raspi_set_mode(connection pi, gpio_pin pin, gpio_pin_mode mode)

This function sets the pull-up/down mode of a specific pin on a remote Raspberry Pi.

Parameters:

NameTypeDescription
piConnectionThe connection object to the remote Raspberry Pi.
pinGpio PinThe pin to set the pull up/down mode for.
pudPull Up DownThe pull up/down mode to set for the pin.

Signatures:

void remote_raspi_set_pull_up_down(connection pi, gpio_pin pin, pull_up_down pud)

This function sets the PWM duty cycle for a specific pin on a remote Raspberry Pi.

Parameters:

NameTypeDescription
piConnectionThe connection object to the remote Raspberry Pi.
pinGpio PinThe pin to set the PWM duty cycle for.
dutycycleIntegerThe PWM duty cycle to set for the pin.

Signatures:

void remote_raspi_set_pwm_dutycycle(connection pi, gpio_pin pin, int dutycycle)

This function sets the PWM frequency for a specific pin on a remote Raspberry Pi.

Parameters:

NameTypeDescription
piConnectionThe connection object to the remote Raspberry Pi.
pinGpio PinThe pin to set the PWM frequency for.
frequencyIntegerThe PWM frequency to set for the pin.

Signatures:

void remote_raspi_set_pwm_frequency(connection pi, gpio_pin pin, int frequency)

This function sets the PWM range for a specific pin on a remote Raspberry Pi. Valid values for the range are 25 - 40000

Parameters:

NameTypeDescription
piConnectionThe connection object to the remote Raspberry Pi.
pinGpio PinThe pin to set the PWM range for.
rangeIntegerThe PWM range to set for the pin.

Signatures:

void remote_raspi_set_pwm_range(connection pi, gpio_pin pin, int range)

This function writes a specified value to a specific pin on a remote Raspberry Pi.

Parameters:

NameTypeDescription
piConnectionThe connection object to the remote Raspberry Pi.
pinGpio PinThe pin to write the value to.
valueGpio Pin ValueThe value to write to the pin.

Signatures:

void remote_raspi_write(connection pi, gpio_pin pin, gpio_pin_value value)

The Adc Device type is used to refer to ADC (Analog-to-Digital Converter) devices that can be managed by the SplashKit ADC code. ADC devices are:

  • loaded with load_adc_device,

  • accessed using Adc Device Named or checked with Has Adc Device,

  • read using read_adc_channel to retrieve analog values from specific channels,

  • and must be released using free_adc_device (to release a specific ADC device) or free_all_adc_devices (to release all loaded ADC devices).

ADC devices allow you to interface with external analog sensors or inputs, converting their signals into digital values for processing in your application.

You can check if an ADC device is loaded using Has Adc Device.

Use free_adc_device to release resources associated with a specific ADC device, or free_all_adc_devices to clean up all ADC devices.