JUCE
Classes | Typedefs | Enumerations
juce_BlocksProtocolDefinitions.h File Reference

Classes

struct  BlockSerialNumber
 
struct  DeviceStatus
 
struct  DeviceConnection
 
struct  TouchPosition
 The coordinates of a touch. More...
 
struct  TouchVelocity
 The velocities for each dimension of a touch. More...
 

Typedefs

using ProtocolVersion = IntegerWithBitSize< 8 >
 
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 MessageType = IntegerWithBitSize< 7 >
 This is the first item in a BLOCKS message, identifying the message type. More...
 
using TopologyIndex = uint8
 This is a type of index identifier used to refer to a block within a group. More...
 
using DeviceCount = IntegerWithBitSize< 7 >
 
using ConnectionCount = IntegerWithBitSize< 8 >
 
using BatteryLevel = IntegerWithBitSize< 5 >
 Battery charge level. More...
 
using BatteryCharging = IntegerWithBitSize< 1 >
 Battery charger connection flag. More...
 
using ConnectorPort = IntegerWithBitSize< 5 >
 ConnectorPort is an index, starting at 0 for the leftmost port on the top edge, and going clockwise. More...
 
using TouchIndex = IntegerWithBitSize< 5 >
 The index of a touch, i.e. More...
 
using PacketCounter = IntegerWithBitSize< 10 >
 
using DeviceCommand = IntegerWithBitSize< 9 >
 
using ControlButtonID = IntegerWithBitSize< 12 >
 An ID for a control-block button type. More...
 
using RotaryDialIndex = IntegerWithBitSize< 7 >
 
using RotaryDialAngle = IntegerWithBitSize< 14 >
 
using RotaryDialDelta = IntegerWithBitSize< 14 >
 
using PacketIndex = IntegerWithBitSize< 16 >
 
using DataChangeCommand = IntegerWithBitSize< 3 >
 
using ByteCountFew = IntegerWithBitSize< 4 >
 
using ByteCountMany = IntegerWithBitSize< 8 >
 
using ByteValue = IntegerWithBitSize< 8 >
 
using ByteSequenceContinues = IntegerWithBitSize< 1 >
 

Enumerations

enum  MessageFromDevice {
  MessageFromDevice::deviceTopology = 0x01, packetACK = 0x02, MessageFromDevice::touchStart = 0x10, MessageFromDevice::touchMove = 0x11,
  MessageFromDevice::touchEnd = 0x12, MessageFromDevice::touchStartWithVelocity = 0x13, MessageFromDevice::touchMoveWithVelocity = 0x14, MessageFromDevice::touchEndWithVelocity = 0x15,
  MessageFromDevice::controlButtonDown = 0x20, MessageFromDevice::controlButtonUp = 0x21
}
 Messages that a device may send to the host. More...
 
enum  MessageFromHost { MessageFromHost::deviceCommandMessage = 0x01, MessageFromHost::sharedDataChange = 0x02, programEventMessage = 0x03 }
 Messages that the host may send to a device. More...
 
enum  DeviceCommands {
  beginAPIMode = 0x00, requestTopologyMessage = 0x01, endAPIMode = 0x02, ping = 0x03,
  debugMode = 0x04
}
 
enum  DataChangeCommands {
  endOfPacket = 0, endOfChanges = 1, skipBytesFew = 2, skipBytesMany = 3,
  setSequenceOfBytes = 4, setFewBytesWithValue = 5, setFewBytesWithLastValue = 6, setManyBytesWithValue = 7
}
 
enum  BitSizes {
  topologyMessageHeader = MessageType::bits + ProtocolVersion::bits + DeviceCount::bits + ConnectionCount::bits, topologyDeviceInfo = sizeof (BlockSerialNumber) * 7 + BatteryLevel::bits + BatteryCharging::bits, topologyConnectionInfo = topologyIndexBits + ConnectorPort::bits + topologyIndexBits + ConnectorPort::bits, typeDeviceAndTime = MessageType::bits + PacketTimestampOffset::bits,
  touchMessage = typeDeviceAndTime + TouchIndex::bits + TouchPosition::bits, touchMessageWithVelocity = touchMessage + TouchVelocity::bits, programEventMessage = MessageType::bits + 32 * numProgramMessageInts, programEventMessage = 0x03,
  packetACK = MessageType::bits + PacketCounter::bits, packetACK = 0x02, controlButtonMessage = typeDeviceAndTime + ControlButtonID::bits
}
 Contains the number of bits required to encode various items in the packets. More...
 

Typedef Documentation

§ ProtocolVersion

§ PacketTimestamp

A timestamp for a packet, in milliseconds since device boot-up.

§ PacketTimestampOffset

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.

§ MessageType

This is the first item in a BLOCKS message, identifying the message type.

§ TopologyIndex

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.

§ DeviceCount

§ ConnectionCount

§ BatteryLevel

Battery charge level.

§ BatteryCharging

Battery charger connection flag.

§ ConnectorPort

ConnectorPort is an index, starting at 0 for the leftmost port on the top edge, and going clockwise.

§ TouchIndex

The index of a touch, i.e.

finger number.

§ PacketCounter

§ DeviceCommand

§ ControlButtonID

An ID for a control-block button type.

§ RotaryDialIndex

§ RotaryDialAngle

§ RotaryDialDelta

§ PacketIndex

§ DataChangeCommand

§ ByteCountFew

§ ByteCountMany

§ ByteValue

§ ByteSequenceContinues

Enumeration Type Documentation

§ MessageFromDevice

enum MessageFromDevice
strong

Messages that a device may send to the host.

Enumerator
deviceTopology 
packetACK 
touchStart 
touchMove 
touchEnd 
touchStartWithVelocity 
touchMoveWithVelocity 
touchEndWithVelocity 
controlButtonDown 
controlButtonUp 

§ MessageFromHost

enum MessageFromHost
strong

Messages that the host may send to a device.

Enumerator
deviceCommandMessage 
sharedDataChange 
programEventMessage 

§ DeviceCommands

Enumerator
beginAPIMode 
requestTopologyMessage 
endAPIMode 
ping 
debugMode 

§ DataChangeCommands

Enumerator
endOfPacket 
endOfChanges 
skipBytesFew 
skipBytesMany 
setSequenceOfBytes 
setFewBytesWithValue 
setFewBytesWithLastValue 
setManyBytesWithValue 

§ BitSizes

enum BitSizes

Contains the number of bits required to encode various items in the packets.

Enumerator
topologyMessageHeader 
topologyDeviceInfo 
topologyConnectionInfo 
typeDeviceAndTime 
touchMessage 
touchMessageWithVelocity 
programEventMessage 
programEventMessage 
packetACK 
packetACK 
controlButtonMessage