background image

 

 

Audio-Nav 

                             Appendix 2 – Device API Commands       Technical Manual     

 

 

The content of this communication and/or document, including but not limited to images,  specifications, designs, concepts and information is 
confidential  and  is  not  to  be  used  for  any  purpose  or  disclosed  to  a  third  party  without  the  express  and  written  consent of 
Keymat Technology Ltd., Copyright 2015.    All rights reserved.  

 
1400 Series Audio-Nav Technical Manual Rev 1.5                              

www.storm-interface.com

       

 

 

           Page 24 of 39 

Load New Key Code Table Command (05) 

Host sends this message to Load New Code Table 

 Data Field 

Type  Length  Description 

1  Load New Code Table

SH 

 20 

Key Code Table:  

 

Load New Table Command Response 

 Data Field 

Type  Length  Description 

ec Error Code 

 

 

Host Device 

 

AudioNav 

 

[05][lt][20 scan codes] 

 

 

 

 

 

  

[05][ec] 

 

 

 

 

Note: Length is always 20,  

Format of table is as follows:  

<modifier for key 1><code for Key 1><modifier for key 2><Code for Key 2>..........etc 

The code table is specified in the user manual together with the modifier code. For example to program the 
following for 4 way : 

Key 1 – A 

Key 2 – a 

Key 3 – 9 

Key 4 - ! 

<0xE1><0x04><0x00><0x04><0x00><0x26><0xE5><0x1E>< 0x00><0x00>< 0x00><0x00>< 0x00><0x00>< 
0x00><0x00>< 0x00><0x00>< 0x00><0x00>< 0x00><0x00>< 0x00><0x00>< 0x00><0x00>< 0x00><0x00>< 
0x00><0x00>< 0x00><0x00> 

Note: 20 bytes must be sent, for unused key code pad the values with 0x00. 

Note: For shift modifiers there is a left and right modifiers value defined. So we can use 0xE1 – Left Shift and 0xE5 
– Right shift. Similarly there is left and right Alt 

 

Reserved (06)

 

 

 

Summary of Contents for 1400 series

Page 1: ...reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 1 of 39 Product Overview Page Product Features 2 Audio Control Typical Method 3 USB Device Information 4 Device Manager 5 Code Tables Specification Summary 6 Version Information Appendix 1 Using the Configuration Utility System Requirements 8 Installing the Utility 9 Using the Utility 10 Keypad Test 14 Customising...

Page 2: ...ed with a tactile symbol and a printed legend tile under the keycap The tile and keycap are supplied loose so that the keycap can be fitted in the preferred orientation An orientation switch is provided so that the keypad can be fitted in portrait or landscape orientation This sends a USB code to the host factory default is landscape Landscape switch position I shown in picture The keypad is desig...

Page 3: ...cts the connection Repeating message generated by the host application software Welcome to the audio menu Press the select key to begin User Action Press the select key Host Activate the Volume Control function Repeating message Use the up down keys to change the volume Press the select key when finished User Action Adjust the volume Press the select key Host De activate the volume control functio...

Page 4: ...oard Composite HID For USB Audio device Consumer Controlled device VID 0x0424 VID 0x2047 VID 0x0D8C PID 0x2512 PID 0x09D0 PID 0x0170 This document will concentrate on the Standard Keyboard Composite HID Consumer Controlled device This interface will enumerate as Standard HID Keyboard Composite HID datapipe Interface HID Consumer Controlled device One of the advantages of using this implementation ...

Page 5: ...d written consent of Keymat Technology Ltd Copyright 2015 All rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 5 of 39 Device Manager When connected to a PC the keypad should be detected by the operating system and enumerated without drivers Windows shows following devices in the Device Manager Note that other audio devices will need to be disabled in Dev...

Page 6: ...verall 105 mm x 85 mm Underpanel Depth 25mm Cable Not Included This product is licensed under NCR s design rights including NCR U S Design Patent D687 783 and European Design Registration 001887290 It incorporates proprietary technology and intellectual property retained by Keymat Technology Ltd trading as Storm Interface Order Codes Part Number 1406 33001 6 KEY DEVICE USB AUDIO FACTORY DEFAULT CO...

