Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

API Reference

Node.js

  • Online reference coming soon.

Python

  • Online reference coming soon.

Arduino (C/C++)

  • Online reference coming soon.

GumbandConnection

A Gumband communication instance (only one can exist per device). Functions for this class are listed below:

Example Usage:

GumbandConnection MyGumband;

begin()

Initiates the Gumband connection.

Syntax:

void begin()

void begin(uint8_t offline) //Begin in offline mode

Example Usage:

MyGumband.begin();

MyGumband.begin(1);

id()

Sets the Hardware ID of the Gumband Hardware. This is a unique identifier generated by the Gumband UI. Each separate registered Gumband Hardware device receives its own ID. This ID is required to link Hardware to a specific Exhibit in the Gumband UI.

Syntax:

void id(int id);

void id(const char* id);

Example Usage:

MyGumband.id(16);

MyGumband.id(“16”);

username()

Set the Gumband master control server username. This must match the username created for this device within the Gumband UI.

Syntax:

void username(char* text);

Example Usage:

MyGumband.username(“MarlonBando”);

password()

Set the Gumband master control server password. This must match the password created for this device within the Gumband UI.

Syntax:

void password(char* text);

Example Usage:

MyGumband.password(“P455W0RD!”);

connected()

Returns ‘1’ if the Hardware has a valid network connection.

Syntax:

uint8_t connected();

Example Usage:

if(MyGumband.connected() == 1) { //Connected to Network }

connectedMaster()

Returns ‘1’ if the Hardware has a valid master server connection.

Syntax:

uint8_t connectedMaster();

Example Usage:

if(MyGumband.connectedMaster() == 1) { //Connected to Master }

connectedExhibit()

Returns ‘1’ if the Hardware has a valid Exhibit server connection.

Syntax:

uint8_t connectedExhibit();

Example Usage:

if(MyGumband.connectedExhibit() == 1) { //Connected to Exhibit }

event()

Publish a text message to the ‘event’ log.

Syntax:

void event(char* text);

Example Usage:

MyGumband.event(“An event has occurred!”);

error()

Publish a text message to the ‘error’ log.

Syntax:

void error(char* text);

Example Usage:

MyGumband.error(“An error has occurred!”);

debug()

Publish a text message to the ‘debug’ log.

Syntax:

void debug(char* text);

Example Usage:

MyGumband.debug(“Something routine has occurred!”);

print()

Print data to the Hardware USB serial port.

Syntax:

void print(char* text);

void print(char byte);

Example Usage:

MyGumband.print(“Hello World!”);

MyGumband.print(25);

GumbandProperty

An instance of a Gumband property or endpoint. An individual instance must exist for every Gumband property in the Exhibit.

Example Usage:

GumbandProperty MyProperty;

begin()

This function creates a named property within a named peripheral container and registers it with the Gumband server so we can publish or subscribe to it. A Gumband instance must first exist before this function will succeed.

Syntax:

int8_t begin(const char* periph, const char* prop, gmbnd_prop_type);

Example Usage

MyProperty.begin(“PeripheralName”, “PropertyName”, gmbnd_button);

publish()

Publish data to the property endpoint.

Syntax:

void publish(int data);

void publish(uint8_t data);

void publish(uint32_t data);

void publish(uint8_t* data, uint8_t length);

Example Usage:

MyProperty.publish(234);

MyProperty.publish(values, 5); //values[5] = {3,5,8,1,0}

AT Commands

Bundles support an AT command set over a serial interface.

AT

Empty test command, Bundle will respond with “OK” if successfully receiving AT commands.

AT+GBSET

Change or initialise Gumband settings.

Syntax:

AT+GBSET=<HardwareId>,<Firmware>

Example Usage:

AT+GBSET=7,10

AT+GBAUTH

Set the Gumband Master server authorization credentials.

Syntax:

AT+GBAUTH=<Username>,<Password>

Example Usage:

AT+GBAUTH=”MarlonBando”,”P455W0RD!”

AT+GBCREATE

Create a Publish or Subscribe Property

Syntax:

AT+GBCREATE=<Pub/Sub>,<Peripheral>,<Property>,<Type>

Example Usage:

AT+GBCREATE=Pub,”Front Panel”,Button,gmbnd_button

AT+GBCREATE=Sub,”Front Panel”,LED,gmbnd_led

AT+GBPUB

Publish to a Property

Syntax:

AT+GBPUB=<Peripheral>,<Property>,<Data>

Example Usage:

AT+GBDEBUG=”Motor Enabled”

AT+GBERROR

Publish an Error message.

Syntax:

AT+GBERROR=<Text>

Example Usage:

AT+GBERROR=”Motor Stall Detected!”

AT+GBDEBUG

Publish a Debug message.

Syntax:

AT+GBDEBUG=<Text>

Example Usage:

AT+GBDEBUG=”Motor Enabled”

AT+GBEVENT

Publish an Event message.

Syntax:

AT+GBEVENT=<Text>

Example Usage:

AT+GBEVENT=”A user pushed the start button”

+GBSUB

Data from a subscribed property, this command is sent from the device and cannot be written to.

Syntax:

+GBSUB=<Peripheral>,<Property>,<Data>

Example Usage:

AT+GBSUB=”Front Panel”,LED,0x00F0

Gumband Property Types

Property Type

Size

Description

gmbnd_button

1 byte

Momentary Button -
0 = Release

1 = Press
2 = Toggle/Moment

gmbnd_switch

1 bool (byte)

Toggle Switch -
0 = Off
1 = On

gmbnd_encoder

4 bytes

32-bit number

gmbnd_relay

1 bool (byte)

Relay -
0 = Off
1 = On

gmbnd_pwm

4 bytes

PWM Duty Cycle

gmbnd_led

2 bytes

Brightness

gmbnd_motor_position

4 bytes

gmbnd_motor_speed

4 bytes

gmbnd_motor_accel

4 bytes

gmbnd_step_motor

4 bytes

gmbnd_addr_led

7 bytes

IARGBW

I = Index (16bit)
A = alpha/brightness

RGBW = Color Bytes

gmbnd_byte

1 byte

Generic 8 bit number

gmbnd_int32

4 bytes

Generic 32 bit number

  • No labels