Classes | |
struct | BlockSerialNumber |
Structure describing a block's serial number. More... | |
struct | BlockStringData |
Structure for generic block data. More... | |
struct | DeviceConnection |
Structure for the device connection. More... | |
struct | DeviceName |
Structure used for the device name. More... | |
struct | DeviceStatus |
Structure for the device status. More... | |
struct | DeviceVersion |
Structure for the device version. More... | |
struct | HostPacketBuilder |
Helper class for constructing a packet for sending to a BLOCKS device. More... | |
struct | HostPacketDecoder |
Parses data packets from a BLOCKS device, and translates them into callbacks on a handler object. More... | |
struct | IntegerWithBitSize |
Helper class to define an integer with a specific bit size. More... | |
struct | Packed7BitArrayBuilder |
This helper class allocates a block of 7-bit bytes and can push sequences of bits into it. More... | |
struct | Packed7BitArrayReader |
This helper class reads from a block of 7-bit bytes as sequences of bits. More... | |
struct | TouchPosition |
The coordinates of a touch. More... | |
struct | TouchVelocity |
The velocities for each dimension of a touch. More... | |
Typedefs | |
using | BatteryCharging = IntegerWithBitSize< 1 > |
Battery charger connection flag. More... | |
using | BatteryLevel = IntegerWithBitSize< 5 > |
Battery charge level. More... | |
using | BlockName = BlockStringData< 33 > |
using | ByteCountFew = IntegerWithBitSize< 4 > |
using | ByteCountMany = IntegerWithBitSize< 8 > |
using | ByteSequenceContinues = IntegerWithBitSize< 1 > |
using | ByteValue = IntegerWithBitSize< 8 > |
using | ConfigCommand = IntegerWithBitSize< 4 > |
using | ConfigItemIndex = IntegerWithBitSize< 8 > |
using | ConfigItemValue = IntegerWithBitSize< 32 > |
using | ConnectionCount = IntegerWithBitSize< 8 > |
using | ConnectorPort = IntegerWithBitSize< 5 > |
ConnectorPort is an index, starting at 0 for the leftmost port on the top edge, and going clockwise. More... | |
using | ControlButtonID = IntegerWithBitSize< 12 > |
An ID for a control-block button type. More... | |
using | DataChangeCommand = IntegerWithBitSize< 3 > |
using | DeviceCommand = IntegerWithBitSize< 9 > |
using | DeviceCount = IntegerWithBitSize< 7 > |
using | FirmwareUpdateACKCode = IntegerWithBitSize< 7 > |
using | FirmwareUpdateACKDetail = IntegerWithBitSize< 32 > |
using | FirmwareUpdatePacketSize = IntegerWithBitSize< 7 > |
using | MessageType = IntegerWithBitSize< 7 > |
This is the first item in a BLOCKS message, identifying the message type. More... | |
using | PacketCounter = IntegerWithBitSize< 10 > |
using | PacketIndex = IntegerWithBitSize< 16 > |
using | PacketTimestamp = IntegerWithBitSize< 32 > |
A timestamp for a packet, in milliseconds since device boot-up. More... | |
using | PacketTimestampOffset = IntegerWithBitSize< 5 > |
This relative timestamp is for use inside a packet, and it represents a number of milliseconds that should be added to the packet's timestamp. More... | |
using | ProtocolVersion = IntegerWithBitSize< 8 > |
using | RotaryDialAngle = IntegerWithBitSize< 14 > |
using | RotaryDialDelta = IntegerWithBitSize< 14 > |
using | RotaryDialIndex = IntegerWithBitSize< 7 > |
using | TopologyIndex = uint8 |
This is a type of index identifier used to refer to a block within a group. More... | |
using | TouchIndex = IntegerWithBitSize< 5 > |
The index of a touch, i.e. More... | |
using | VersionNumber = BlockStringData< 21 > |
Functions | |
static uint8 | calculatePacketChecksum (const uint8 *data, uint32 size) noexcept |
Variables | |
static constexpr uint32 | apiModeHostPingTimeoutMs = 5000 |
static constexpr uint8 | configMaxOptions = 8 |
static constexpr uint8 | configOptionNameLength = 16 |
static constexpr uint8 | configUserConfigNameLength = 32 |
static constexpr uint32 | controlBlockProgramAndHeapSize = 3000 |
static constexpr uint32 | controlBlockStackSize = 800 |
static constexpr uint32 | currentProtocolVersion = 1 |
This value is incremented when the format of the API changes in a way which breaks compatibility. More... | |
static constexpr const char * | ledProgramLittleFootFunctions [] |
static constexpr uint8 | maxBlocksInTopologyPacket = 6 |
static constexpr uint8 | maxConfigIndex = uint8 (ConfigItemId::user0) + numberOfUserConfigs |
static constexpr uint8 | maxConnectionsInTopologyPacket = 24 |
static constexpr uint8 | numberOfUserConfigs = 32 |
static constexpr uint32 | numProgramMessageInts = 3 |
static constexpr uint32 | padBlockProgramAndHeapSize = 7200 |
static constexpr uint32 | padBlockStackSize = 800 |
static const uint8 | roliSysexHeader [] = { 0xf0, 0x00, 0x21, 0x10, 0x77 } |
All sysex messages to or from a BLOCKS device begin with these header bytes. More... | |
static constexpr int | topologyIndexBits = 7 |
static constexpr TopologyIndex | topologyIndexForBroadcast = 63 |
Use this value as the index if you want a message to be sent to all devices in the group. More... | |
using juce::BlocksProtocol::BatteryCharging = typedef IntegerWithBitSize<1> |
Battery charger connection flag.
using juce::BlocksProtocol::BatteryLevel = typedef IntegerWithBitSize<5> |
Battery charge level.
using juce::BlocksProtocol::BlockName = typedef BlockStringData<33> |
using juce::BlocksProtocol::ByteCountFew = typedef IntegerWithBitSize<4> |
using juce::BlocksProtocol::ByteCountMany = typedef IntegerWithBitSize<8> |
using juce::BlocksProtocol::ByteSequenceContinues = typedef IntegerWithBitSize<1> |
using juce::BlocksProtocol::ByteValue = typedef IntegerWithBitSize<8> |
using juce::BlocksProtocol::ConfigCommand = typedef IntegerWithBitSize<4> |
using juce::BlocksProtocol::ConfigItemIndex = typedef IntegerWithBitSize<8> |
using juce::BlocksProtocol::ConfigItemValue = typedef IntegerWithBitSize<32> |
using juce::BlocksProtocol::ConnectionCount = typedef IntegerWithBitSize<8> |
using juce::BlocksProtocol::ConnectorPort = typedef IntegerWithBitSize<5> |
ConnectorPort is an index, starting at 0 for the leftmost port on the top edge, and going clockwise.
using juce::BlocksProtocol::ControlButtonID = typedef IntegerWithBitSize<12> |
An ID for a control-block button type.
using juce::BlocksProtocol::DataChangeCommand = typedef IntegerWithBitSize<3> |
using juce::BlocksProtocol::DeviceCommand = typedef IntegerWithBitSize<9> |
using juce::BlocksProtocol::DeviceCount = typedef IntegerWithBitSize<7> |
using juce::BlocksProtocol::FirmwareUpdateACKCode = typedef IntegerWithBitSize<7> |
using juce::BlocksProtocol::FirmwareUpdateACKDetail = typedef IntegerWithBitSize<32> |
using juce::BlocksProtocol::FirmwareUpdatePacketSize = typedef IntegerWithBitSize<7> |
using juce::BlocksProtocol::MessageType = typedef IntegerWithBitSize<7> |
This is the first item in a BLOCKS message, identifying the message type.
using juce::BlocksProtocol::PacketCounter = typedef IntegerWithBitSize<10> |
using juce::BlocksProtocol::PacketIndex = typedef IntegerWithBitSize<16> |
using juce::BlocksProtocol::PacketTimestamp = typedef IntegerWithBitSize<32> |
A timestamp for a packet, in milliseconds since device boot-up.
using juce::BlocksProtocol::PacketTimestampOffset = typedef IntegerWithBitSize<5> |
This relative timestamp is for use inside a packet, and it represents a number of milliseconds that should be added to the packet's timestamp.
using juce::BlocksProtocol::ProtocolVersion = typedef IntegerWithBitSize<8> |
using juce::BlocksProtocol::RotaryDialAngle = typedef IntegerWithBitSize<14> |
using juce::BlocksProtocol::RotaryDialDelta = typedef IntegerWithBitSize<14> |
using juce::BlocksProtocol::RotaryDialIndex = typedef IntegerWithBitSize<7> |
using juce::BlocksProtocol::TopologyIndex = typedef uint8 |
This is a type of index identifier used to refer to a block within a group.
It refers to the index of a device in the list of devices that was most recently sent via a topology change message (It's not a global UID for a block unit). NB: to send a message to all devices, pass the getDeviceIndexForBroadcast() value.
using juce::BlocksProtocol::TouchIndex = typedef IntegerWithBitSize<5> |
The index of a touch, i.e.
finger number.
using juce::BlocksProtocol::VersionNumber = typedef BlockStringData<21> |
Contains the number of bits required to encode various items in the packets.
Configuration Item Identifiers.
|
strong |
Messages that a device may send to the host.
|
strong |
|
static |
|
static |
Referenced by juce::BlockConfigManager::getOptionName().
|
static |
|
static |
|
static |
|
static |
|
static |
This value is incremented when the format of the API changes in a way which breaks compatibility.
Referenced by juce::BlocksProtocol::HostPacketDecoder< Handler >::handleTopology(), and juce::BlocksProtocol::HostPacketDecoder< Handler >::handleTopologyEnd().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
All sysex messages to or from a BLOCKS device begin with these header bytes.
The next byte that follows indicates the device index within the topology, where the 0x40 bit is set for device->host messages, and clear for host->device messages. The lower 6 bits contain the topology index of the destination or source device.
|
static |
Referenced by juce::BlocksProtocol::HostPacketDecoder< Handler >::handleName(), juce::BlocksProtocol::HostPacketDecoder< Handler >::handleTopologyConnection(), juce::BlocksProtocol::HostPacketDecoder< Handler >::handleTopologyDevice(), and juce::BlocksProtocol::HostPacketDecoder< Handler >::handleVersion().
|
static |
Use this value as the index if you want a message to be sent to all devices in the group.