Page 7: ...face com Page 7 of 39 Version Information Engineering Manual Date Version Details 29 July 15 1 0 First Release 12 Aug 15 1 2 Screenshots updated 01 Sep 15 1 3 API added 08 Oct 15 1 4 Added amended function for h v switch on p6 20 Nov 15 1 5 Added cable tie picture to page 2 Configuration Utility Date Version Details 29 7 15 2 0 First Release Product Firmware Date Version Details 29 7 15 2 0 Update...

Page 8: ...hts reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 8 of 39 Appendix 1 Configuration Utility System Requirements The Configuration Utility is compatible with Windows 8 Windows 7 and Vista For Windows XP you will need to install NET framework on the pc The Configuration Utility can be used to configure the following features Page Installing the Configuration Uti...

Page 9: ...l rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 9 of 39 Installing the Configuration Utility To install the Configuration Utility doubleclick on the downloaded exe file and the Setup Wizard will launch Click on Next Select I Agree and Click on Next Select if you would like to install for just you or everyone and select location if you do not want Click...

Page 10: ...closed to a third party without the express and written consent of Keymat Technology Ltd Copyright 2015 All rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 10 of 39 Click on Close for successful installation A shortcut will be installed on Desktop Double click this to start the Utility and the following screen will appear If an audio nav is connected it ...

Page 11: ...ted then the keypad will hold that configuration unless it is disconnected Once the keypad has been disconnected that configuration will be lost unless you save the configuration in memory by clicking on Save Changes FACTORY DEFAULT OUTPUT CODE TABLE ALTERNATE CODE TABLE CUSTOMISED CODE TABLE Function Hex USB Description Hex Description Right 0x4F Right Arrow 0x4F Right Arrow Set initially to the ...

Page 12: ...s and information is confidential and is not to be used for any purpose or disclosed to a third party without the express and written consent of Keymat Technology Ltd Copyright 2015 All rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 12 of 39 LED Brightness This will set the brightness of the LEDs The selection is from 0 to 9 SELECT ...

Page 13: ...n consent of Keymat Technology Ltd Copyright 2015 All rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 13 of 39 Test AudioNav This will test all the functionality of AudioNav keypad illumination dimming levels Key test Jack in out H V Switch Audio test To test the audio of the AudioNav please make sure that this is the default device After the audio test ...

Page 14: ...s and written consent of Keymat Technology Ltd Copyright 2015 All rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 14 of 39 Customise Code Table User can only enter into this menu if the AudioNav customise table is selected Note that Multimedia Control Codes Vol Up Down are not available in Customised Table The following will be displayed when Customise c...

Page 15: ...ble will be displayed from memory on the keypad Attached to each key is another button NONE this shows the modifier for each key To customize a key click on the key and Key Code combo box will appear with Select Code The button colour will change to Orange Now press on the down arrow on the combo box This will display all the codes that can be selected This codes are the ones defined by USB org On...

Page 16: ...Nav Technical Manual Rev 1 5 www storm interface com Page 16 of 39 Adding a modifier Now if you wanted a E uppercase then you need to add a SHIFT modifier for that key Click on the modifier button for that key The background colour for modifier button will change to orange and modifier combo box will appear Select down arrow key on modifier combo box and the following selection will be available N...

Page 17: ...right 2015 All rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 17 of 39 The R SHT modifier is now displayed on button and background colour changed to grey Now if you click on Apply and if successfully transferred then pressing down on keypad will display E uppercase If you did not want the current setting then click on Reset then all buttons will revert...

Page 18: ...ose or disclosed to a third party without the express and written consent of Keymat Technology Ltd Copyright 2015 All rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 18 of 39 Saving Changes If you don t press Save Changes your changes will not be saved to the keypad Factory Default Clicking on Factory Default will reset the keypad to factory settings Cod...

