Skip to content

Raspberry

Retrieve an ADC device that has been loaded.

Parameters:

NameTypeDescription
nameStringThe name of the ADC device.

Return Type: Adc Device

Returns: The adc_device pointer if found; otherwise, nullptr.

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

Returns: true if an ADC device with the supplied name exists.

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

Returns: A valid adc_device on success, or nullptr on failure.

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

Returns: A valid adc_device on success, or nullptr on failure.

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

Returns: The ADC conversion value (0–255), or -1 on error.

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

Returns: The ADC conversion value (0–255), or -1 on error.

Signatures:

int read_adc(const string &name, adc_pin channel)

Checks if the system has GPIO capabilities.

Return Type: Boolean

Returns: true if the system has GPIO capabilities, false otherwise.

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

Returns: The mode of the pin.

Signatures:

gpio_pin_mode raspi_get_mode(gpio_pin pin)

This function retrieves the pulse width for the specified pin.

Parameters:

NameTypeDescription
pinGpio PinThe pin to get the pulse width for.

Return Type: Integer

Returns: The pulse width of the pin.

Signatures:

int raspi_get_servo_pulsewidth(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

Returns: The value read from the pin.

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 sets the pulse width for the specified pin.

Parameters:

NameTypeDescription
pinGpio PinThe pin to set the pulse width for.
pulsewidthIntegerThe pulse width to set for the pin.

Signatures:

void raspi_set_servo_pulsewidth(gpio_pin pin, int pulsewidth)

This function closes SPI communication on a particular channel.

Parameters:

NameTypeDescription
handleIntegerA reference to the specific SPI connection to close.

Return Type: Integer

Returns: A value indicating success or failure.

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

Returns: The handle referencing this particular connection.

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

Returns: The data returned from the spi transfer

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

Returns: true if the cleanup was successful, false otherwise.

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

Returns: The mode of the pin.

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

Returns: The connection object used to communicate with the remote Raspberry Pi.

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

Returns: The value read from the pin.

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)

Converts the specified pin value to an integer, to use in calculations.

Parameters:

NameTypeDescription
valueGpio Pin ValueThe pin to read the value from.

Return Type: Integer

Returns: The pin value as an integer.

Signatures:

int to_int(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, such as ADS7830. ADC devices are:

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