**__Question:__** Do you have an SDK for the Airlabs Fader Starts that can be received trough RS232 / Com port? \\ **__Question:__** How can I receive the fader starts at the computer side if my software doesnt have a plugin? \\ **__Answer:__** Link: [[AirlabFaderStart:start|please follow the steps at this link]] \\ -------- \\ ===== Basic instructions ===== \\ For the Control surface of the Airlab you can use the Airence SDK (Service Development Kit) at the [[SupAirlab:start|Airlab wiki page]].\\ This SDK only works for the Control Surface of the Airlab.\\ \\ The Airlab sends the Fader start trough RS232 / Serial port to a computer.\\ Some playout software have the option to read the information from a serial port.\\ \\ The message format on the Serial port looks like this:\\ 0xAAAAAAAA 0x0CCCCCCC 0x0DDDDDDD\\ \\ AA = Action\\ CC = Channel\\ DD = Data\\ \\ #define SERIAL_ON 0x80 // On Switch \\ #define SERIAL_CUE 0x81 // Cue Switch \\ #define SERIAL_START 0x82 // Start \\ #define SERIAL_STOP 0x83 // Stop \\ \\ \\ ------- \\ ===== Protocol Airlab ===== \\ It is possible to use the serial port of the Airlab. This communication port is compatible with the RS-232 standard that is used on PC and MAC. This makes it possible to write your own application for the Airlab. On this page you'll find settings and the protocol.\\ \\ ^ Settings : ^ ^ | BaudRate : | 57600 Baud | | Data size : | 8 Bits | | Parity : | None | | Stopbit : | One | \\ The Protocol:\\ \\ The protocol is build up in a simple way, a message contains minimal 3 bytes. Which are defined as follows:\\ \\ ^ Byte ^ Message ^ | Byte 1 | Message type | | Byte 2 | Channel number | | Byte 3 | Data | | Byte 4+ | Extended data | \\ Here you'll find the message options:\\ \\ Example 1: 0x80 00 01 : ^ Message ^ Channel number ^ Data ^ ^ 0x80 ^ 00 ^ 01 ^ ^ On switch ^ Channel 1 ^ ON ^ \\ Example 2: 0x85 00 01 : ^ Message ^ Channel number ^ Data ^ ^ 0x85 ^ 00 ^ 01 ^ ^ On Air 2 ^ Don't care ^ ON ^ \\ Example 2: 0x93 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 :\\ Configuration per channel pushed 16 times on startup or on request!\\ ^ Message ^ Channel number ^ B00 ^ B01 ^ B02 ^ B03 ^ B04 ^ B05 ^ B06 ^ B07 ^ B08 ^ B09 ^ B10 ^ B11 ^ B12 ^ B13 ^ B14 ^ B15 ^ B16 ^ B17 ^ B18 ^ B19 ^ B20 ^ B21 ^ B22 ^ B23 ^ B24 ^ B25 ^ B26 ^ B27 ^ B28 ^ ^ 0x93 ^ 00 ^ 01 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ ^ Channel configuration ^ Channel 1 ^ TIMER-LINE-A = ON ^ TIMER-LINE-B = OFF ^ TIMER-MIC = OFF ^ START-LINE-A = OFF ^ START-LINE-B = OFF ^ START-MIC = OFF ^ START-FADER = OFF ^ START-ON = OFF ^ START-CUE = OFF ^ START-PULS = OFF ^ REM-LINE-A = OFF ^ REM-LINE-B = OFF ^ REM-MIC = OFF ^ DJ-MIC = OFF ^ ANN-MIC = OFF ^ STUDIO-MIC = OFF ^ ON-AIR-1-LINE-A = OFF ^ ON-AIR-1-LINE-B = OFF ^ ON-AIR-1-MIC = OFF ^ ON-AIR-2-LINE-A = OFF ^ ON-AIR-2-LINE-B = OFF ^ ON-AIR-2-MIC = OFF ^ POWER-ON = OFF ^ MIC-AT-LINE-A = OFF ^ MIC-AT-LINE-B = OFF ^ REM-ON-MIC = OFF ^ REM-ON-LINE-A = OFF ^ REM-ON-LINE-B = OFF ^ SWITCH-START = OFF ^ \\ ON-switch message, only to Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0x80 | Channel number | Byte 1 = 0 | On switch off | | " | " | Byte 1 = 1 | On switch on | \\ CUE-switch message, only to Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0x81 | Channel number | Byte 1 = 0 | Cue switch off | | " | " | Byte 1 = 1 | Cue switch on | \\ START & STOP message, only from Airlab (its possible you receive this message more than once): ^ Message ^ Channel number ^ Data ^ Description ^ | 0x82 | Channel number | Don't care | Start | | 0x83 | Channel number | Don't care | Stop | \\ ONAIR1 message, only from Airlab (its possible you receive this message more than once): ^ Message ^ Channel number ^ Data ^ Description ^ | 0x84 | Don't care | Byte 1 = 0 | OnAir 1 off | | " | " | Byte 1 = 1 | OnAir 1 on | \\ ONAIR2 message, only from Airlab (its possible you receive this message more than once): ^ Message ^ Channel number ^ Data ^ Description ^ | 0x85 | Don't care | Byte 1 = 0 | OnAir 2 off | | " | " | Byte 1 = 1 | OnAir 2 on | \\ TIMER START, STOP, RESET message, only to Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0x90 | Channel number | Don't care | Timer start | | 0x91 | Channel number | Don't care | Timer stop | | 0x92 | Channel number | Don't care | Timer reset | \\ MODULE SETUP message, to and from Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0x93 | Channel number | Byte 1 = 0 | LineA, Timer inactive | | " | " | Byte 1 = 1 | LineA, Timer active | | " | " | Byte 2 = 0 | LineB, Timer inactive | | " | " | Byte 2 = 1 | LineB, Timer active | | " | " | Byte 3 = 0 | Mic, Timer inactive | | " | " | Byte 3 = 1 | Mic, Timer active | | " | " | Byte 4 = 0 | LineA, Start inactive | | " | " | Byte 4 = 1 | LineA, Start active | | " | " | Byte 5 = 0 | LineB, Start inactive | | " | " | Byte 5 = 1 | LineB, Start active | | " | " | Byte 6 = 0 | Mic, Start inactive | | " | " | Byte 6 = 1 | Mic, Start active | | " | " | Byte 7 = 0 | No start by Fader | | " | " | Byte 7 = 1 | Start by Fader | | " | " | Byte 8 = 0 | No start by ON | | " | " | Byte 8 = 1 | Start by On | | " | " | Byte 9 = 0 | No start by CUE | | " | " | Byte 9 = 1 | Start by CUE | | " | " | Byte 10 = 0 | Start Continues | | " | " | Byte 10 = 1 | Start Puls | | " | " | Byte 11 = 0 | LineA, Remote CUE inactive | | " | " | Byte 11 = 1 | LineA, Remote CUE active | | " | " | Byte 12 = 0 | LineB, Remote CUE inactive | | " | " | Byte 12 = 1 | LineB, Remote CUE active | | " | " | Byte 13 = 0 | Mic, Remote CUE inactive | | " | " | Byte 13 = 1 | Mic, Remote CUE active | | " | " | Byte 14 = 0 | DJ Mic disabled | | " | " | Byte 14 = 1 | DJ Mic enabled | | " | " | Byte 15 = 0 | Announcer Mic disabled | | " | " | Byte 15 = 1 | Announcer Mic enabled | | " | " | Byte 16 = 0 | Studio Mic disabled | | " | " | Byte 16 = 1 | Studio Mic enabled | | " | " | Byte 17 = 0 | LineA, On-Air-1 inactive | | " | " | Byte 17 = 1 | LineA, On-Air-1 active | | " | " | Byte 18 = 0 | LineB, On-Air-1 inactive | | " | " | Byte 18 = 1 | LineB, On-Air-1 active | | " | " | Byte 19 = 0 | Mic, On-Air-1 inactive | | " | " | Byte 19 = 1 | Mic, On-Air-1 active | | " | " | Byte 20 = 0 | LineA, On-Air-2 inactive | | " | " | Byte 20 = 1 | LineA, On-Air-2 active | | " | " | Byte 21 = 0 | LineB, On-Air-2 inactive | | " | " | Byte 21 = 1 | LineB, On-Air-2 active | | " | " | Byte 22 = 0 | Mic, On-Air-2 inactive | | " | " | Byte 22 = 1 | Mic, On-Air-2 active | | " | " | Byte 23 = 0 | Module OFF at startup | | " | " | Byte 23 = 1 | Module On at startup | \\ MASTER SETUP message, to and from Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0x94 | Don't care | Byte 0 = 0 | Auto CUE Reset disabled | | " | " | Byte 0 = 1 | Auto CUE Reset enabled | | " | " | Byte 1 = 0 | CUE to CRM disabled | | " | " | Byte 1 = 1 | CUE to CRM enabled | | " | " | Byte 2 = 0 | Auto Communication disabled | | " | " | Byte 2 = 1 | Auto Communication enabled | | " | " | Byte 3 = 0 | RS232 disabled (WARNING Connection disables) | | " | " | Byte 3 = 1 | RS232 enabled | | " | " | Byte 4 = 0 | Disable setup on console | | " | " | Byte 4 = 1 | Enable setup on console | \\ CONFIG message, only from Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0x95 | Don't care | Byte 1 = 1 | Triple-input module in slot 1 | | " | " | Byte 1 = 2 | Telco module in slot 1 | | " | " | Byte 1 = ? | No module in slot 1 | | " | " | Byte 2 = 1 | Triple-input module in slot 2 | | " | " | Byte 2 = 2 | Telco module in slot 2 | | " | " | Byte 2 = ? | No module in slot 2 | | " | " | Byte 3 = 1 | Triple-input module in slot 3 | | " | " | Byte 3 = 2 | Telco module in slot 3 | | " | " | Byte 3 = ? | No module in slot 3 | | " | " | Byte 4 = 1 | Triple-input module in slot 4 | | " | " | Byte 4 = 2 | Telco module in slot 4 | | " | " | Byte 4 = ? | No module in slot 4 | | " | " | Byte 5 = 1 | Triple-input module in slot 5 | | " | " | Byte 5 = 2 | Telco module in slot 5 | | " | " | Byte 5 = ? | No module in slot 5 | | " | " | Byte 6 = 1 | Triple-input module in slot 6 | | " | " | Byte 6 = 2 | Telco module in slot 6 | | " | " | Byte 6 = ? | No module in slot 6 | | " | " | Byte 7 = 1 | Triple-input module in slot 7 | | " | " | Byte 7 = 2 | Telco module in slot 7 | | " | " | Byte 7 = ? | No module in slot 7 | | " | " | Byte 8 = 1 | Triple-input module in slot 8 | | " | " | Byte 8 = 2 | Telco module in slot 8 | | " | " | Byte 8 = ? | No module in slot 8 | | " | " | Byte 9 = 1 | Triple-input module in slot 9 | | " | " | Byte 9 = 2 | Telco module in slot 9 | | " | " | Byte 9 = ? | No module in slot 9 | | " | " | Byte 10 = 1 | Triple-input module in slot 10 | | " | " | Byte 10 = 2 | Telco module in slot 10 | | " | " | Byte 10 = ? | No module in slot 10 | | " | " | Byte 11 = 1 | Triple-input module in slot 11 | | " | " | Byte 11 = 2 | Telco module in slot 11 | | " | " | Byte 11 = ? | No module in slot 11 | | " | " | Byte 12 = 1 | Triple-input module in slot 12 | | " | " | Byte 12 = 2 | Telco module in slot 12 | | " | " | Byte 12 = ? | No module in slot 12 | | " | " | Byte 13 = 1 | Triple-input module in slot 13 | | " | " | Byte 13 = 2 | Telco module in slot 13 | | " | " | Byte 13 = ? | No module in slot 13 | | " | " | Byte 14 = 1 | Triple-input module in slot 14 | | " | " | Byte 14 = 2 | Telco module in slot 14 | | " | " | Byte 14 = ? | No module in slot 14 | | " | " | Byte 15 = 1 | Triple-input module in slot 15 | | " | " | Byte 15 = 2 | Telco module in slot 15 | | " | " | Byte 15 = ? | No module in slot 15 | | " | " | Byte 16 = 1 | Triple-input module in slot 16 | | " | " | Byte 16 = 2 | Telco module in slot 16 | | " | " | Byte 16 = ? | No module in slot 16 | \\ EEPROM STORE message, only to Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0x96 | Don't care | Don't care | Store settings in EEPROM | \\ CHIPCARD STORE message, only to Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0x97 | Don't care | Don't care | Store settings in SmartCard | \\ CARD INSERTED message, only from Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0x98 | Don't care | Byte 1 = 0 | No Card Inserted | | " | " | Byte 1 = 1 | Card inserted | \\ IDSTRING message, only from Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0x9A | Don't care | Byte 1-30 | ASCII Chars | \\ GET MODULE SETUP message, only to Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0xB3 | Channel number | Don't care | Airlab returns message 0x93 | \\ GET MASTER SETUP message, only to Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0xB4 | Don't care | Don't care | Airlab returns message 0x94 | \\ GET CONFIG message, only to Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0xB5 | Don't care | Don't care | Airlab returns message 0x95 | \\ GET CARDINSERTED message, only to Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0xB8 | Don't care | Don't care | Airlab returns message 0x98 | \\ GET IDSTRING message, only to Airlab: ^ Message ^ Channel number ^ Data ^ Description ^ | 0xBA | Don't care | Don't care | Airlab returns message 0x9A | \\ ------- \\ ===== Source code ===== \\ As the Protocol doesn't have all functions we also added some source code with extended information.\\ \\ This will also help to check how the functions work.\\ \\ message format:\\ 0xAAAAAAAA 0x0CCCCCCC 0x0DDDDDDD\\ \\ AA = Action\\ CC = Channel\\ DD = Data\\ \\ #define SERIAL_ON 0x80 // On Switch #define SERIAL_CUE 0x81 // Cue Switch #define SERIAL_START 0x82 // Start #define SERIAL_STOP 0x83 // Stop #define SERIAL_ONAIR1 0x84 // OnAir1 #define SERIAL_ONAIR2 0x85 // OnAir2 \\ #define TIMER_START 0x90 // Timer Start #define TIMER_STOP 0x91 // Timer Stop #define TIMER_RESET 0x92 // Timer Reset #define SERIAL_MODULESETUPDATA 0x93 // ModuleSetupData \\ Byte 0: TIMERLINEA\\ Byte 1: TIMERLINEB\\ Byte 2: TIMERMIC\\ Byte 3: STARTLINEA\\ Byte 4: STARTLINEB\\ Byte 5: STARTMIC\\ Byte 6: STARTFADER\\ Byte 7: STARTON\\ Byte 8: STARTCUE\\ Byte 9: STARTPULS\\ Byte 10: REMLINEA\\ Byte 11: REMLINEB\\ Byte 12: REMMIC\\ Byte 13: DJMIC\\ Byte 14: ANNMIC\\ Byte 15: STUDIOMIC\\ Byte 16: ONAIR1LINEA\\ Byte 17: ONAIR1LINEB\\ Byte 18: ONAIR1MIC\\ Byte 19: ONAIR2LINEA\\ Byte 20: ONAIR2LINEB\\ Byte 21: ONAIR2MIC\\ Byte 22: POWERON\\ Byte 23: MICATLINEA\\ Byte 24: MICATLINEB\\ Byte 25: REMONMIC\\ Byte 26: REMONLINEA\\ Byte 27: REMONLINEB\\ Byte 28: SWITCHSTART\\ \\ #define SERIAL_MASTERSETUPDATA 0x94 // MasterSetupData \\ Byte 0: AUTOCUERESET\\ Byte 1: CUETOCRM\\ Byte 2: AUTOCOM\\ Byte 3: RS232\\ \\ #define SERIAL_CONFIG 0x95 \\ BYTE 0: CHANNEL1\\ BYTE 1: CHANNEL2\\ BYTE 2: CHANNEL3\\ BYTE 3: CHANNEL4\\ BYTE 4: CHANNEL5\\ BYTE 5: CHANNEL6\\ BYTE 6: CHANNEL7\\ BYTE 7: CHANNEL8\\ BYTE 8: CHANNEL9\\ BYTE 9: CHANNEL10\\ BYTE 10: CHANNEL11\\ BYTE 11: CHANNEL12\\ BYTE 12: CHANNEL13\\ BYTE 13: CHANNEL14\\ BYTE 14: CHANNEL15\\ BYTE 15: CHANNEL16\\ \\ #define STORE_EEPROM 0x96 #define STORE_SMARTCARD 0x97 #define CARD_INSERTED 0x98 #define SERIAL_IDSTRING 0x9A \\ #define GETSERIAL_MODULESETUPDATA 0xB3 #define GETSERIAL_MASTERSETUPDATA 0xB4 #define GETSERIAL_CONFIG 0xB5 \\ #define GETCARD_INSERTED 0xB8 \\ #define GETSERIAL_IDSTRING 0xBA \\ -- Addition for V2.0 (Director) message format:\\ 0xAAAAAAAA 0x0CCCCCCC 0x0DDDDDDD\\ \\ AA = Action\\ CC = Telco channel\\ DD = Data\\ \\ #define TODIRECTOR_TELCO_CONNECT 0xC0 #define TODIRECTOR_TELCO_RING 0xC1 #define TODIRECTOR_TELCO_CUE 0xC2 #define TODIRECTOR_TELCO_MUTE 0xC3 \\ #define TODIRECTOR_FUNCTION 0xD0 #define TODIRECTOR_CRMMUTE 0x00 // CRM Mute 0xD0 0x00 Data #define TODIRECTOR_STUDIOMUTE 0x01 // STUDIO Mute 0xD1 0x01 Data #define TODIRECTOR_CUE_BY_MIC_REMOTE 0x02 // CUE_BY_MIC_REMOTE 0xD1 0x02 Data \\ message format:\\ 0xAAAAAAAA 0x0CCCCCCC 0x0DDDDDDD\\ \\ AA = Action\\ CC = Telco channel\\ DD = Data\\ \\ #define FROMDIRECTOR_TELCO_ON_CONNECT 0xE0 #define FROMDIRECTOR_TELCO_MUTE 0xE1 #define FROMDIRECTOR_TELCO_TB 0xE2 \\ #define FROMDIRECTOR_TB 0xF0 #define TB_CONSOLE 0x00 //TB Console 0xF0 0x00 Data #define TB_ALL 0x01 //TB All 0xF0 0x01 Data \\ \\ [[start:|{{:iconhome.png?100|Home}}]][[SupAirlab:start|{{:iconback2.png?100|Back}}]]