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.