Timecode Systems AirGlu2 Wireless Sync and Control Module User Manual
- June 5, 2024
- Timecode Systems
Table of Contents
- System Overview
- RFSI=68,1………… This means the current signal strength is 68 and the unit is
- RFSI=14,0……… This means the current signal strength is 14 and the unit is
- @3;DASP>Length+Data\n Will send Length+Data to slave ID #3
- Updating Firmware
- Appendix
- Integration Instructions
- Certifications
- Documents / Resources
AirGlu2 Wireless Sync and Control Module
User Manual
Key Features
The AirGlu2™ module highlighted features are listed below:
- Configurable Sync and Control module for sync and control of professional cameras, recorders, and audio devices
- Built-in Timecode Generator, with 0.5ppm VC TCXO
- Timecode Input and Timecode output modes
- Master or Slave operation modes
- Genlock and Word Clock sync outputs
- Sync and Control wireless using the sub-GHz protocol, transmit and receive.
- External antenna port
- Additional connectivity to apps, using 2.4GHz Bluetooth LE.
- 2.0v and 3.3v regulated inputs
- UART to host equipment with buffered data inputs
- Simple serial UART API for all menu and control functions
- Single power and I/O port
- Surface Mount module
System Overview
Introduction
The AirGlu™ module is an energy-friendly, compact solution for providing
wireless sync and control capabilities to a professional camera, recorder, or
audio device.
It combines an integrated MCU/2.4GHz transceiver, FPGA, and Sub GHz radio
transceiver.
A highly accurate 0.5ppm TCXO provides stable timecode and sync outputs.
It can communicate via Sub GHz radio to other AirGluTM and AirGlu2TM modules
or to 3rd party applications using the 2.4GHz Bluetooth LE radio.
It has an external-internal antenna port and can be surface mounted into a
host PCB.
It is extremely compact at 22 mm x 16 mm.
Serial UART API S1C Commands
API V5.4
Getting/Changing Configuration Settings of S1C to enable devices
All commands are formed normally using text-based strings and communicated to
the device by one of the following methods.
- A bi-directional serial link. The link will currently be based around a logic-level serial port with or without a CTS/RTS handshake with a default baud rate of 57600. Note that TCS standard serial I/O will not tolerate full RS232 voltage levels, also RS232 has inverse logic.
- For Bluetooth Low Energy enabled devices.
The method to be used to read or change values with the System One Controller
(S1C) using simple control request messages. These requests can be to retrieve
information or to change settings. The S1C will respond back to the requested
data or acknowledgment changes made.
All control messages and replies can be checked using simple terminal
software, i.e. Teraterm for serial links
Command Syntax
Commands and replies are formed as readable ASCII strings.
Commands/queries/replies start with a #’, this start character is followed by the command/query string which is then followed by a
?’ for queries or an =’ for commands/replies. All commands and queries are cases sensitive, currently all upper-case and 4 ASCII characters long – excluding
#’, =’ or
?’.
All commands and queries must be terminated with a \n’ or
\r\n’]. All non-binary replies will be terminated with
a single
Command value strings must not exceed 112 bytes to be compatible with the
BLink network.
Binary Commands
Commands or queries requiring binary data are identified with different
assignment characters as follows.
>’………… Binary set (same as text command’s
=’)
<‘………… Binary get (same as text command’s
?’)
Following the assignment, the character is a single length byte that denotes
the length of the following binary data. If there is no binary data to follow
then this length byte should be zero. The length byte should then be followed
by the first byte of the binary data. The binary data (or zero-length byte)
still requires to be followed with an n’ termination character. “#BCMD>Length+Binary Data\n” **Multiple Commands per linet** Multiple commands can be placed on a single command line. This is most useful for BLink commands/queries to a single remote device as multiple commands on a single line will be transmitted to the remote device in a single frame period i.e. quicker. Multiple commands should be separated with the
:’ (full colon)
character. Each line, not each command, should be started with the #’ character and terminated with a\n” “#TCTM?:TCUB?:RFTX=1:BINC>\04****\n” Replies to multiple commands may be returned separately. It must be remembered that there is a line length limit of 112 characters. **BLink Network Commands** BLink network device address is slightly different, please see the later section on
Blink Networks’ for full details.
Timecode Source
TCSC?………. Returns the current timecode source as a string TCSC=n where n is an
ASCII ‘0’ through ‘2’ where;
0 = Internal (free run)
1 = External RF
2 = External RF (Cont) Free run between sync packets.
3 = External LTC
4 = External LTC (Cont) Free run if signal removed TCSC=n ………. Sets the
timecode source to the value n as in the list below. The S1C will reply with
the currently set source where;
0 = Internal
1 = External RF
2 = External RF (Cont)
3 = External LTC
4 = External LTC (Cont)
5 = Jam once to RF then go to Internal mode
6 = Jam once to LTC then go to Internal mode
Timecode
TCTM?…….. Returns the current timecode as a string “TCTM=hhmmssff”
TCTM=hhmmssff ……. Sets the current Timecode (only if in ‘Internal’ Mode)
User-Bits ( also see RF User bits)
TCUB?……… Returns the current User Bits
TCUB=uuuuuuuu……… Sets the current User Bits (only if in ‘Internal’ Mode or RF
user bits switch (RFUB) is off)
Broadcast Timecode
TCBC=n Will configure the unit to broadcast on the serial output a
‘#TCTM=hhmmssff’ string periodically.
TCBC=0…….. Turn off broadcast
TCBC =1……. Send Timecode once a second on frame 10. Frame 10 allows easy
offset adjustment to what is used/displayed.
TCBC=2 Send Timecode every frame.
Timecode Run/Freeze
When the Timecode source is set to a non-continuous mode the output Timecode
will ‘freeze’ until the incoming signal is seen, triggering a running the
Timecode.
Whereas continuous modes will continue to run the Timecode in the absence of
an external signal and then ‘soft-lock’ when the signal is re-established.
These functions can override the standard behavior.
TCRN?……… Returns whether Timecode is running (=1) or frozen (=0).
TCRN=n……… Sets the Timecode to run (n=1) or freeze (n=0).
Frame Rate **
TCFR?…… Returns the current frame rate (Frames per Second) and whether using
Drop-Frame encoding of the timecode data. Returns TCFR=n,d where n is the FPS
value1001 and d is a flag of whether using drop-frame encoding or not;
24000,0 = 23.98 fps (Non Drop-Frame)
24024,0 = 24 fps
25025,0 = 25 fps
30000,0 = 29.97 fps
30000,1 = 29.97 fps Drop-Frame
30030,0 = 30 fps
30030,1 = 30 fps Drop-Frame
The function will accept double frame rates, as follows but will return the
standard rate value in response and for subsequent queries.
48000,0 = 47.96 fps (Non Drop-Frame)
48048,0 = 48 fps
50050,0 = 50 fps
60000,0 = 59.94 fps
60000,1 = 99.94 fps Drop-Frame
60060,0 = 60 fps
60060,1 = 60 fps Drop-Frame
TCFR=n,d…….. Sets the current frame rate & drop frame to the values n, d as in
the list above. The return value must be checked as illegal values will be
ignored or changed to the nearest value.
If changing the frame rate then the TV Sync standard may also change. It is
important that the TV Sync value must be read and displayed after any changes
to the FPS.
Genlock or Sync Standard
GLSD?…….. Returns the current TV sync (Genlock) method as a string GLSD=n
where n is an ASCII 0 through 13 where;
0 = Off
1 = PAL
2 = NTSC
3 = 720p
4 = 720p x2 (double rate)
5 = 1080i
6 = 1080p
7 = 1080p x2
8 = LTC (Timecode)
9 = 44.1 KHz Wordclock
10 = 88.2 KHz Wordclock
11 = 48 KHz Wordclock
12 = 96 KHz Wordclock
13 = 192 KHz Wordclock
GLSD=n Sets the current TV Sync method to the value n as in the list above. If
the sync standard is not supported for the current frame rate the reply may
not be the same as the request. The reply must be decoded and displayed as
certain TV sync methods cannot be used with certain frame rates.
Genlock or Sync Level
GLOP?……. Returns the current TV sync level GLOP=n where n is an ASCII
character ‘0’ or ‘1’ where;
0 = Normal…… (75 Ohm)
1 = High……… (2 x 75 Ohm = 37.5 Ohm for 3D camera rigs)
GLOP=n ……..Sets the TV Sync output as per the table above
RF Channel Number *
RFCH?………. Returns the current RF channel number as “RFCH=n”. Channel number
range is 1 through to a maximum of 14 but will depend on country/area.
RFCH=n……. Sets the current RF channel number. The reply must be decoded and
displayed as certain channels cannot be used within some areas.
*Country/Area Setting
RFCN?……… Return Current Country/Area setting for the ISM band transceiver
RFCN=n…… Sets the current Country/Area setting. If changing the country then
the RF channel number may also change, so the RF channel number must be read
and displayed after any changes to the country/area.
0 = CEPT (EU/UK) …. 865.050-868.050MHz
1 = FCC (US/AU) …….. 915.050-918.650MHz
2 = ARIB (JP)…. ……….920.600-923.600MHz
RF Signal Strength
RFSI? Returns the current signal strength (0 to 99) and whether the unit is
locked to an RF timecode signal.
The return will be something like this;
RFSI=68,1………… This means the current signal strength is 68 and the unit is
locked.
Whereas;
RFSI=14,0……… This means the current signal strength is 14 and the unit is
unlocked.
RF User bits
RFUB?……. Returns the ‘RF Receive User-Bits’ on/off switch value, 0(zero) if
off or not synced to master, 1 if on i.e. synchronized.
RFUB=n…… Sets the RF User-Bits on/off switch, where n = 0(off) or 1(on)
**Transmitter On/Off *
RFTX?……….. Returns the status of the Transmitter, 0(zero) if off, 1 if on.
RFTX=n…….. Sets the Transmitter on/off, where n = 0(off) or 1(on)
Note:
The transmitter will be automatically turned off if the Timecode Source is
switched to External RF mode. It will not be automatically re-enabled when
switched back.
Device Type Name
STTN?…… Returns the current unit’s device type as a text string such as
“SystemOne OEM”.
Device Definable Name
STNM?…… Returns the current unit’s text name string. This string is user-
definable and is used to represent a ‘friendly’ name for the unit i.e. “Camera
1”.
STNM=…… Sets the text name of the unit. The maximum length is 11 characters.
Display Brightness (only useful if used with display)
STBT?…… (Deprecated – Use STBR) Returns the current brightness setting as
“STBT=n” where n is an ascii character representing the current display
brightness value ‘0’ to ‘7’
STBT=n….. Sets the display brightness.
Revision**
STVS?….. Returns the current version as a string “STVS=
- Unit Type
- Unit Device Type Name
- Firmware Revision * 100
- FPGA Revision * 100
- Ext Revision * 100
- S1C Revision
- Device Capability Flags – See Appendix
The device capability flags state what functions can be used with the device,
such as if a display is fitted, has Wifi capability, or external Sync port,
etc. This is denoted using a 32bit hexadecimal number.
A typical return from this request will be:-
STSS=11,UltraSyncBLU,201,106,0,5,E0F07040
Individual Device – Poll Changing Data
STSP?…… (For use with the individual device – Use BLSP=n if through BLink
master) Poll for changing status information from the current device.
The status’ will be returned as an ASCII string with each status comma-
delimited on each line. The status’ to be returned will be:-
- Current Assigned Network Group Number – ‘0’/’A’ – ‘F’
- Current UserBits “UUUUUUUU”
- Data changed flags (8bit hex) – see below
- Ext Sync Std (0=Off, 1=PAL… see GLSD command)
- Battery Percentage
- On PSU (0 or 1)
- RF Signal Strength (0 to 99)
- Friendly name
Data changed flags – Bit definitions;
0. Main Static data Changed – use BLSS? to get changes
1. Main Polling data Changed – use BLSP? to get changes
2. Attached device static data changed – use GCSS?
3. Attached device polling data changed – use GCSP?
4-7 Undefined
A typical return from this request will be:-
BLSP=1,B,65,CAFEF00D,05,40,0,65,UltraSync 1
STSP=0…… Clear Data Changed flags
Bluetooth Low Energy (BLE) Commands
BTPR= Set BLE into pairing mode Return values;
BTPR=0….. Stop any pairing sequence
BTPR=1….. Initiate pairing sequence – look for devices wishing to pair with us
BTPR=2….. Connect to device
BTPR?…….. Obtain current pairing information Return Values
BTPR=0……. The pairing sequence is idle
BTPR=1….. Searching
BTPR=2,……
BTST?……. Obtain the current status of BLE devices
This request returns the number of available connection slots followed by a
list of currently connected device names and signal strengths.
i.e.
BTST=1,name1,85,name2,80,,0,,0
Signifying currently two devices connected and just one slot available for a
new pairing to another currently unknown device.
BTST=…….. Delete pairing information
BTST=0……… Delete whole pairing table
Device Control and Status – Generic Commands
GCMD?
This command is a method of getting connected to devices. As well as returning
the device ‘Family’ type it also returns the model number.
As BLST only returns the ‘Family Type’ this function returns both this and the
model connected like a string.
The query returns a CSV string where the first value is the Family Type of the
connected device followed by a string denoting the device’s model number. If
only one value is returned, i.e. no comma and no second value, then a ‘family’
connecting lead is plugged in but no device was detected connected to the
lead.
Device Types
-1 = Nothing connected
0 = Sound Devices
1 = Canon OK
2 = GoPro
GCCT? Request the current transport control status Returned values:-
-1 = Nothing connected/Offline
0 = Unknown
1 = Stopped
2 = Recording
3 = Playback
4 = Pause
5 = Rewind
6 = Fast Forward
GCCT=n
As above but command to change the state of the device to ‘n’ status as per
the list above.
GCVR?
Requests the firmware version for the attached device and returned as an ASCII
string
GCBT?….. Returns the battery level in percentage units 0 through 100
GCON?….. Power status 1=On, 0=Off
GCDV? Media Status. GCDV=
0 = CF Card
1 = SD Card
2 = Internal Hard Disk
3 = External drive
- Manufacturer’s name – ASCII text value
- Manufacturer’s model – ASCII text value
- Capability Flags – 32bit hexadecimal number – See appendix
- Storage unit #1 Name (ASCII string)
- Storage unit #1 Capacity (integer value)
- Storage unit #1 Units 0 = Empty/Unknown,1 = MB, 2 = GB, 3=TB
- Storage unit #2 Name
- Storage unit #2 Capacity
- Storage unit #2 Units
- Storage unit #3 … etc.
GCXP?……. Get the attached device’s changing data
Returns a series of fields denoting the attached device’s current status The
fields are comma-delimited.
- Current transport status – See appendix
- Current frame rate numerator
- Current frame rate denominator
- Rate Flags (8bit Hex) – Bit 0 = Drop Frame, others unused
- Current battery level percentage
- External power applied/battery charging flag
- Current clip/filename
- Storage unit currently selected or in use
- Storage unit #1 media remaining time in minutes
- Storage unit #1 media remaining size
- Storage unit #2 media remaining time in minutes
- Storage unit #2 media remaining size
- Storage unit #3… etc.
GCXP=…… Used to set the attached device’s transport status or frame rate.
This command can only change the transport control state or the frame rate.
The command need only supply the first field if just controlling the transport
state or optionally two fields if also controlling the frame rate.
- Current transport status – See appendix
- Current frame/bit rate Numerator (optional)
- Current frame/bit rate Denominator (optional)
BLink networks
BLink is a method of connecting client/slave devices to a master controlling
device via the TCS proprietary long-range RF link. The master device MUST be
the device
that the clients are connected to for RF Timecode synchronization.
All S1C commands are initially sent to the master device and then relayed to
the BLink client via the RF link. Responses from the BLink client are then
replied back through the RF link to the master and then back to the command
originator.
Generally, all commands/requests are replied to but it must be noted some
replies may take over a second to be returned. If no reply is heard within,
say 2 seconds, the original request should be re-sent.
The master device continually polls the BLink network both obtaining basic
status information which is stored in a local table for fast responses to
requests
The BLink master also looks for new devices being connected to the network.
New devices are auto allocated a new BLink ID which corresponds to a table
entry of status information. New clients will generally be allocated an empty
table position but if these get used up then entries from clients ‘not heard
from’ will be re-used. This table may change as BLink devices come and go from
the network.
- New devices may re-use table entries of devices that have disappeared.
- Table entries may exist of devices that have not been heard from for a long time.
- Returning devices may be allocated a new BLink network ID and therefore a different position in the table, therefore reference to Unique ID must be maintained.
The BLink system can be configured for in excess of 1000 clients but is
currently restricted to around 50 clients depending upon the TCS device used
as BLink master. It must be considered that more BLink clients do reduce the
speed of the network.
Command use with BLink network
Example addressing of individual unit within BLink network
“#@1; GLSD?\n”………. Requests Sync standard of Blink device 1
“#@42; GLSD=0\n”…… Sets Sync standard of Blink device 42 to off.
Note; “#@0; GLSD?\n”…… Requests the Sync standard of the Blink Master and
will result in the same as “#GLSD?\n”
Broadcast commands to all units will be for a restricted set of
commands/settings only (not requests) and will be addressed using the “#@;”
prefix i.e. device number missing. Broadcast messages are NOT responded to by
the clients and there is no way of knowing without checking that a command has
been heard or actioned.
There are also Group addressing commands that can address groups of units that
are assigned to a particular group. There are 6 groups named ‘A’ through to
‘F’ and should be addressed as #@A; for instance, to address group ‘A’
devices.
S1C is designed to address either the ‘Master’ device or any of the devices
listening to the ‘Master’ device. The master device will be the device that
all S1C communications are directed for access to the BLink network.
S1C may also be used directly with devices that are currently a client within
another master device’s BLink network, in this instant access to the BLink
network is not possible. This would be used locally to ask for current
information of that particular device, such as Timecode, etc.
BLID?…… Retrieves the current BLink ID for the device. The BLink ID is
determined by the BLink master and cannot be set otherwise.
BLGR?…… Returns the BLink group to the slave belongs. Slave devices can be
addressed individually or within groups. There are six groups so the reply
will be an ‘A’ through ‘F’ depending on the current group or will return ‘0’
(zero) if the slave does not belong to any group.
BLGR= Sets the slave unit to belong to a particular group of slaves. Values
should be an ASCII ‘A’ through to ‘F’ or a ‘0’ if to remove the slave from all
groups.
Sending user-defined data to BLink slave devices
DASP=
Send a user-defined
The command should be used along with the formatting required to address slave
units individually or globally. i.e.
“#@7; DASP=Hello\n”….. Will send “DASP=Hello” to slave ID #7
“#@; DASP=” To All\n”…… Will send “DASP=To All” to every slave
This command will also work with binary data such as
@3;DASP>Length+Data\n Will send Length+Data to slave ID #3
The overall length of the command should be kept as short as reasonably
possible and must not exceed 112 bytes.
Sending user-defined data from slave devices back to the master.
DAMP=
Send a user-defined
i.e. “DAMP=Hello\n”
Will arrive at the master as “#@n; DAMP=Hello” – where n = slave ID
All the following commands should be directed to the master device only
BLST?……. (Deprecated – use BLSS/BLSP)
Returns the number of known BLink devices on the network and a number or
sequence of numbers that represent a bitmap of which slave devices are active.
A reply of BLST=5, 91 means there are currently 5 devices online, and if the
91 (decimal) is converted to a binary value i.e. 1011011 will give a bitmap
representation of active devices where bit 0 represents device 1, bit 1
represents device 2, and so on. In this instance devices 1, 2, 4, 5, & 7 are
all active. Each bitmap number represents 8 devices so a third number in the
reply represents the bitmap of devices 9 through to 16 and so on. This request
should then be followed with individual requests for a particular device’s
current status.
BLST Command must be used directly on the connected master device.
Addressing a slave device such as #@3:BLST? will return nothing.
BLST=n….. Retrieve basic status information from a BLink network device. Where
n is the index into the table of stored devices.
For instance; BLST=1 will reply with the details of the first device in the
table, and BLST=2 will reply with the details of the second device in the
table, and so on.
The statuses will be returned as an ASCII string with each status comma-
delimited on each line. The status’ to be returned will be:-
- ID (Table Index)
- Unique ID (hex form of 32-bit number i.e. 8 characters)
- Unit Type
- Last Reply (how long since the last reply from client [x10mS])
- Replied Timecode “HHMMSSFF”
- Replied UserBits “UUUUUUUU”
- Sync Mode (0=INT, 1=Ext RF.. see TCSC command)
- FPS (0=25,1=23.98,2=24,,,etc)
- Ext Sync Std (0=Off, 1=PAL… see GLSD command)
- Locked to Timecode Source (0 or 1)
- Battery (1-5)
- On PSU (0 or 1)
- UserBits Lock (1=User Settable 0=Locked to RF Master)
- Attached Device Type – See GCMD command
- Current Assigned Group Number – 0 if none
- Attached are Device Flags. The value should be broken into binary bits
A typical return from this request will be:-
BLST=1,12ABCD78,6,121,00043410,00000000,1,1,0,1,3,0,0,2,0,3
We may wish to expand this list in the future so currently ignore any
subsequent statuses.
The statuses are only updated around twice per second maximum. So this command
should only be used infrequently.
Initial Connect – Static Data
BLSS?……. Returns a bitmap of known BLink devices on the network.
The bitmap is broken down into 32-bit hexadecimal values that represent a
bitmap of which slave devices are active. I say there is the reply
BLST=0000005B if now the reply is broken into binary, each bit represents a
device present or not (1 or 0). Thus, the hex value of 0000005B breaks down to
binary 0…0001011011 and shows there are 5 bits set, thus there are currently 5
devices online, also the bits that are set give a representation of active
devices where bit 0 represents device 1, bit 1 represents device 2, and so on.
In this instance devices 1, 2, 4, 5, & 7 are all active. Each bitmap number
represents 32 devices so additional values in the reply represent the bitmap
of devices 33 through to 64 and so on.
The BLSS Command must be used directly on the connected master device.
Addressing a slave device such as #@3:BLSS? will return nothing.
BLSS=n…… Returns the slave device’s static data, where n is the index into the
table of stored devices.
The statuses will be returned as an ASCII string with each status comma-
delimited on each line. The status’ to be returned will be:-
- Blink ID
- Unique ID (32bit Hexadecimal)
- Unit Type
- Unit Device Type Name
- Firmware Revision * 100
- FPGA Revision * 100
- Ext Revision * 100
- S1C Revision
- Device Capability Flags (See appendix)
The device capability flags will let the Hub know what functions can be used
with the device, such as if a display is fitted, has Wifi capability, or
external Sync port etc. It is
proposed to use a 32bit hexadecimal number.
A typical return from this request will be:-
BLSS=1,12ABCD78,11,UltraSyncBLU,201,106,0,5, E0F07040
There could be confusion when parsing the returned values from the above two
requests as they both return “BLSS=
Slave Poll
BLSP?……. Same as ‘BLSS?’ command – see above.
BLSP=n……. Retrieve status information from a BLink network device.
Where n denotes the index in the table of stored devices.
For instance; BLSP=1 will reply with the details of the first device in the
table, and BLSP=2 will reply with the details of the second device in the
table, and so on.
The statuses will be returned as an ASCII string with each status comma-
delimited on each line. The status’ to be returned will be:-
- Blink ID
- Current Assigned Group Number – ‘0’/’A’ – ‘F’
- Last Reply (time since last reply x10mS). Zero if unheard.
- Current UserBits “UUUUUUUU”
- Data changed flags (8bit hex) – see below
- Ext Sync Std (0=Off, 1=PAL… see GLSD command)
- Battery Percentage
- On PSU (0 or 1)
- RF Signal Strength (0 to 99)
- Friendly name
Field 5 – Data changed flags – Bit definitions;
0 Main Static data Changed – use BLSS? to get changes
1 Main Polling data Changed – use BLSP? to get changes
2 Attached device static data changed – use BLXS?
3 Attached device polling data changed – use BLXP?
4-7 Undefined
The changed flags are automatically reset after this query.
A typical return from this request will be:-
BLSP=1,B,65,CAFEF00D,05,40,0,65,UltraSync 1
Devices with changed information
BLCH? Similar to the ‘BLCG’ command but only flags changes once the master
device has updated its records with the changes.
The map returned is the same as the ‘BLSS?’ command above i.e. hexadecimal not
decimal.
BLCH=0……. Reset BLCH bits.
BLCG?…….. (Deprecated – use BLCH)
Returns the number of BLink network slave devices that have changed details
plus a bitmap of the affected devices.
BLCG=0……. Reset BLCG bits.
Slave’s Attached Device Status
These commands should be used to get information regarding a device attached
to a slave unit, directly from the master device. There is one query to get
static data that rarely changes, and one to get data that can frequently
change.
BLXS=n……… Get the slave device’s static data where n = slave’s BLink ID.
Returns a series of CSV fields that define the attached device and its
capabilities.
The fields are returned comma-delimited.
- Blink ID
- Manufacturer’s name – ASCII text value
- Manufacturer’s model – ASCII text value
- Capability Flags – 32bit hexadecimal number – See appendix
- Storage unit #1 Name (ASCII string)
- Storage unit #1 Capacity (integer value 0 – 65535)
- Storage unit #1 Units 0 = Empty/Unknown,1 = KB, 2 = MB, 3 =GB
- Storage unit #2 Name
- Storage unit #2 Capacity
- Storage unit #2 Units
- Storage unit #3 … etc.
BLXP=n…….. Get the slave device’s changing data where n = slave’s BLink ID.
Returns a series of CSV fields denoting the attached device’s current status
The fields are comma-delimited.
- Blink ID
- Current transport status – See appendix
- Current frame rate numerator
- Current frame rate denominator
- Rate Flags (8bit Hex) – Bit 0 = Drop Frame, others unused
- Current battery level percentage
- External power applied/battery charging flag
- Current clip/filename
- Storage unit currently selected or in use
- Storage unit #1 media remaining time in minutes
- Storage unit #1 media remaining size
- Storage unit #2 media remaining time in minutes
- Storage unit #2 media remaining size
- Storage unit #3… etc.
Updating Firmware
UFCK>length(=0x0A)+First ten bytes of update file+‘\n’
Binary command with an ASCII response to check the version of an update file.
The update type and version are held within the first ten bytes of the update
file so these need to be included in the query.
The response will be UFCK=type, version, flag
type – 0=unknown, 1=main FW, 2=FPGA, 3=Ext
version = update version * 100
flag – 0=Can’t use, 1=Ok to proceed, 2=same version, 3=older version than
current
UFST=n
Initiate a firmware update where n = overall size of ‘update file’ to be
transferred.
The response will give the maximum size of updated data that can be
transferred in each ‘UFDA’ block. i.e. UFST=106. Currently, this is limited to
a 106-byte maximum but, in the future and if transferred locally using say the
serial interface, this may be increased.
This command may take up to 3 seconds to complete depending on the size of the
update.
Please use this command sparingly as each call forces an erase of the internal
Flash memory update buffer.
UFDA>length + address + data-block + checksum + ‘\n’
This is a binary command where blocks of data are sent sequentially starting
at address zero and progressing through until all the file is transferred. The
data is sent in binary format, where;
- length is a single byte length of the entire message to follow (not including the final ‘\n’). Therefore, it is the length of the data block plus five (address and checksum bytes). Currently, the length value should not exceed 111(0x6f). With the final ‘\n’ character this is the current maximum total of 112bytes of data following the length byte.
- the address is a three-byte, little-endian, relative address of the data block from the start of the file.
- data-block is the block of data from the file
- the checksum is a 2’s compliment 16bit modular checksum of each of the address and data-block bytes. This is computed by successive addition of each of the (8-bit) bytes starting with the address bytes and ending with the final data byte and discarding any overflow beyond 16 bits. The resultant 16bit word is then two’s complimented and appended, little-endian, to the end as the last two bytes of the message.
The responses are as follows
UFDA=0 All fine – ready for next block
UFDA=1 All fine – Transfer complete
UFDA=2 Checksum error – Please Repeat the message
UFDA=3 Address out of sequence
UFDA=4 Length error – or UFST has not been issued
UFGO=checksum
This command initiates the update process once all the data has been
transferred where the checksum is a 2’s complement 16-bit checksum of the
entire file and presented in decimal. See the UFDA command for a method of
calculation.
Responses are as follows
UFGO=0…… Only for the main firmware update. Flag to specify that all was fine
and now proceeding with the update. The communications will be lost for a
short time and when complete a UFGO=1 will be sent;
UFGO=1……. Update has been completed. There may be many seconds delay before
this is issued.
UFGO=2…… Data is not yet complete
UFGO=3….. Checksum does match stored data
UFGO=4….. Old or same updated version
UFGO=-n …….Negative return values during updates represent update failure.
Each type of update should be done separately i.e. Main Code, FPGA, and BLE
updates, we always need to update the main code first. We will be providing
updates as three separate files where one or more may be needed to be updated
at any one time. The AirGlu can determine what each update is for from the
contents, you do not have to retain the filenames.
Appendix
TCS Device Capabilities Flags as used in BLSS=n and STSS? requests
Bit…… Capability
0…… Has LTC Output function
1…… Has LTC Input function
2……. Has Genlock Output function
3……. Has Word-Clock Output function
4…… Has Wi-Fi capability
5…… Has BLE capability
6…… Has Serial port
7-11… Currently unallocated with zero default
12…. Has a built-in display and can control the brightness
13…. Has button control
14…. Has internal rechargeable battery
15-19…. Currently unallocated with 0 default
20-23….. Currently unallocated with 1 default
24….. Can do zero brightness display setting
25….. Can do zero brightness LED flash
26….. Can do BLink master
27-28…. Currently unallocated with 0 default
29-31….. Currently unallocated with 1 default
External Device Capability Flags as used in BLXS=n and GCXS? Requests
Bit….. Capability
0/1….. Number of fitted Media Storage units
2…….. Transport state can be controlled
3……. Can be controlled On or Off
4…….. Predominantly Video devices using FPS (=0) or Audio Bitrate device (=1)
5-9…… Currently unallocated default =0
10-15…. Unallocated default =1
16-23….. Unallocated default =0
24-31…… Unallocated default =1
Integration Instructions
2.2 List of applicable FCC / ISED rules
FCC: | ISED: |
---|---|
47CFR 15.247 | RSS-247 |
2.3 Specific operational use conditions
Not applicable
2.4 Limited module procedures
Not applicable
2.5 Trace antenna designs
Not applicable
2.6 RF exposure considerations
To comply with FCC RF exposure requirements, the OEM must ensure that only
antennas are installed which are listed with this module antenna details. The
AirGlu2 module should be used in such a manner that the potential for human
contact during normal operation is minimized.
OEM integrators and end-users must be provided with transmitter operating
conditions for satisfying RF exposure compliance.
Radiofrequency radiation exposure Information: This equipment complies with
FCC radiation exposure limits prescribed for an uncontrolled environment for
fixed use conditions. This transmitter must not be co-located or operating in
conjunction with any other antenna or transmitter except in accordance with
FCC procedures and as authorized in the module certification filing. Changes
or modifications not expressly approved by the party responsible for
compliance could void the user’s authority to operate the equipment.
2.7 Antennas
The external antenna approved for use is the Taoglas TG.09.0113 SMA (F)
monopole. The maximum Gain (free space) allowed is 2.0 dBi (900MHz) and -6dBi
(2.4GHz). No other antenna type or higher gain of antenna design should be
used. The unique antenna connection used on the AirGlu2 module is the ECT
(Electric Connector Technology Co Ltd) part no. 818000157.
2.8 Label and compliance information
The host product manufacturer is responsible to provide physical or re-
labeling stating ‘Contains FCC ID: AYV-AGLU02 or Contains IC: 10427A-AGLU02’
with the finished product. See Guidelines for Labeling and User Information
for RF Devices – KDB Publication 784748.
2.9 Information on test modes and additional testing requirements
The AirGlu2 module comes complete with a Test Mode API within the core
operation firmware, to configure all required test modes as a standalone
transmitter in a host
2.10 Additional testing, Part 15 Subpart B disclaimer
The AirGlu2 modular transmitter is only FCC authorized for the specific rule
parts (i.e., FCC transmitter rules) listed on the grant, and the host product
manufacturer is responsible for compliance with any other FCC rules that apply
to the host not covered by the modular transmitter grant of certification. The
final host product requires Part 15 Subpart B compliance testing once the
modular transmitter is installed.
Certifications
CE
The AirGlu2™ module is in conformity with the essential requirements and other
relevant requirements of the Radio Equipment Directive (RED) (2014/53/EU).
Please note that every application using the AirGlu2™ module will need to
perform the radio EMC tests on the end product according to EN 301 489-17. The
conducted test results can be inherited from the module’s test report to the
test report of the end product using the AirGlu2™ module. EN 300 328 radiated
spurious emission test must be repeated with the end-product assembly. Test
documentation and software for the EN 300 328 radiated spurious emissions
testing can be requested from the Timecode Systems support.
FCC
This device complies with Part 15 of the FCC Rules. Operation is subject to
the following two conditions:
- This device may not cause harmful interference, and
- This device must accept any interference received, including interference that may cause undesirable operation.
Any changes or modifications not expressly approved by Timecode Systems could
void the user’s authority to operate the equipment.
FCC RF Radiation Exposure Statement:
This equipment complies with FCC radiation exposure limits set forth for an
uncontrolled environment. End-users must follow the specific operating
instructions for satisfying RF exposure compliance. This transmitter must not
be co-located or operating in conjunction with any other antenna or
transmitter except in accordance with FCC multi-transmitter product
procedures. OEM Responsibilities to comply with FCC Regulations: The
transmitter module must not be co-located or operating in conjunction with any
other antenna or transmitter except in accordance with FCC multi-transmitter
product procedures. Each new host will require a reassessment of radiated
spurious emissions and
a permissive change to the certification. For the AirGlu2™ module, the minimum
separation distance to the human body is 20cm. OEM integrator is responsible
for testing their end-product for any additional compliance requirements
required with this module installed (for example, digital device emissions,
PC peripheral requirements, etc.). Important Note: In the event that this
condition cannot be met (for certain configurations or co-location with
another transmitter), then the FCC authorization is no longer considered valid
and the FCC ID cannot be used on the final product. In these circumstances,
the OEM integrator will be responsible for re-evaluating the end product
(including the transmitter) and obtaining a separate FCC authorization.
End Product Labeling
The AirGlu™ module is not labeled with its own FCC ID due to its physical
size. If the FCC ID is not visible when the module is installed inside another
device, then the outside of the device into which the module is installed must
also display a label referring to the enclosed module. In that case, the final
end product must be labeled in a visible area with the following:
“Contains Transmitter Module FCC ID: AYV-AGLU02”
Or
“Contains FCC ID: AYV-AGLU02”
The OEM integrator must not provide information to the end-user regarding how
to install or remove this RF module or change RF-related parameters in the
user manual of the end product.
ISED Canada
This radio transmitter has been approved by Industry Canada to operate with
its embedded antenna. Other antenna types are strictly prohibited from use
with this device. This device complies with Industry Canada’s license-exempt
RSS standards. Operation is subject to the following two conditions:
- This device may not cause interference; and
- This device must accept any interference, including interference that may cause undesired operation of the device.
RF Exposure Statement
AirGlu2™ module meets the given requirements when the minimum separation
distance to the human body is more than 20cm. RF exposure or SAR evaluation is
not required when the separation distance is 20cm or more. AirGlu2™ module has
been tested for worst-case RF exposure.
OEM Responsibilities to comply with IC Regulations
The transmitter module must not be co-located or operating in conjunction with
any other antenna or transmitter. Radiated emission must be tested with each
new host product and ISEDC must be notified with a Class 4 Permissive Change.
OEM integrator is responsible for testing their end-product for any additional
compliance requirements required with this module installed (for example,
digital device emissions, PC peripheral requirements, etc.).
Important note
In the event that these conditions cannot be met (for certain configurations
or co-location with another transmitter), then the IC authorization is no
longer considered valid and the IC ID cannot be used on the final product. In
these circumstances, the OEM integrator will be responsible for re-evaluating
the end product (including the transmitter) and obtaining a separate IC
authorization.
End Product Labelling
The AirGlu™ module is not labeled with IC ID because of its small physical
size. The final end product must be labeled in a visible area with the
following:
“Contains Transmitter Module IC: 10427A-AGLU02”
Or
“Contains IC: 10427A-AGLU02”
The OEM integrator has to be aware not to provide information to the end-user
regarding how to install or remove this RF module or change RF-related
parameters in the user manual of the end product.
JAPAN
The AirGlu2™ module is certified in Japan with certification number
008-220415
Important
The module does is not labeled with a Japan certification mark and ID because
of the small physical size. A manufacturer who integrates a radio module in
their host equipment must place the certification mark and certification
number on the outside of the host equipment.
The certification mark and certification number must be placed close to the
text in the Japanese language which is provided below.
Translation:
“This equipment contains specified radio equipment that has been certified to
the Technical Regulation Conformity Certification under the Radio Law.”
UK Timecode Systems Ltd.
Unit 6, Elgar Business Centre,
Moseley Road,
Hallow, Worcester.
WR26NJ. UK
(dated 26/05/2022)
Documents / Resources
|
Timecode Systems AirGlu2 Wireless Sync and Control
Module
[pdf] User Manual
AGLU02, AYV-AGLU02, AYVAGLU02, AirGlu2, Wireless Sync and Control Module,
AirGlu2 Wireless Sync and Control Module
---|---