Page 19: ...ages and Error Code Definitions Structure of Messages from Host to AudioNav 01 Device Status Request Output the firmware version selected parameters 02 LED Brightness Adjust led brightness 03 Reserved Reserved for future use 04 Reserved Reserved for future use 05 Load New code table Load new code table 06 Reserved Reserved for future use 07 Keypad Type Select layout table 08 Reserved Reserved 09 W...

Page 20: ... with the control byte ACK 0x06 A retransmission should be initiated if an NAK 0x15 is received or if no acknowledge is received at all Message Formats A Alpha character A Z and a z C Control character one byte in length H Hexadecimal characters 0 9 A F N Numeric character 0 9 S Special characters entire character set 0x00 0xFF ASCII Message Format Message Field Type Length Description 1 STX C 1 C...

Page 21: ...rmware version and all currently selected parameters 02 LED Brightness Host To AUDIONAV keypad adjust led brightness default 0 03 Reserved RESERVED 04 Reserved RESERVED 05 Load New code table Host To AUDIONAV keypad Load new code table 06 Reserved RESERVED 07 Keypad Table Host To AUDIONAV keypad Select layout table 0 Default Table 1 Alternate Table 2 Customised 08 Reserved Reserved 09 Write to def...

Page 22: ...dioNav Status Response Keypad sends this message to Host in response to the Device Status message Data Field Type Length Description ec Error Code SH 2 Lb LED Brightness SN 1 Value 0 9 Kt Keypad Table SN 1 0 Default Table 1 Alternate Table 2 Customised Table Js Jack status SN 1 0 Jack IN 1 Jack Out Hs Horizontal Verticle SN 1 0 Vertical 1 Horizontal Kc Keycode SH 20 Customised keycode for each key...

Page 23: ...t Technology Ltd Copyright 2015 All rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 23 of 39 LED Brightness Command 02 Host sends this message to control brightness of LEDs Data Field Type Length Description 1 LED brightness SN 1 0 9 LED Brightness Command Response Data Field Type Length Description ec Error Code H 2 Host Device AudioNav 02 lb 02 ec Note...

Page 24: ...Load New Table Command Response Data Field Type Length Description ec Error Code H 2 Host Device AudioNav 05 lt 20 scan codes 05 ec Note Length is always 20 Format of table is as follows modifier for key 1 code for Key 1 modifier for key 2 Code for Key 2 etc The code table is specified in the user manual together with the modifier code For example to program the following for 4 way Key 1 A Key 2 a...

Page 25: ...ww storm interface com Page 25 of 39 Keypad Table Command 07 Host sends this message to set keypad type Data Field Type Length Description 1 Keypad Type SN 1 0 Default Table 1 Alternate Table 2 Customised Table Keypad Command Response Data Field Type Length Description ec Error Code H 2 Host Device AudioNav 07 bp 07 ec Reserved 08 Write Config Data To Flash command 09 Host sends this command to re...

Page 26: ...s Audio Nav Technical Manual Rev 1 5 www storm interface com Page 26 of 39 Reset To Factory Default command 10 Host sends this command to request the AUDIONAV to reset parameters back to factory default This command has no data associated with it Reset To Factory Default Response Data Field Type Length Description ec Error Code H 2 Host Device AUDIONAV 10 10 ec Reserved 11 Enable BSL Command 12 Ho...

Page 27: ... the express and written consent of Keymat Technology Ltd Copyright 2015 All rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 27 of 39 Set Serial Number command 14 Host sends this command to set the serial number of the device in format YYQQXXXXXXXX Data Field Type Length Description 1 Serial Number ANS 12 YYQQXXXXXXXX Set Serial Number command Response D...

Page 28: ...pressed on keypad Keyboard Report HID Keyboard Report Format BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 Byte0 Right GUI Right Alt Right Sft Right Ctrl Left GUI Left Alt Left Shift Left Ctrl Byte1 Reserved Key_array 0 Key_array 1 Key_array 2 Key_array 3 Key_array 4 Key_array 5 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 For example if user has configured for Default Table If the user now presses the top key w...

