WO2014043758A1 - Chordic control system, chordic device controller and chordic interface cable - Google Patents

Chordic control system, chordic device controller and chordic interface cable Download PDF

Info

Publication number
WO2014043758A1
WO2014043758A1 PCT/AU2013/001076 AU2013001076W WO2014043758A1 WO 2014043758 A1 WO2014043758 A1 WO 2014043758A1 AU 2013001076 W AU2013001076 W AU 2013001076W WO 2014043758 A1 WO2014043758 A1 WO 2014043758A1
Authority
WO
WIPO (PCT)
Prior art keywords
chordic
device controller
interface cable
interface
slave devices
Prior art date
Application number
PCT/AU2013/001076
Other languages
French (fr)
Inventor
Bruce William Macdonald
William BOETTCHER
Geoffrey Woodman
Peter Moran
Original Assignee
Kordtech Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2012904165A external-priority patent/AU2012904165A0/en
Application filed by Kordtech Pty Ltd filed Critical Kordtech Pty Ltd
Publication of WO2014043758A1 publication Critical patent/WO2014043758A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards

Definitions

  • the present invention relates to control of a range of disparate physical devices by means of a single homogeneous chordic user interface.
  • the modern soldier typically carries a variety of disparate electronic devices, gadgets, and/or instruments. Examples include weapons, global positioning systems (GPS), radios, lights, infrared scopes, computer terminals, etc.
  • GPS global positioning systems
  • radios radios
  • lights infrared scopes
  • computer terminals etc.
  • Each of the devices carried by a soldier typically has a different user interface.
  • the need to master and operate multiple different user interfaces is onerous, particularly in extreme conditions (e.g., battle) that impose high physical and cognitive loads on the soldier.
  • the same applies for other field workers such as police officers, homeland security, and special forces operators.
  • chordic interface cable for coupling a chordic device controller to at least one slave device.
  • the chordic interface cable comprises a data storage element adapted to store a look-up table of predetermined chordic input commands and associated operations for controlling one or more slave devices.
  • chordic control system comprising: a chordic device controller comprising means for inputting chordic commands for controlling one or more slave devices; and a chordic interface cable for interfacing the chordic device controller to the one or more slave devices.
  • the chordic interface cable comprises a data storage element adapted to store a look-up table of predetermined chordic input commands and associated operations for controlling the one or more slave devices.
  • chordic device controller may be adapted to transfer the look-up table from the chordic interface cable to internal memory in the chordic device controller.
  • chordic device controller may be adapted to transfer the look-up table in the chordic interface cable only if the lookup table in the chordic interface cable is different to a lookup table of chordic input commands and associated operations already stored in the chordic device controller.
  • the chordic device controller may be adapted to determine if the lookup table in the chordic interface cable is different to the lookup table in the chordic device controller each time a chordic interface cable is plugged into the chordic device controller.
  • the chordic control system may further comprise a remote control box coupled to the chordic device controller via the chordic interface cable.
  • One or more of the slave devices may be coupled to the remote control box.
  • chordic device controller comprising: a user interface for inputting chordic inputs; at least one device interface for coupling the chordic device controller to one or more slave devices via a detachable chordic interface cable; and a processor coupled to the user interface and the at least one device interface.
  • the processor is programmed to: receive chordic inputs via the user interface; determine operations associated with the chordic inputs by traversing a chord table comprising predetermined chordic input commands and associated operations for controlling the one or more slave devices; and output the determined operations via the at least one device interface to control the one or more slave devices.
  • the processor may be further programmed to transfer a chord table comprising predetermined chordic input commands and associated operations for controlling the one or more slave devices from a data storage element in the detachable chordic interface cable to the chordic device controller.
  • the processor may be programmed to determine whether a chord table stored in the detachable chordic interface cable is different to a chord table stored in the chordic device controller; and only transfer the chord table stored in the detachable chordic interface cable to the chordic device controller if the chord table stored in the detachable chordic interface cable is different to the chord table stored in the chordic device controller.
  • the processor may be programmed to determine whether the chord table stored in the detachable chordic interface cable is different to the chord table stored in the chordic device controller whenever a detachable chordic interface cable is connected to the chordic device controller.
  • the predetermined chordic input commands and associated operations for controlling one or more slave devices may be predetermined by a computer software program resident in said chordic interface cable.
  • Fig. 1 is a logical block diagram of a chordic device controller in accordance with an embodiment of the present invention
  • Fig. 2 is a block diagram of a chordic control system in accordance with an embodiment of the present invention
  • Fig. 3 is a schematic block diagram of a chordic control system in accordance with an embodiment of the present invention
  • Fig. 4 is a more detailed schematic block diagram of the chordic device controller in the embodiment of Fig. 3;
  • Fig. 5 is a schematic block diagram of a chordic interface cable in accordance with an embodiment of the present invention.
  • Fig. 6 is a circuit diagram of a portion of the chordic interface cable of Fig. 5.
  • Chord Accumulator- an algorithm which stores and accumulates the value of a chord.
  • Chord Event the internal process that occurs as a result of a chord input, the tokenisation of the chord.
  • Chord Space the total space of all chords available for use in controlling a suite of slave devices.
  • Chordic Device Controller a device controller that accepts chords as inputs and determines operations corresponding to those chords.
  • Chordic Control System a system in which slave devices are controlled by way of chordic inputs.
  • Chordic Input the resulting input when a predefined chord is activated or pressed.
  • Chordic Value the bitmap of the switch states of the chordic input device wherein a set bit represents a pressed switch.
  • ChordOp - a chord event and matching operation, or outcome.
  • ChordOp Table - a data table containing ChordOps.
  • Chord Event Match Filter- a filter used to 'walk through' or traverse stored
  • ChordOp tables and match Chord Events to their appropriate operations, or outcomes.
  • Chordic Interface Cable a data storage enabled and easily upgradable cable, which contains the information required for a chordic device controller to operate a specific suite of slave devices.
  • Chord Pre-processor accumulates the Chordic Value of the switch inputs.
  • Distributed Chord System DCS - a system having more than one chordic device controller.
  • Match Processor handles the outcome of the ChordOp match found by the Chord Event Match Filter.
  • HCU Hardware Control Unit
  • RBC Remote Control Box
  • BWE Body Worn Equipment
  • chord action or sequence
  • associated outcome or operation
  • the form of an outcome or operation is determined by the system that it operates on.
  • An outcome is typically directed towards controlling hardware.
  • the method of encoding outcome instructions is arbitrary and is informed by the specification of any Application Programming Interface (API) or Hardware Abstraction Layer (HAL) that the outcome is to operate. It could be as simple as a single instruction to turn on a connected flashlight, or more complex instructions that can be sent over a network.
  • the outcome could also be a sequence of chord inputs to be executed in a manner similar to a macro.
  • Figure 1 shows high-level logical operation of a Chordic Control System 100 in accordance with an embodiment of the present invention.
  • raw switch inputs 105 are fed into a chord preprocessor 110, which includes a chord accumulator that accumulates chord values in accordance with a set of rules.
  • a chord preprocessor 110 which includes a chord accumulator that accumulates chord values in accordance with a set of rules.
  • An example of such a rule set is: if chord alue > chord_accumulator
  • chord_value chord_accumulator
  • chord_value 0
  • chord_accumulator 0
  • the chord pre-processor 110 then passes a processed chord event to a chord event match filter 120, which 'walks' through or traverses a stored chord event table to find a listed address for the current chord event. If the chord event is found, a pointer to an appropriate address is passed to a match processor 130 for further handling. In the case of no match, no action is taken. The action taken is fully dependent on the match processor 130, which determines a (stored) hardware action that is to be executed. The match processor 130 looks up the hardware action stored at the relevant address in a stored hardware action table, and instructs a Hardware Control Unit (HCU) 140 to perform the action. The HCU 140 executes the appropriate action via its controlled hardware outputs 145.
  • HCU Hardware Control Unit
  • the HCU 140 is a unified interface to external hardware devices such as weapons, global positioning systems (GPS), radios, lights, infrared scopes, computer terminals, etc.
  • the purpose of the HCU 140 is to abstract away the details of interacting with individual disparate devices.
  • the HCU 140 requires some form of application programming interface (API) so that commands can be passed to it, and so that electrical control of hardware in its jurisdiction can be performed.
  • API application programming interface
  • the Chordic Control System 100 advantageously enables a user to control a range of disparate physical devices by means of a single homogeneous chordic user interface.
  • the essence of the functionality of the Chordic Control System 100 is embodied (encoded) in the relationship between predefined chordic inputs and corresponding hardware control outputs.
  • the present inventor/s realised that it is highly desirable and advantageous to separate or isolate this functionality from the hardware means for inputting and processing user inputs, so that changes or improvements to the functionality can be performed without the need for any modifications to the hardware means for chordic input and processing.
  • a Distributed Chord System comprises two or more runtime frameworks instructed by either a central Chordic Device Controller (CDC) or a local CDC.
  • CDC central Chordic Device Controller
  • Each one of the multiple runtime frameworks is referred to as a node, and each node may or may not come with its own ChordOp table and/or CDC.
  • CDC Central Chordic Device Controller
  • CDC Central Chordic Device Controller
  • CDC Central Chordic Device Controller
  • CDC Central Chordic Device Controller
  • CDC Central Chordic Device Controller
  • CDC Central Chordic Device Controller
  • Fig. 2 shows a chordic control system 200 in accordance with an embodiment of the present invention.
  • the Chordic Control System 200 assists and improves operation of a soldier's electronic devices by substituting a single homogeneous or uniform interface for controlling the various electronic, devices.
  • a Chordic Device Controller (CDC) 210 is coupled to a Remote Control Box (RCB) 220 via a chordic interface cable 230.
  • One or more slave devices (such as thermal weapon sight 234) may be coupled to the CDC 210 via the chordic interface cable 230 and controlled directly by the CDC 210.
  • One or more slave devices (such as radios 222 and 224 and night vision goggles 226) may be coupled to the RCB 220 and controlled by the CDC 210 via the RCB 220.
  • the CDC 210 comprises a microprocessor-based device that includes a chordic input means and internal data storage means.
  • the chordic input means preferably comprises buttons or switches that correspond to the digits of a human hand such that a user can generate or input chords by substantially simultaneously depressing various predefined combinations of the buttons or switches.
  • a look-up table 212 of predetermined chordic input commands and associated operations i.e., a ChordOp table
  • a ChordOp table is stored in the data storage means of the CDC 210.
  • the microprocessor in the CDC 210 retrieves the associated operation from the look-up table 212 and either controls the slave device 234 directly in accordance with the retrieved operation or transmits the retrieved operation to the RCB 220 via the chordic interface cable 230.
  • the RCB 220 controls operation of the slave devices 222, 224, and 226 based on operations received from the CDC 200.
  • the RCB 220 may have its own ChordOp table 228 and/or the RCB 220 may optionally comprise a chordic input means similar to or the same as the chordic input means of the CDC 210.
  • the chordic interface cable 230 comprises multiple insulated electrical conductors (not shown in Fig. 2), a data storage element 232 for storing a look-up table 223 of predetermined chordic input commands and associated operations (i.e., a ChordOp table), some electronic circuitry (e.g., for static protection), and various electrical connectors for connecting to the CDC 210, the RCB 220 and various slave devices.
  • a ChordOp table e.g., for static protection
  • a more detailed embodiment of the chordic interface cable 230 is described hereinafter with reference to Figs. 5 and 6.
  • Fig. 3 shows a Chordic Control System 300, which is essentially a personal controller network that comprises a Chordic Device Controller (CDC) 310, a Remote Control Box (RCB) 320, and a number of slave devices that are user controllable via the CDC 310 and/or the RCB 320.
  • the CDC 310 and/or the RCB 320 may, for example, comprise a CDC such as the CDC 100 of Fig. 1.
  • the CDC 310 and the RCB 320 may be interconnected by means of a physical chordic interface cable 330 which includes a data storage element 340 (tethered embodiment), or by means of the wireless interface 360 (untethered embodiment).
  • the Chordic Control System 300 assists and improves operation of a soldier's electronic devices by substituting a single uniform control interface for the multiple different controls of the various different electronic devices.
  • the CDC 310 comprises a plastic housing containing switches or buttons 316 and electronic circuitry, which is typically mounted at the front of a soldier's weapon.
  • the CDC 310 has one switch located beneath each finger of the hand and an additional local switch to be operated by the thumb.
  • the CDC 310 additionally comprises a lock/unlock switch 312, a buzzer 314, a battery 318 and a connector 319 for providing data communications interfaces (e.g., RS-232) and electrical switching contacts for controlling external devices such as a thermal weapon sight 311 , a laser/illuminator 315 and/or a torch 317.
  • the CDC 310 can control several proximately mounted devices through direct electrical switching or serial communications.
  • BWE Body Worn Equipment
  • Additional external devices mounted remotely to, or on the soldier's body can be coupled to the RCB 320 and controlled by the soldier operating the CDC 310.
  • the RCB 320 has its own internal electronics for operating devices under its command.
  • buttons i.e., chords
  • the soldier may choose from a range of functions provided by the CDC 310.
  • a particular advantage of this system is the ability for the soldier to readily learn and master operation of the range of functions, and be able to perform them under almost any conditions.
  • a soldier may control the radios 350 and 352 by appropriate chordic operation of the CDC 310.
  • the CDC 310 transmits suitable commands to the RCB 320.
  • the RCB 320 performs appropriate action/s to control one or both of the radios coupled to the RCB 320 in accordance with the specific chordic commands issued by the soldier.
  • Examples of radios controlled via the RCB 320 in the embodiment of Fig. 3 include, but are not limited to: the Selex H4855 Personal Role Radio (PRR) and a Harris AN/PRC-152 MBITR combat Net Radio (CNR).
  • the RCB 320 differs from the CDC 310 shown in Fig. 3 (e.g., the RCB 320 does not have a user interface including chord buttons 316, buzzer 314 and lock/unlock switch 352), an RCB with a user interface may be user in place of the RCB 320.
  • the RCB may comprise a CDC such as the CDC 310, which is capable of directly controlling body worn slave devices via its own chord buttons. Examples of body worn equipment which could be directly controlled from the RCB's chord buttons are a GPS unit, radios, or night vision goggles (NVG).
  • Fig. 4 shows a more detailed embodiment of the CDC 310 of Fig. 3.
  • the electronics of the CDC 400 comprises a processor or microcontroller unit (MCU) 410, a power supply 420, a User Interface 430, a Programming Test & I/O Expansion Interface 440, an Equipment Interface 450, a Wireless Interface 460, and additional support circuitry including a crystal 413 for clocking the MCA 410.
  • MCU microcontroller unit
  • the MCU 410 comprises a watchdog timer 412, a supply monitor 414, a R/C oscillator 416, and an EEPROM 411 for internal memory storage.
  • the Power Supply 420 comprises a CR123 3V 1550mAH battery 422, a battery interface 424 for coupling to the MCU 410, and a DC regulator 426.
  • the User Interface 430 comprises five chording switches 432 (corresponding to a thumb and four fingers), one lock switch 434, and a buzzer 436.
  • the Programming Interface 440 comprises a programming and test interface 441 , multiple I/O lines 442, an internal header 444, a MCU JTAG 446, and an optional EEPROM 448 for event logging.
  • the Equipment Interface (or Device Interface) 450 comprises two low side 2A switches 451 for controlling switched loads, one floating switch 452 for inverted loads, an l 2 C bus 453, external power out 454, and two RS232 interfaces 455, 456 for serial communications.
  • the Wireless Interface 460 comprises a RF transceiver 464, a crystal 462 for generating transceiver frequencies, an antenna coupling 466 and an internal antenna 468.
  • the Wireless Interface 460 enables communications with untethered body worn equipment (BWE).
  • BWE body worn equipment
  • a single crystal may be used for both the RF transceiver 462 and the MCU 410.
  • the functionality of the user interface 430 (as defined by the functions that the CDC 400 provides) is encoded and stored either in the CDC 400 itself, or remotely.
  • This encoded functionality can readily be changed or improved without re-compiling or modifying the underlying firmware.
  • Another advantage of isolating the encoded functionality in this manner is that new devices that are introduced to the system can also deliver access to their features by means of an externally encoded table. In other words, a new device can store and deliver new and unique functionality via a communication channel with the CDC 400.
  • the CDC 400 can interrogate that device via a predefined mechanism, and determine what commands the device provides. These new commands (if any) can be merged with the existing devices' commands to form the new and additional functionality of the CDC 400.
  • a particular advantage of this method is that new devices may be provided to the soldier without requiring return and upgrade of the CDC 400.
  • the new device's command table will be stored in an EEPROM, or a similar non-volatile data storage element, embedded in the interconnection cable. This is necessary to enable existing devices to mesh with the system without requiring manufacturers of those devices to modify their equipment.
  • Figs. 5 and 6 show an embodiment of a chordic interface cable 500.
  • the chordic interface cable 230 of Fig. 2 and the chordic interface cable 330 of Fig. 3 may, for example, be embodied by the chordic interface cable 500 of Fig. 5.
  • the chordic interface cable 500 comprises a 14-pin connector 510 for connecting to a CDC, a 7-pin connector 520 for connecting to a RCB, a 7-pin connector 530 for connecting to one or more slave devices, and a junction box 540 which houses electronic circuitry 542, including a data storage element.
  • a circuit diagram of the electronic circuitry 542 is shown in Fig. 6.
  • the 7 pin connector 530 may be used for connecting to a VIPIR 2 Thermal Weapon Sight (TWS). Additional information regarding the VIPIR 2 TWS may be obtained at the URL: http://www.qioptiq.com/vipir-2.html.
  • the 2- pin connector 544 may be used for connecting to the AN/PEQ-2 Target Pointer/I lluminator/Aiming Light (TPIAL). Additional information regarding the AN/PEQ -2 TPIAL may be obtained at the URL:
  • the 2-pin connector 546 may be used for connecting to the SureFire flashlight. Additional information regarding the SureFire flashlight may be obtained at the URL:
  • the 2-pin connector 532 may be used for connecting an external video monitor to the VIPIR 2 TWS (e.g., for demonstration purposes).
  • the insulated electrical conductors marked PWR, S CLK, S DATA, and GND (which connect pins A, B, C and I of connector 510 to pins D, C, B, and A of connector 520, respectively) comprise an l 2 C data communications bus that enables bi-directional data communications to be performed between a CDC and a RCB.
  • the electrical conductors marked PWR, S CLK, S DATA, and GND are connected to the electronic circuitry 542 in the junction box 540, as shown in Fig. 6.
  • the electrical connectors marked RS232 TX and RS232 RX (which connect pins F and G of connector 510 to pins F and G of connector 520, respectively) comprise a serial data communications bus that enables bidirectional data communications to be performed between a CDC and a RCB.
  • the electrical connector marked SENSE (which connects pin H of connector 510 to pin E of connector 520, respectively) enables a CDC to detect or sense when a new or reprogrammed chordic interface cable 500 and slave device is connected in the chordic control system.
  • a pull- down resistor e.g., lOOkOhm
  • a lower value pull-up resistor on the other end of the SENSE line
  • cable plug and unplug events can be detected by the host (i.e., the CDC). Cable plug and unplug events can also be detected by the RCB).
  • the line will be held low when a chordic interface cable is not plugged in, and pulled high when a chordic interface cable is present.
  • These line state changes can be detected by reading of the line's analog- digital converted (ADC) value or via an interrupt pin of the microprocessor in either or both of the CDC and the RCB, and hence cable plug or unplug events can be detected.
  • ADC analog- digital converted
  • the test for a new chordic interface cable (and associated ChordOp table) is initiated by the CDC.
  • the electrical connectors marked GND, DATA, CLK, PWR, SENSE, TX and RX are surrounded by an electromagnetic shield, which is electrically connected to ground pin I of the connector 510 and ground pin A of the connector 520.
  • the electrical connectors marked TX and RX (which connect pins D and E of connector 510 to pins 3 and 2 of connector 520, respectively) comprise a serial data communications bus that enables bi-directional data communications to be performed between a CDC and one or more slave devices.
  • the slave device may be a VIPIR 2 Thermal Weapon Sight (TWS).
  • the connector 530 is a socket on the TWS which is used to connect to.
  • the RS232 lines provide connectivity between the CDC and the TWS so that the TWS can be controlled by the CDC. This enables the CDC to directly control the slave device without the need for an RCB to be interposed.
  • the electrical connectors marked RS232 TX and RS232 RX are. surrounded by an electromagnetic shield, which is electrically connected to ground pin I of the connector 510 and ground pin 1 of the connector 530.
  • the electronic circuitry 542 of Fig. 5 comprises an l 2 C-enabled data storage element and various passive electronic components.
  • the l 2 C-enabled data storage element comprises a 27C256 EEPROM. Specifications for this device may be obtained from the URL: http://www.futurlec.com/Memorv/24C256.shtml.
  • Other devices shown in Fig. 6 include a voltage suppressor SMAJ18A across the power supply, diodes BAV99 for static protection of the S DATA and S CLK l 2 C lines, and various resistors and capacitors for filtering.
  • Embodiments of the present invention provide a detachable and modifiable ChordOp table stored in a data storage element that forms part of a chordic interface cable.
  • the ChordOp table comprises a look-up table of predetermined chordic input commands and associated operations for controlling one or more specific types of slave device.
  • the ChordOp table contains the information required to operate a specific suite of (remote) slave devices via the CDC.
  • a CDC is typically supplied with a ChordOp table stored in its internal memory (e.g., a ChordOp table of chordic input commands and associated operations that relate specifically to a particular suite of slave devices)
  • a ChordOp table stored in its internal memory
  • the CDC checks to determine whether the ChordOp table stored in the data storage element is different to the ChordOp table stored in the internal memory of the CDC.
  • Each ChordOp table has a hash value associated with it. The hash value may, for example, be determined by computing the check sum of the contents of the entire ChordOp table.
  • the detachable chordic interface cable with ChordOp table and cable plug/unplug detection capability enables the functionality of the CDC to be upgraded in the field by simply plugging in a new (or reprogrammed) chordic interface cable, hence reducing the required integrated logistics support (ILS).
  • the CDC has the ability to detect when a new cable has been plugged in, and upload the new ChordOp table (if necessary) to its onboard memory.
  • the ChordOp table located within the CDC can thus be upgraded without the CDC having to be sent back to the factory or another upgrading facility.
  • Old chordic interface cables can either be disposed of, or sent back to a programming facility for reuse.
  • Chordic interface cables are highly reliable, and advantageously have no requirement to upload drivers or modify configuration files in order to be used. Upgraded CDC models with new capabilities can be produced with newly keyed connection sockets and chordic interface cables. Newer model chordic interface cables are backward compatible (e.g., version 2 cables will work with version 1 CDC sockets), however older model cables will generally not be compatible with newer model CDC's.
  • chordic control system and chordic interface cable described herein can be implemented with various alternative data communications buses, the l 2 C bus is particularly suitable for purpose, mainly because of the low operational power cost.
  • the l 2 C bus is self clocked, which means that slave devices can match their bus addresses in hardware, and will hence only be woken from sleep state in the event of an address match.
  • each slave device must wake up each time a message is sent to any other slave device, as any given slave device will not know if the message is meant for it until it wakes up and checks.
  • the chordic control system and chordic interface cable of the present invention may alternatively be implemented using a data communications bus other than the l 2 C bus.
  • Alternative data communications busses include, but are not limited to, CANbus and SMBbus. In general, a multi-node bus is preferable to a point-to-point bus.
  • ⁇ ChordOp table (fixed): The system table is fixed and can not be overwritten. The system table typically contains information about system operations such as the battery check, which remains unchanged regardless of what version of CDC is in operation.
  • Device ChordOp table (upgradable): The device ChordOp table is uploaded to the CDC's internal memory (e.g., RAM) from the data storage element in the chordic interface cable and can be updated simply by plugging in a new (or reprogrammed) chordic interface cable.
  • each time a cable 'plug in' event occurs the CDC tests its current device ChordOp table against the ChordOp table stored in the data storage element of the chordic interface cable. If the CDC's current device ChordOp table matches the device ChordOp table stored in the chordic interface cable, no upload is required. In the event that a new table is detected in the cable's data storage element, the CDC uploads the new device ChordOp table to the CDC internal memory.
  • Each ChordOp table regardless of type, lists various chord actions with related outcomes or operations (ChordOps). For each chord event that occurs, both the system table and current device table are parsed, looking for a chord event match. In the event of a chord event match, the outcome or operation related to the chord event in question is executed. In the event of no match being found, a default outcome is executed.
  • Embodiments of the chordic control system and interface cable described herein advantageously enables a generic CDC to be used to control a wide range of slave devices in an upgradeable manner. This advantageously avoids the need for a range of different CDCs with different software variants or versions to cope with a wide diversity of slave devices. Without the ChordOp table stored in the data storage element of the chordic interface table, each batch of CDCs for a particular suite of slave devices (i.e., corresponding to a particular customer's requirements) would have to be individually programmed and the supplier would have to keep track of the software versions in the field. Additional or spare CDCs would have to be programmed and tested especially for each customer (rather than pulled from a warehouse and despatched).
  • any CDCs returned e.g., for repair
  • the software version of any CDCs returned would have to be determined before testing.
  • a particular customer having the need for two or more different suites of slave devices would require two or more variants of the CDC, which has significant logistical and cost implications (e.g., the need to carry spare parts and replacements for multiple versions of CDC).
  • the CDCs would have to be reprogrammed.
  • chordic input commands and associated operations for controlling one or more slave devices may be predetermined or optimised by a computer software program resident in the chordic interface cable.
  • the computer software program may, for example, comprise a script that is downloaded (along with the table of ChordOps) to the data storage element of the chordic interface cable when the chordic interface cable is first plugged in; After downloading, the processor or microcontroller in the chordic interface cable executes or runs the script (e.g., interpreted code), which firstly merges the newly downloaded ChordOp table with any ChordOp pairs already stored in the data storage element of the chordic interface cable and then optimises (i.e., predetermines) chordic assignments for all system functions.
  • the script e.g., interpreted code

Abstract

A chordic control system (300) comprises: a chordic device controller (310) comprising means for inputting chordic commands (316) for controlling one or more slave devices (350, 352); and a chordic interface cable (330) for interfacing the chordic device controller (310) to the one or more slave devices (350, 352). The chordic interface cable (330) comprises a data storage element (340) adapted to store a look-up table of predetermined chordic input commands and associated operations for controlling the one or more slave devices (350, 352).

Description

CHORDIC CONTROL SYSTEM, CHORDIC DEVICE
CONTROLLER AND CHORDIC INTERFACE CABLE
Technical Field
The present invention relates to control of a range of disparate physical devices by means of a single homogeneous chordic user interface.
Background
The modern soldier typically carries a variety of disparate electronic devices, gadgets, and/or instruments. Examples include weapons, global positioning systems (GPS), radios, lights, infrared scopes, computer terminals, etc.
Together with ease of use, size, weight, power, and extensibility are key considerations for all equipment carried by the modern soldier.
Each of the devices carried by a soldier typically has a different user interface. The need to master and operate multiple different user interfaces is onerous, particularly in extreme conditions (e.g., battle) that impose high physical and cognitive loads on the soldier. The same applies for other field workers such as police officers, homeland security, and special forces operators.
Accordingly, a need exists for methods and apparatuses that accommodate the foregoing requirements.
In particular, a need exists for a method and an apparatus that collapses a variety of heterogeneous controls and interfaces into one homogenous and consistent interface.
Summary
An aspect of the present invention provides a chordic interface cable for coupling a chordic device controller to at least one slave device. The chordic interface cable comprises a data storage element adapted to store a look-up table of predetermined chordic input commands and associated operations for controlling one or more slave devices.
Another aspect of the present invention provides a chordic control system comprising: a chordic device controller comprising means for inputting chordic commands for controlling one or more slave devices; and a chordic interface cable for interfacing the chordic device controller to the one or more slave devices. The chordic interface cable comprises a data storage element adapted to store a look-up table of predetermined chordic input commands and associated operations for controlling the one or more slave devices.
The chordic device controller may be adapted to transfer the look-up table from the chordic interface cable to internal memory in the chordic device controller.
The chordic device controller may be adapted to transfer the look-up table in the chordic interface cable only if the lookup table in the chordic interface cable is different to a lookup table of chordic input commands and associated operations already stored in the chordic device controller.
The chordic device controller may be adapted to determine if the lookup table in the chordic interface cable is different to the lookup table in the chordic device controller each time a chordic interface cable is plugged into the chordic device controller.
The chordic control system may further comprise a remote control box coupled to the chordic device controller via the chordic interface cable. One or more of the slave devices may be coupled to the remote control box. ·
Another aspect of the present invention provides a chordic device controller comprising: a user interface for inputting chordic inputs; at least one device interface for coupling the chordic device controller to one or more slave devices via a detachable chordic interface cable; and a processor coupled to the user interface and the at least one device interface. The processor is programmed to: receive chordic inputs via the user interface; determine operations associated with the chordic inputs by traversing a chord table comprising predetermined chordic input commands and associated operations for controlling the one or more slave devices; and output the determined operations via the at least one device interface to control the one or more slave devices.
The processor may be further programmed to transfer a chord table comprising predetermined chordic input commands and associated operations for controlling the one or more slave devices from a data storage element in the detachable chordic interface cable to the chordic device controller.
The processor may be programmed to determine whether a chord table stored in the detachable chordic interface cable is different to a chord table stored in the chordic device controller; and only transfer the chord table stored in the detachable chordic interface cable to the chordic device controller if the chord table stored in the detachable chordic interface cable is different to the chord table stored in the chordic device controller.
The processor may be programmed to determine whether the chord table stored in the detachable chordic interface cable is different to the chord table stored in the chordic device controller whenever a detachable chordic interface cable is connected to the chordic device controller.
The predetermined chordic input commands and associated operations for controlling one or more slave devices may be predetermined by a computer software program resident in said chordic interface cable. Brief Description of the Drawings
A small number of embodiments are described hereinafter, by way of example only, with reference to the accompanying drawings in which;
Fig. 1 is a logical block diagram of a chordic device controller in accordance with an embodiment of the present invention;
Fig. 2 is a block diagram of a chordic control system in accordance with an embodiment of the present invention; Fig. 3 is a schematic block diagram of a chordic control system in accordance with an embodiment of the present invention;
Fig. 4 is a more detailed schematic block diagram of the chordic device controller in the embodiment of Fig. 3; and
Fig. 5 is a schematic block diagram of a chordic interface cable in accordance with an embodiment of the present invention; and
Fig. 6 is a circuit diagram of a portion of the chordic interface cable of Fig. 5.
Detailed Description
A small number of embodiments for controlling a range of disparate physical devices by means of a single homogeneous chordic interface are described hereinafter. A glossary of terms is provided in advance of the embodiments.
GLOSSARY
Chord - the activation of one, or a combination of, input switch/s at
substantially the same time.
Chord Accumulator- an algorithm which stores and accumulates the value of a chord.
Chord Event- the internal process that occurs as a result of a chord input, the tokenisation of the chord.
Chord Space - the total space of all chords available for use in controlling a suite of slave devices.
Chordic Device Controller (CDC) - a device controller that accepts chords as inputs and determines operations corresponding to those chords.
Chordic Control System - a system in which slave devices are controlled by way of chordic inputs.
Chordic Input - the resulting input when a predefined chord is activated or pressed. Chordic Value - the bitmap of the switch states of the chordic input device wherein a set bit represents a pressed switch.
ChordOp - a chord event and matching operation, or outcome.
ChordOp Table - a data table containing ChordOps.
Chord Event Match Filter- a filter used to 'walk through' or traverse stored
ChordOp tables and match Chord Events to their appropriate operations, or outcomes.
Chordic Interface Cable - a data storage enabled and easily upgradable cable, which contains the information required for a chordic device controller to operate a specific suite of slave devices.
Chord Pre-processor- accumulates the Chordic Value of the switch inputs. Distributed Chord System (DCS) - a system having more than one chordic device controller.
Match Processor- handles the outcome of the ChordOp match found by the Chord Event Match Filter.
Hardware Control Unit (HCU) - a part of the chordic device controller, which takes instructions from the Match Processor and executes appropriate operations via controlled hardware outputs.
Remote Control Box (RCB) - a box used to control remote slave devices or Body Worn Equipment (BWE) in a chordic control system.
For any machine or device that is operated by a human being, there is generally an input mechanism and an output mechanism, corresponding to cause and effect. The basic units of information that are communicated or required can be reduced to a chord action (or sequence) and an associated outcome (or operation). For a given chord sequence there are 0 or 1 outcomes that result from it. A chord action and its associated outcome are intrinsically bound together and are referred to as a chord operation or "ChordOp".
The form of an outcome or operation is determined by the system that it operates on. An outcome is typically directed towards controlling hardware. The method of encoding outcome instructions is arbitrary and is informed by the specification of any Application Programming Interface (API) or Hardware Abstraction Layer (HAL) that the outcome is to operate. It could be as simple as a single instruction to turn on a connected flashlight, or more complex instructions that can be sent over a network. The outcome could also be a sequence of chord inputs to be executed in a manner similar to a macro.
Figure 1 shows high-level logical operation of a Chordic Control System 100 in accordance with an embodiment of the present invention.
Referring to Fig. 1 , raw switch inputs 105 are fed into a chord preprocessor 110, which includes a chord accumulator that accumulates chord values in accordance with a set of rules. An example of such a rule set is: if chord alue > chord_accumulator
then chord_value = chord_accumulator
if chord_value = 0
then chord_accumulator = 0
The chord pre-processor 110 then passes a processed chord event to a chord event match filter 120, which 'walks' through or traverses a stored chord event table to find a listed address for the current chord event. If the chord event is found, a pointer to an appropriate address is passed to a match processor 130 for further handling. In the case of no match, no action is taken. The action taken is fully dependent on the match processor 130, which determines a (stored) hardware action that is to be executed. The match processor 130 looks up the hardware action stored at the relevant address in a stored hardware action table, and instructs a Hardware Control Unit (HCU) 140 to perform the action. The HCU 140 executes the appropriate action via its controlled hardware outputs 145.
The HCU 140 is a unified interface to external hardware devices such as weapons, global positioning systems (GPS), radios, lights, infrared scopes, computer terminals, etc. The purpose of the HCU 140 is to abstract away the details of interacting with individual disparate devices. At a minimum, the HCU 140 requires some form of application programming interface (API) so that commands can be passed to it, and so that electrical control of hardware in its jurisdiction can be performed.
The Chordic Control System 100 advantageously enables a user to control a range of disparate physical devices by means of a single homogeneous chordic user interface. The essence of the functionality of the Chordic Control System 100 is embodied (encoded) in the relationship between predefined chordic inputs and corresponding hardware control outputs. The present inventor/s realised that it is highly desirable and advantageous to separate or isolate this functionality from the hardware means for inputting and processing user inputs, so that changes or improvements to the functionality can be performed without the need for any modifications to the hardware means for chordic input and processing.
A Distributed Chord System (DCS) comprises two or more runtime frameworks instructed by either a central Chordic Device Controller (CDC) or a local CDC. Each one of the multiple runtime frameworks is referred to as a node, and each node may or may not come with its own ChordOp table and/or CDC. In a multi-node DCS, if more than one ChordOp table is present, a unification of the ChordOp tables must take place in order for all of the nodes to run on a single, shared chord space (a chord space is the total space of all possible chords which can be used as valid inputs).
Fig. 2 shows a chordic control system 200 in accordance with an embodiment of the present invention. As discussed hereinbefore, modern soldiers currently carry numerous electronic devices on their person and control of these devices is spread across multiple disparate interfaces located on the devices themselves. The Chordic Control System 200 assists and improves operation of a soldier's electronic devices by substituting a single homogeneous or uniform interface for controlling the various electronic, devices.
Referring to Fig. 2, a Chordic Device Controller (CDC) 210 is coupled to a Remote Control Box (RCB) 220 via a chordic interface cable 230. One or more slave devices (such as thermal weapon sight 234) may be coupled to the CDC 210 via the chordic interface cable 230 and controlled directly by the CDC 210. One or more slave devices (such as radios 222 and 224 and night vision goggles 226) may be coupled to the RCB 220 and controlled by the CDC 210 via the RCB 220.
The CDC 210 comprises a microprocessor-based device that includes a chordic input means and internal data storage means. The chordic input means preferably comprises buttons or switches that correspond to the digits of a human hand such that a user can generate or input chords by substantially simultaneously depressing various predefined combinations of the buttons or switches. A look-up table 212 of predetermined chordic input commands and associated operations (i.e., a ChordOp table) is stored in the data storage means of the CDC 210.
Once a predefined chord that is input by a user is identified or matched, the microprocessor in the CDC 210 retrieves the associated operation from the look-up table 212 and either controls the slave device 234 directly in accordance with the retrieved operation or transmits the retrieved operation to the RCB 220 via the chordic interface cable 230. The RCB 220 controls operation of the slave devices 222, 224, and 226 based on operations received from the CDC 200. In certain embodiments, the RCB 220 may have its own ChordOp table 228 and/or the RCB 220 may optionally comprise a chordic input means similar to or the same as the chordic input means of the CDC 210.
The chordic interface cable 230 comprises multiple insulated electrical conductors (not shown in Fig. 2), a data storage element 232 for storing a look-up table 223 of predetermined chordic input commands and associated operations (i.e., a ChordOp table), some electronic circuitry (e.g., for static protection), and various electrical connectors for connecting to the CDC 210, the RCB 220 and various slave devices. A more detailed embodiment of the chordic interface cable 230 is described hereinafter with reference to Figs. 5 and 6.
Fig. 3 shows a Chordic Control System 300, which is essentially a personal controller network that comprises a Chordic Device Controller (CDC) 310, a Remote Control Box (RCB) 320, and a number of slave devices that are user controllable via the CDC 310 and/or the RCB 320. The CDC 310 and/or the RCB 320 may, for example, comprise a CDC such as the CDC 100 of Fig. 1. The CDC 310 and the RCB 320 may be interconnected by means of a physical chordic interface cable 330 which includes a data storage element 340 (tethered embodiment), or by means of the wireless interface 360 (untethered embodiment).
As discussed hereinbefore, modern soldiers currently carry numerous electronic devices on their person and control of these devices is spread across individual interfaces located on the devices themselves. The Chordic Control System 300 assists and improves operation of a soldier's electronic devices by substituting a single uniform control interface for the multiple different controls of the various different electronic devices.
Referring to Fig. 3, the CDC 310 comprises a plastic housing containing switches or buttons 316 and electronic circuitry, which is typically mounted at the front of a soldier's weapon. The CDC 310 has one switch located beneath each finger of the hand and an additional local switch to be operated by the thumb. The CDC 310 additionally comprises a lock/unlock switch 312, a buzzer 314, a battery 318 and a connector 319 for providing data communications interfaces (e.g., RS-232) and electrical switching contacts for controlling external devices such as a thermal weapon sight 311 , a laser/illuminator 315 and/or a torch 317. The CDC 310 can control several proximately mounted devices through direct electrical switching or serial communications.
Additional external devices mounted remotely to, or on the soldier's body (called Body Worn Equipment (BWE)), can be coupled to the RCB 320 and controlled by the soldier operating the CDC 310. The RCB 320 has its own internal electronics for operating devices under its command. By pressing and releasing combinations of buttons (i.e., chords) on the CDC 310, the soldier may choose from a range of functions provided by the CDC 310. A particular advantage of this system is the ability for the soldier to readily learn and master operation of the range of functions, and be able to perform them under almost any conditions.
In the embodiment shown in Fig. 3, a soldier may control the radios 350 and 352 by appropriate chordic operation of the CDC 310. The CDC 310, in turn, transmits suitable commands to the RCB 320. The RCB 320, in turn, performs appropriate action/s to control one or both of the radios coupled to the RCB 320 in accordance with the specific chordic commands issued by the soldier. Examples of radios controlled via the RCB 320 in the embodiment of Fig. 3 include, but are not limited to: the Selex H4855 Personal Role Radio (PRR) and a Harris AN/PRC-152 MBITR Combat Net Radio (CNR).
Although the RCB 320 differs from the CDC 310 shown in Fig. 3 (e.g., the RCB 320 does not have a user interface including chord buttons 316, buzzer 314 and lock/unlock switch 352), an RCB with a user interface may be user in place of the RCB 320. In other embodiments, the RCB may comprise a CDC such as the CDC 310, which is capable of directly controlling body worn slave devices via its own chord buttons. Examples of body worn equipment which could be directly controlled from the RCB's chord buttons are a GPS unit, radios, or night vision goggles (NVG). Fig. 4 shows a more detailed embodiment of the CDC 310 of Fig. 3.
Referring to Fig. 4, the electronics of the CDC 400 comprises a processor or microcontroller unit (MCU) 410, a power supply 420, a User Interface 430, a Programming Test & I/O Expansion Interface 440, an Equipment Interface 450, a Wireless Interface 460, and additional support circuitry including a crystal 413 for clocking the MCA 410.
The MCU 410 comprises a watchdog timer 412, a supply monitor 414, a R/C oscillator 416, and an EEPROM 411 for internal memory storage.
The Power Supply 420 comprises a CR123 3V 1550mAH battery 422, a battery interface 424 for coupling to the MCU 410, and a DC regulator 426.
The User Interface 430 comprises five chording switches 432 (corresponding to a thumb and four fingers), one lock switch 434, and a buzzer 436.
The Programming Interface 440 comprises a programming and test interface 441 , multiple I/O lines 442, an internal header 444, a MCU JTAG 446, and an optional EEPROM 448 for event logging.
The Equipment Interface (or Device Interface) 450 comprises two low side 2A switches 451 for controlling switched loads, one floating switch 452 for inverted loads, an l2C bus 453, external power out 454, and two RS232 interfaces 455, 456 for serial communications.
The Wireless Interface 460 comprises a RF transceiver 464, a crystal 462 for generating transceiver frequencies, an antenna coupling 466 and an internal antenna 468. The Wireless Interface 460 enables communications with untethered body worn equipment (BWE). In an alternative embodiment, a single crystal may be used for both the RF transceiver 462 and the MCU 410.
The functionality of the user interface 430 (as defined by the functions that the CDC 400 provides) is encoded and stored either in the CDC 400 itself, or remotely. This encoded functionality can readily be changed or improved without re-compiling or modifying the underlying firmware. Another advantage of isolating the encoded functionality in this manner is that new devices that are introduced to the system can also deliver access to their features by means of an externally encoded table. In other words, a new device can store and deliver new and unique functionality via a communication channel with the CDC 400.
When the CDC 400 detects that a cable to an external device has been plugged in via the equipment interface 450 or an external device is attempting to wirelessly connect via the wireless interface 460, the CDC 400 can interrogate that device via a predefined mechanism, and determine what commands the device provides. These new commands (if any) can be merged with the existing devices' commands to form the new and additional functionality of the CDC 400. A particular advantage of this method is that new devices may be provided to the soldier without requiring return and upgrade of the CDC 400. In practice, the new device's command table will be stored in an EEPROM, or a similar non-volatile data storage element, embedded in the interconnection cable. This is necessary to enable existing devices to mesh with the system without requiring manufacturers of those devices to modify their equipment. Should a particular piece of equipment be upgraded such that its command set changes, it is advantageously only necessary to modify the corresponding table contained in the EEPROM (or similar data storage element) embedded within the cable, or to replace the cable, rather than replacing or modifying the chordic device controller itself.
Figs. 5 and 6 show an embodiment of a chordic interface cable 500. The chordic interface cable 230 of Fig. 2 and the chordic interface cable 330 of Fig. 3 may, for example, be embodied by the chordic interface cable 500 of Fig. 5.
The chordic interface cable 500 comprises a 14-pin connector 510 for connecting to a CDC, a 7-pin connector 520 for connecting to a RCB, a 7-pin connector 530 for connecting to one or more slave devices, and a junction box 540 which houses electronic circuitry 542, including a data storage element. A circuit diagram of the electronic circuitry 542 is shown in Fig. 6. In this embodiment, the 7 pin connector 530 may be used for connecting to a VIPIR 2 Thermal Weapon Sight (TWS). Additional information regarding the VIPIR 2 TWS may be obtained at the URL: http://www.qioptiq.com/vipir-2.html. The 2- pin connector 544 may be used for connecting to the AN/PEQ-2 Target Pointer/I lluminator/Aiming Light (TPIAL). Additional information regarding the AN/PEQ -2 TPIAL may be obtained at the URL:
http://en.wikipedia.org/wiki/AN/PEQ-2. The 2-pin connector 546 may be used for connecting to the SureFire flashlight. Additional information regarding the SureFire flashlight may be obtained at the URL:
http://www.surefire.com/illumination flashlights.html?application_filterset=MTI %3D&clear=1.
The 2-pin connector 532 may be used for connecting an external video monitor to the VIPIR 2 TWS (e.g., for demonstration purposes).
Referring to Fig. 5, the insulated electrical conductors marked PWR, S CLK, S DATA, and GND (which connect pins A, B, C and I of connector 510 to pins D, C, B, and A of connector 520, respectively) comprise an l2C data communications bus that enables bi-directional data communications to be performed between a CDC and a RCB. The electrical conductors marked PWR, S CLK, S DATA, and GND are connected to the electronic circuitry 542 in the junction box 540, as shown in Fig. 6.
The electrical connectors marked RS232 TX and RS232 RX (which connect pins F and G of connector 510 to pins F and G of connector 520, respectively) comprise a serial data communications bus that enables bidirectional data communications to be performed between a CDC and a RCB.
The electrical connector marked SENSE (which connects pin H of connector 510 to pin E of connector 520, respectively) enables a CDC to detect or sense when a new or reprogrammed chordic interface cable 500 and slave device is connected in the chordic control system. By attaching a pull- down resistor (e.g., lOOkOhm) to the CDC end of the SENSE line, and a lower value pull-up resistor on the other end of the SENSE line, cable plug and unplug events can be detected by the host (i.e., the CDC). Cable plug and unplug events can also be detected by the RCB). By utilising the pull up and pull down resistors, the line will be held low when a chordic interface cable is not plugged in, and pulled high when a chordic interface cable is present. These line state changes can be detected by reading of the line's analog- digital converted (ADC) value or via an interrupt pin of the microprocessor in either or both of the CDC and the RCB, and hence cable plug or unplug events can be detected. When a cable plug-in event is detected, the test for a new chordic interface cable (and associated ChordOp table) is initiated by the CDC.
The electrical connectors marked GND, DATA, CLK, PWR, SENSE, TX and RX are surrounded by an electromagnetic shield, which is electrically connected to ground pin I of the connector 510 and ground pin A of the connector 520.
The electrical connectors marked TX and RX (which connect pins D and E of connector 510 to pins 3 and 2 of connector 520, respectively) comprise a serial data communications bus that enables bi-directional data communications to be performed between a CDC and one or more slave devices. For example, the slave device may be a VIPIR 2 Thermal Weapon Sight (TWS). The connector 530 is a socket on the TWS which is used to connect to. The RS232 lines provide connectivity between the CDC and the TWS so that the TWS can be controlled by the CDC. This enables the CDC to directly control the slave device without the need for an RCB to be interposed. The electrical connectors marked RS232 TX and RS232 RX are. surrounded by an electromagnetic shield, which is electrically connected to ground pin I of the connector 510 and ground pin 1 of the connector 530.
The electronic circuitry 542 of Fig. 5 comprises an l2C-enabled data storage element and various passive electronic components. In the embodiment shown in Fig. 6, the l2C-enabled data storage element comprises a 27C256 EEPROM. Specifications for this device may be obtained from the URL: http://www.futurlec.com/Memorv/24C256.shtml. Other devices shown in Fig. 6 include a voltage suppressor SMAJ18A across the power supply, diodes BAV99 for static protection of the S DATA and S CLK l2C lines, and various resistors and capacitors for filtering.
Embodiments of the present invention provide a detachable and modifiable ChordOp table stored in a data storage element that forms part of a chordic interface cable. The ChordOp table comprises a look-up table of predetermined chordic input commands and associated operations for controlling one or more specific types of slave device.
The ChordOp table contains the information required to operate a specific suite of (remote) slave devices via the CDC.
Although a CDC is typically supplied with a ChordOp table stored in its internal memory (e.g., a ChordOp table of chordic input commands and associated operations that relate specifically to a particular suite of slave devices), when the CDC detects connection of a chordic interface cable, the CDC checks to determine whether the ChordOp table stored in the data storage element is different to the ChordOp table stored in the internal memory of the CDC. Each ChordOp table has a hash value associated with it. The hash value may, for example, be determined by computing the check sum of the contents of the entire ChordOp table. Testing whether the hash values of the ChordOp table stored in the CDC and the ChordOp table stored in a newly plugged-in chordic interface cable match provides a quick and simple . method for the CDC to determine whether the ChordOp table in the newly plugged-in cable matches the ChordOp table which is already stored in the CDC memory. If the hash values of the CDC ChordOp table and the cable ChordOp table are different, the CDC will upload the new ChordOp table to its internal memory. Alternatively, if the hash values match, the CDC will continue using the ChordOp table already stored, as there is no need to consume time and power uploading a ChordOp table which the CDC already has access to. Each chordic interface cable may also have a cable type or version attached to it, which would provide a secondary validity check to ensure that there are no errors in the identification of a new cable. .
The detachable chordic interface cable with ChordOp table and cable plug/unplug detection capability enables the functionality of the CDC to be upgraded in the field by simply plugging in a new (or reprogrammed) chordic interface cable, hence reducing the required integrated logistics support (ILS). The CDC has the ability to detect when a new cable has been plugged in, and upload the new ChordOp table (if necessary) to its onboard memory. The ChordOp table located within the CDC can thus be upgraded without the CDC having to be sent back to the factory or another upgrading facility. Old chordic interface cables can either be disposed of, or sent back to a programming facility for reuse.
Chordic interface cables are highly reliable, and advantageously have no requirement to upload drivers or modify configuration files in order to be used. Upgraded CDC models with new capabilities can be produced with newly keyed connection sockets and chordic interface cables. Newer model chordic interface cables are backward compatible (e.g., version 2 cables will work with version 1 CDC sockets), however older model cables will generally not be compatible with newer model CDC's.
Although the chordic control system and chordic interface cable described herein can be implemented with various alternative data communications buses, the l2C bus is particularly suitable for purpose, mainly because of the low operational power cost. The l2C bus is self clocked, which means that slave devices can match their bus addresses in hardware, and will hence only be woken from sleep state in the event of an address match. For comparison, in a CANbus system, each slave device must wake up each time a message is sent to any other slave device, as any given slave device will not know if the message is meant for it until it wakes up and checks. Notwithstanding, the chordic control system and chordic interface cable of the present invention may alternatively be implemented using a data communications bus other than the l2C bus. Alternative data communications busses include, but are not limited to, CANbus and SMBbus. In general, a multi-node bus is preferable to a point-to-point bus.
ChordOp Tables
In certain embodiments of the present invention, two distinct ChordOp tables are stored within the CDC: i) System ChordOp table (fixed): The system table is fixed and can not be overwritten. The system table typically contains information about system operations such as the battery check, which remains unchanged regardless of what version of CDC is in operation. ii) Device ChordOp table (upgradable): The device ChordOp table is uploaded to the CDC's internal memory (e.g., RAM) from the data storage element in the chordic interface cable and can be updated simply by plugging in a new (or reprogrammed) chordic interface cable. Each time a cable 'plug in' event occurs, the CDC tests its current device ChordOp table against the ChordOp table stored in the data storage element of the chordic interface cable. If the CDC's current device ChordOp table matches the device ChordOp table stored in the chordic interface cable, no upload is required. In the event that a new table is detected in the cable's data storage element, the CDC uploads the new device ChordOp table to the CDC internal memory. Each ChordOp table, regardless of type, lists various chord actions with related outcomes or operations (ChordOps). For each chord event that occurs, both the system table and current device table are parsed, looking for a chord event match. In the event of a chord event match, the outcome or operation related to the chord event in question is executed. In the event of no match being found, a default outcome is executed.
Table 1 , hereinafter, shows a simplistic example of a ChordOp table:
Figure imgf000019_0001
TABLE 1
Embodiments of the chordic control system and interface cable described herein advantageously enables a generic CDC to be used to control a wide range of slave devices in an upgradeable manner. This advantageously avoids the need for a range of different CDCs with different software variants or versions to cope with a wide diversity of slave devices. Without the ChordOp table stored in the data storage element of the chordic interface table, each batch of CDCs for a particular suite of slave devices (i.e., corresponding to a particular customer's requirements) would have to be individually programmed and the supplier would have to keep track of the software versions in the field. Additional or spare CDCs would have to be programmed and tested especially for each customer (rather than pulled from a warehouse and despatched). The software version of any CDCs returned (e.g., for repair) would have to be determined before testing. Furthermore, a particular customer having the need for two or more different suites of slave devices would require two or more variants of the CDC, which has significant logistical and cost implications (e.g., the need to carry spare parts and replacements for multiple versions of CDC). Furthermore, if a customer introduced a new slave device, the CDCs would have to be reprogrammed.
In certain embodiments, the chordic input commands and associated operations for controlling one or more slave devices may be predetermined or optimised by a computer software program resident in the chordic interface cable.
The computer software program may, for example, comprise a script that is downloaded (along with the table of ChordOps) to the data storage element of the chordic interface cable when the chordic interface cable is first plugged in; After downloading, the processor or microcontroller in the chordic interface cable executes or runs the script (e.g., interpreted code), which firstly merges the newly downloaded ChordOp table with any ChordOp pairs already stored in the data storage element of the chordic interface cable and then optimises (i.e., predetermines) chordic assignments for all system functions.
The foregoing describes a limited number of embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the embodiments being illustrative and not restrictive.
(Australia Only) In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including", and not "consisting only of. Variations of the word "comprising", such as "comprise" and "comprises" have correspondingly varied meanings.

Claims

Claims
1. A chordic interface cable for coupling a chordic device controller to at least one slave device, said chordic interface cable comprising a data storage element adapted to store a look-up table of predetermined chordic input commands and associated operations for controlling one or more slave devices.
2. The chordic interface cable of claim 1 , wherein said data storage element is adapted to store predetermined chordic input commands and associated operations for controlling multiple different types of slave device.
3. The chordic interface cable of claim 1 or claim 2, wherein said data storage element comprises non-volatile memory.
4. The chordic interface cable of claim 3, wherein said data storage element comprises EEPROM.
5. The chordic interface cable of any one of claims 1 to 4, wherein said chordic interface cable comprises a data communications bus.
6. The chordic interface cable of claim 5, wherein said data communications bus comprises an l2C bus.
7. A chordic control system comprising:
a chordic device controller comprising means for inputting chordic commands for controlling one or more slave devices; and
a chordic interface cable for interfacing said chordic device controller to said one or more slave devices; wherein said chordic interface cable comprises a data storage element adapted to store a look-up table of predetermined chordic input commands and associated operations for controlling said one or more slave devices.
8. The chordic control system of claim 7, wherein said chordic device controller is adapted to transfer said look-up table from said chordic interface . cable to internal memory in said chordic device controller.
9. The chordic control system of claim 8, wherein said chordic device controller is adapted to transfer said look-up table in said chordic interface cable only if said lookup table in said chordic interface cable is different to a lookup table of chordic input commands and associated operations already stored in said chordic device controller.
10. The chordic control system of claim 9, wherein said chordic device controller is adapted to determine if said lookup table in said chordic interface cable is different to said lookup table in said chordic device controller each time a chordic interface cable is plugged into said chordic device controller.
11. The chordic control system of any one of claims 7 to 10, further comprising a remote control box coupled to said chordic device controller via said chordic interface cable; and wherein one or more of said slave devices are coupled to said remote control box.
12. The chordic control system of any one of claims 7 to 11 , wherein said data storage element comprises non-volatile memory.
13. The chordic control system of claim 12, wherein said data storage element comprises EEPROM.
14. The chordic control system of any one of claims 7 to 13, wherein said chordic interface cable comprises a data communications bus.
15. The chordic control system of claim 14, wherein said data communications bus comprises an l2C bus.
16. A chordic device controller comprising:
a user interface for inputting chordic inputs;
at least one device interface for coupling said chordic device controller to one or more slave devices via a detachable chordic interface cable;
a processor coupled to said user interface and said at least one device interface, wherein said processor is programmed to:
receive chordic inputs via said user interface;
determine operations associated with said chordic inputs by traversing a chord table comprising predetermined chordic input commands and associated operations for controlling said one or more slave devices; and
output said determined operations via said at least one device interface to control said one or more slave devices.
17. The chordic device controller of claim 16, wherein said processor is further programmed to:
transfer a chord table comprising predetermined chordic input commands and associated operations for controlling said one or more slave devices from a data storage element in said detachable chordic interface cable to said chordic device controller.
18. The chordic device controller of claim 17, wherein said processor is programmed to:
determine whether a chord table stored in said detachable chordic interface cable is different to a chord table stored in said chordic device controller; and only transfer said chord table stored in said detachable chordic interface cable to said chordic device controller if said chord table stored in said detachable chordic interface cable is different to said chord table stored in said chordic device controller.
19. The chordic device controller of claim 18, wherein said processor is programmed to determine whether said chord table stored in said detachable chordic interface cable is different to said chord table stored in said chordic device controller whenever a detachable chordic interface cable is connected to said chordic device controller.
20. The chordic device controller of any one of claims 16 to 19, wherein said at least one device interface comprises an l2C bus interface.
21. The chordic interface cable of claim 1 , wherein said predetermined chordic input commands and associated operations for controlling one or more slave devices are predetermined by a computer software program resident in said chordic interface cable.
22. The chordic control system of claim 7, wherein said predetermined chordic input commands and associated operations for controlling one or more slave devices are predetermined by a computer software program resident in said chordic interface cable.
23. The chordic device controller of claim 16, wherein said processor is further programmed to predetermine said chordic input commands and associated operations for controlling one or more slave devices.
PCT/AU2013/001076 2012-09-24 2013-09-20 Chordic control system, chordic device controller and chordic interface cable WO2014043758A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2012904165A AU2012904165A0 (en) 2012-09-24 Chordic control system, chordic device controller and chordic interface cable
AU2012904165 2012-09-24

Publications (1)

Publication Number Publication Date
WO2014043758A1 true WO2014043758A1 (en) 2014-03-27

Family

ID=50340457

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2013/001076 WO2014043758A1 (en) 2012-09-24 2013-09-20 Chordic control system, chordic device controller and chordic interface cable

Country Status (1)

Country Link
WO (1) WO2014043758A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019533237A (en) * 2016-09-25 2019-11-14 コードテック ピーティーワイ エルティーディーKordTech Pty Ltd Human machine interface system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003007117A2 (en) * 2001-07-12 2003-01-23 Friedman Gary L Portable, hand-held electronic input device and combination with a personal digital device
WO2004111823A1 (en) * 2003-06-18 2004-12-23 Australian Institute Of Marine Science A chordic engine for data input

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003007117A2 (en) * 2001-07-12 2003-01-23 Friedman Gary L Portable, hand-held electronic input device and combination with a personal digital device
WO2004111823A1 (en) * 2003-06-18 2004-12-23 Australian Institute Of Marine Science A chordic engine for data input

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019533237A (en) * 2016-09-25 2019-11-14 コードテック ピーティーワイ エルティーディーKordTech Pty Ltd Human machine interface system
US10976841B2 (en) 2016-09-25 2021-04-13 Kordtech Pty Ltd Human machine interface system
US11409380B2 (en) 2016-09-25 2022-08-09 Kordtech Pty Ltd Human machine interface system
JP7162396B2 (en) 2016-09-25 2022-10-28 コードテック ピーティーワイ エルティーディー human machine interface system
KR20230004928A (en) * 2016-09-25 2023-01-06 코드테크 피티와이 엘티디 Human machine interface system
KR102586142B1 (en) 2016-09-25 2023-10-05 코드테크 피티와이 엘티디 Human machine interface system

Similar Documents

Publication Publication Date Title
KR102382003B1 (en) Method for controlling a plurality of batteries and electronic device thereof
CN103942061B (en) Battery firmware updating method, portable electronic device and rechargeable battery module
US8824346B2 (en) Remote wakeup of application processor of mobile device
CN106462188A (en) Power management contracts for accessory devices
US7475806B1 (en) Method and system of universal RFID communication
CN102662697B (en) Software upgrading method and device
CN104503796B (en) A kind of configurable whole network remote node firmware upgrade method based on IAP
KR102511051B1 (en) Apparatus comprising antenna
CN104272388A (en) Ultra-deep power-down mode for memory devices
KR20120096864A (en) Wireless charging of mobile device
CN109656597A (en) Firmware upgrade method, device and computer readable storage medium
CN103227813A (en) Automatic long-distance updating system and method for family Internet of Things system
US20150365781A1 (en) Server systems
CN103683526A (en) Energy supply system for a field device with a wireless module
WO2015079725A1 (en) Programmable controller
CN104331300A (en) Server capable of directly updating setting by using substrate management controller
US20120152177A1 (en) Upgradeable control system for aquarium lighting
WO2014043758A1 (en) Chordic control system, chordic device controller and chordic interface cable
US10070372B2 (en) Multi-mode mobile device
WO2016197883A1 (en) Method and system for updating program of microcontroller online
KR101577011B1 (en) Portable device for checking control units of fire control system
US20190187638A1 (en) Configuring an electronic control board for an appliance
Lai et al. Bluetooth based home automation system using android and arduino
JP2010525476A (en) Electronic processing apparatus and configuration method
US7051057B2 (en) General-purpose functional circuit and general-purpose unit for programmable controller

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13839946

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13839946

Country of ref document: EP

Kind code of ref document: A1