Page 29: ...es a simple API for the host application developers HIDAPI This is a third party library which allows an application to interface with USB HID Compliant devices on Windows Linux and Mac OS X While it can be used to communicate with standard HID devices like keyboards mice and Joysticks it is most useful with custom Vendor Defined HID devices This allows for host software to scan for the device usi...

Page 30: ...osed to a third party without the express and written consent of Keymat Technology Ltd Copyright 2015 All rights reserved 1400 Series Audio Nav Technical Manual Rev 1 5 www storm interface com Page 30 of 39 The API makes the following functions available to developers Page All Message Types 31 GetDeviceStatus 33 InitialiseStormUSBDevice 32 LoadCodeTable 35 ResetToFactoryDefault 38 SetKeypadTable 3...

Page 31: ...al Rev 1 5 www storm interface com Page 31 of 39 Message Types This is referenced in below functions enum REQUEST_TYPE message types DEVICE_STATUS 1 Device status message LED_BRIGHTNESS set led brightness RESERVED_1 MID_RESERVED_6 RESERVED_2 MID_RESERVED_6 LOAD_NEW_TABLE load new key code table RESERVED_3 MID_RESERVED_6 KEYPAD_TYPE set keypad type 0 default table 1 alternate 2 customise RESERVED_4...

Page 32: ...d by the Product PID and Manufacturer VID This are assigned to Keymat Vendor ID 0x2047 Product ID 0x09D0 On successful finding the Audio Nav the manufacturer_local will be filled with Storm Interface and product_local will be filled with AUDIO NAV If not successful both of the strings will be filled with none Parameters storm_vid Vendor ID product_pid Product ID manufacturer vendors name will be s...

Page 33: ...struct unsigned char led_brightness unsigned char keypad_table unsigned char jack_status unsigned char HV_status unsigned char keyCode 20 currently keytable in use std string version std string serialNumber DEVICE_INFO _deviceInfo DEVICE_INFO sturcture that will be filled by the function timeToWait maximum time to wait for command to complete Return Value True for success False for failure brief G...

Page 34: ...The led level can be set with values 0 to 9 Parameters Int ledLevel timeToWait maximum time to wait for command to complete Return Value 0 for success brief SetLedLevel This function sets led brightness level from 0 to 9 where 0 is off and 9 is on param ledLevel used to set led level param _timeToWait is the time in milliseconds to wait for the data to be retrieved return 0 on success negative err...

Page 35: ... values including modifier For each key the values must be modifier USB key code timeToWait maximum time to wait for command to complete Return Value 0 for success brief LoadCodeTable This function loads a new code table to customise table in AudioNav param KeyCodePtr Point to new code table param keyCodeLen length of keycode Must be 20 param _timeToWait is the time in milliseconds to wait for the...

Page 36: ... default 1 alternate 2 customise Parameters Int KeypadTable 0 default 1 alternate 2 customise timeToWait maximum time to wait for command to complete Return Value 0 for success brief SetKeypadTable This function sets which table is currently used param KeyCodeTable 0 default 1 alternate 2 customise param _timeToWait is the time in milliseconds to wait for the data to be retrieved return 0 on succe...

Page 37: ...ash This function commnds the AudioNav to commit current values to flash Parameters timeToWait maximum time to wait for command to complete Return Value 0 for success brief WriteDefaultToFlash This function writes changed values to Flash param None param _timeToWait is the time in milliseconds to wait for the data to be retrieved return 0 on success negative error code on failure Possible error co...

Page 38: ...is function commnds the AudioNav to reset the Audio Nav to factory default Parameters timeToWait maximum time to wait for command to complete Return Value 0 for success brief ResetToFactoryDefault This function reset AudioNav to factory default param None param _timeToWait is the time in milliseconds to wait for the data to be retrieved return 0 on success negative error code on failure Possible e...

Page 39: ...o Nav Technical Manual Rev 1 5 www storm interface com Page 39 of 39 Workspace Click on AudioNavApi microsoft visual studio solution and the workspace will be launched The workspace has 5 projects AudioNavApi This is the API as described above Hidapi This is freeware api for low level communication with USB device TestApi This shows how the AudioNavApi is used using c Wrapper This wrapper is creat...

Reviews: