Tower light dynamic register fill engine to parse unique field generated performance strings

The reconfigurable tower light (RTL) is identified and configured through the tower light programming module (TLPM), which solves the complexity of traditional tower light configuration and maintenance, and achieves the effect of rapid replacement and efficient configuration.

CN119654601APending Publication Date: 2025-03-18BANNER ENGINEERING CORP
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202280098504.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-08-05
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

In industrial environments, tower light configuration and maintenance are complex, especially when it is necessary to quickly replace or reconfigure traditional tower lights, requiring in-depth understanding of their functions and programming languages, resulting in waste of cost and time.

Method used

By developing a tower light programming module (TLPM), the module can receive traditional device models input by the user, identify predetermined device functions, and generate binary machine instruction codes to configure reconfigurable tower lights (RTLs) to simulate the functions of traditional tower lights.

Benefits of technology

This solution greatly reduces the research needs for traditional tower light functions, reduces the need for unique part number allocation of replacement parts, and improves the efficiency of rapid replacement and reconfiguration of tower lights through automatic configuration functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119654601A_ABST
    Figure CN119654601A_ABST
Patent Text Reader

Abstract

Apparatus and related methods relate to configuring a reconfigurable device. In an illustrative example, a device programming module (DPM) of a reconfigurable device may receive user input indicating a model of a legacy device. For example, the DPM may identify a user-selected function based on a first set of rules to determine a predetermined function of the legacy device. For example, the DPM may generate a binary machine instruction code to configure the reconfigurable device to perform the identified predetermined device function. The DPM may then send the binary machine instruction code to the reconfigurable device such that the reconfigurable device is configured to operate as the identified legacy device. Various embodiments may advantageously eliminate the need to study the complete functionality of a legacy device prior to programming a reconfigurable device, as well as the need to assign a unique component number to a replacement of the legacy device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Various embodiments generally relate to methods and apparatus for emulating legacy products.

[0002] background

[0003] In industrial environments (e.g., factory floors), tower lights (sometimes also called stack lights, indicator lights, industrial signal lights) can be used to provide visual and / or sometimes audible indications of the status of a machine or process. For example, based on the visual markings of the tower lights, a production manager can dispatch technicians, workers, and / or additional operators to areas of the production floor that require maintenance.

[0004] In some examples, the tower light can include an illuminated indicator, such as one or more light emitting diode circuits. In some examples, the tower light can include one or more xenon lamps. For example, the tower light can include a stacked structure having indicator segments of various shapes and colors on top of each other. Based on a control signal (e.g., a signal representing the status of a machine), the tower light can illuminate one or more indicator segments corresponding to a predetermined code known to factory floor personnel. In some examples, the predetermined code can include static lighting of one or more indicator segments or animation (e.g., flashing) of one or more indicator segments.

[0005] Overview

[0006] Apparatus and related methods relate to configuring a reconfigurable device. In an illustrative example, a device programming module (DPM) of a reconfigurable device may receive user input indicating a model of a legacy device. For example, the DPM may identify a user-selected function based on a first set of rules to determine a predetermined function of a predetermined legacy device. For example, the DPM may generate binary machine instruction code to configure the reconfigurable device to perform the identified predetermined device function. The DPM may then send the binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as the identified legacy device. Various embodiments may advantageously eliminate the need to research the full functionality of a legacy device before programming the reconfigurable device, and / or the need to assign unique part numbers to replacements for legacy devices.

[0007] Various embodiments can achieve one or more advantages. For example, when the user input does not correspond to a predetermined traditional device, some embodiments can advantageously parse the user input into binary machine instruction code based on a second set of rules corresponding to a predetermined device function defined by a string. Some embodiments can generate binary instruction code based on a set of parameters corresponding to a set of programmable functions of a reconfigurable device. Some embodiments can automatically populate a function configuration table of a user display in response to determining a predetermined device function. Some embodiments can generate a data structure defining a predetermined device function according to a predetermined configuration scheme.

[0008] The details of various embodiments are set forth in the drawings and the description that follows. Other features and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 Depicted is an exemplary tower light programming module (TLPM) employed in an illustrative use case scenario.

[0011] Figure 2 is a block diagram depicting an exemplary system for programming a reconfigurable tower light.

[0012] Figure 3 is a flow chart illustrating an exemplary user input method.

[0013] Figure 4 is a flow chart illustrating an exemplary configuration method.

[0014] Like reference symbols in the various drawings indicate like elements.

[0015] DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

[0016] Figure 1 An exemplary tower light programming module (TLPM) employed in an illustrative use case scenario 100 is depicted. In the exemplary reconfigurable tower light scenario 100, a factory 105 includes a plurality of traditional tower lights (LTLs 110). For example, the LTLs 110 may be attached to machines 115 in the factory 105. For example, a worker in the factory 105 may read a signal sent by the LTLs 110 and interpret the status of the machine 115 (e.g., the machine is operating in good condition, the machine requires maintenance, the machine has a safety issue).

[0017] In some examples, the LTL 110 can be configured to a specific configuration for use in the plant 105. For example, the LTL 110 can be configured to include a flashing red light at the top. For example, the LTL 110 can be configured to include a cycling yellow light in the middle portion. For example, the LTL 110 can be configured to include a static green light at the bottom. The LTL 110 can be used for a long time in the plant 105, for example.

[0018] In some embodiments, each of the LTLs 110 can be configured differently from one another. For example, a machine 115 can use a specific LTL 110 that is different from another LTL within a plant 105. As an example and not limitation, the various LTLs can have different configurations. The configurations can be hardwired and / or pre-assembled so that the operation of each LTL is fixedly determined (e.g., without physical reconfiguration).

[0019] In some examples, the LTL 110 may be manufactured by stacking various colored light emitting diode (LED) panels in an order defined by the model number. In operation, supporting LTL models with different stacking orders and / or color combinations may be difficult. For example, workers in the factory 105 may be trained on the signals sent by the LTL 110, so that changing the signal format of the tower light may be expensive. For example, when one of the LTLs 110 is to be replaced, the factory 105 may purchase a new LTL 110 with the same model number.

[0020] In scenario 100, for example, a reconfigurable tower light (RTL 120) may be purchased for use in a factory 105. In some embodiments, the RTL 120 may support multiple combinations of possible display configurations for the LTL 110 (made possible by different stacking orders and / or color combinations of LED panels). In some embodiments, the RTL 120 may include one or more RGB LEDs on a control circuit (e.g., a vertical printed circuit board (PCB)). For example, the RGB LEDs may be configured to display multiple color combinations on the RTL 120 controlled by a controller running control software. In some embodiments, one model of the RTL 120 may be used to replace various models of the LTL 110 by programming the controller to operate the RTL 120 in the same configuration as the LTL being replaced.

[0021] In this example, the user can use computing device 125 to configure RTL 120. For example, computing device 125 can be a desktop computer. For example, computing device 125 can be a mobile computing device. In some examples, computing device 125 can be a server accessed by a user device via a network (the Internet).

[0022] The computing device 125 includes a tower light programming module (TLPM 130). For example, the TLPM 130 can be executed by the computing device 125 to program the RTL 120. In various embodiments, the TLPM can automatically configure the RTL 120 to match the LTL model based on a string. In some embodiments, the string can be received from a peripheral device (e.g., a file within a storage device such as a USB drive). In some embodiments, the TLPM 130 can receive user input. In this example, the user can present a legacy model number (LMN) or instruction string to the computing device 125. As shown on the user interface 135, the user can enter the LMN of the LTL 110 (in this example, "LTL1000") to obtain the exact same performance of the LTL 110 from the RTL 120. For example, using the user interface 135, the user may not need to know the model scheme or specific device behavior of the LTL 110. Using the LMN of the LTL 110, the user can obtain the same performance of the LTL 110.

[0023] In some embodiments, the TLPM 130 may generate a configuration data structure (CDS 140). In some embodiments, the CDS may be a set of binary machine instruction codes. For example, the set of binary machine instruction codes may include an identification string to be programmed into the non-volatile memory of the RTL 120. In some embodiments, the CDS 140 may include a character encoding string containing, for example, the color, animation, animation pattern, animation speed, and color intensity configuration of each segment in the RTL 120.

[0024] In some embodiments, CDS 140 may include a configuration scheme that can be read by a controller of RTL 120. For example, a configuration scheme may include, for example, a mapping of colors and / or operating characteristics (e.g., animation, brightness) to regions of an RGB LED. In some examples, a configuration scheme may specify other characteristics, including sounds of RTL 120 and text displayed on RTL 120.

[0025] In the depicted example, CDS 140 may be sent to RTL 120 to configure the functionality of RTL 120 according to user input. For example, CDS 140 may be flashed into a memory device (e.g., an onboard data register) of RTL 120. In some examples, RTL 120 may generate a configuration table from CDS 140 according to a predetermined scheme for RTL 120 corresponding to predetermined device functionality of LTL 110.

[0026] In some embodiments, the CDS 140 may be sent to the RTL 120 (e.g., by wire and / or wirelessly). For example, the RTL 120 may save the received CDS 140 to a memory device. After receiving the CDS 140, the RTL 120 may generate configuration parameters according to a set of predetermined configuration rules stored in onboard data registers of the RTL 120. For example, a controller of the RTL 120 may operate the RTL 120 according to the configuration parameters. In various examples, after the CDS 140 is programmed into the RTL 120, the RTL 120 may be automatically configured to the configuration specified by the CDS 140. In various embodiments, the TLPM 130 may advantageously eliminate the need to assign unique part numbers to replacement parts of the LTL 110.

[0027] For example, after LTL 110 is no longer supported, factory 105 may purchase RTL 120 as a replacement. Without TLPM 130, an engineer who is required to configure RTL 120 to behave exactly like LTL 110 may need to understand the historical behavior of LTL 110 and the programming language used to configure RTL 120. Using CDS 140 generated by TLPM 130, engineers can quickly replace LTL 110 by simply entering its LMN.

[0028] Figure 2 is a block diagram depicting an exemplary system for programming a reconfigurable tower light. In the depicted example, the TLPM 130 includes a processor 205. The processor 205 may, for example, include one or more processing units. The processor 205 is operably coupled to a communication module 210. The communication module 210 may, for example, include wired communications. The communication module 210 may, for example, include wireless communications. In the depicted example, the communication module 210 is operably coupled to the RTL 120, the user interface 135, and other peripherals 215. For example, the peripherals 215 may include a user input device (e.g., a keyboard, a user interface pointer device). For example, a user may use the peripheral device to input a string of LMNs representing the LTL 110 into the TLPM 130. In some embodiments, the peripherals 215 may include a portable storage device (e.g., a USB drive). For example, the portable storage device may store the CDS 140 generated by the TLPM 130. For example, the RTL 120 may be configured to receive the CDS 140 stored in a portable storage device and / or from the communication module 210 .

[0029] The processor 205 is operably coupled to a memory module 220. The memory module 220 may, for example, include one or more memory modules (e.g., random access memory (RAM)). The processor 205 includes a storage module 225. The storage module 225 may, for example, include one or more storage modules (e.g., non-volatile memory). In the depicted example, the storage module 225 includes a device identification engine (DIE 230), a functional identification engine (FIE 235), and a device configuration generation engine (DCGE 240).

[0030] In some implementations, the DIE 230 may generate a device identifier for programming the RTL 120 based on, for example, a user input string containing an LMN or configuration instructions. For example, upon receiving the LMN "LTL1000" from a user input device, the DIE 230 may automatically generate a device identifier (e.g., a string) corresponding to the LMN. For example, the DIE 230 may pass the user input to the DCGE 240 for further processing when it is recognized that the user input does not correspond to any legacy device.

[0031] For example, FIE 235 can determine the predetermined functions of the traditional device based on the device identifier generated by DIE 230. The predetermined functions may include, for example, the colors, animations, and other behaviors of the traditional device. For example, the identified predetermined functions may be sent to DCGE 240 for generating a CDS 140 for programming RTL 120. In some embodiments, FIE 235 may automatically fill in a function configuration table that displays the functions of the reconfigurable device based on the device identifier. In some embodiments, in response to determining the predetermined device function based on the string, FIE 235 may generate a signal that is configured to automatically fill in a function configuration table of a user display (e.g., on a user interface 135). For example, the function configuration table may include visual indicia (e.g., check boxes, slide inputs, radio buttons) to map the available settings of RTL 120 to predetermined device functions.

[0032] In some embodiments, the DCGE 240 can generate the CDS 140 based on predetermined functions and / or a set of parameters corresponding to a set of programmable functions of the RTL 120. For example, the set of parameters can include physical and / or functional limitations (e.g., size and dimensions, animation rate, intensity limits) of the RTL 120. In some embodiments, the DCGE 240 can generate the CDS 140 by interpreting and identifying user-selected functions for the RTL 120 based on a user input string. For example, the DCGE 240 can parse the user input into the CDS 140 to configure the RTL 120 according to the device functions defined by the string.

[0033] Processor 205 is also operably coupled to data storage 245. As shown, data storage 245 includes a device ID database 250, a device function database 255, and a machine instruction database 260. In some embodiments, device ID database 250 can store predetermined LMNs that are recognizable by TLPM 130. For example, DIE 230 can access device ID database 250 to determine whether the user input corresponds to a predetermined LMN. For example, if DIE 230 cannot match the user input to the predetermined LMN stored in the device ID database, DIE 230 can determine that the user input corresponds to a user instruction string that includes a user-selected function for RTL 120.

[0034] For example, after receiving the device identifier from the DIE 230, the FIE 235 may access the device function database 255 to determine the predetermined function of the legacy device. For example, the device function database 255 may include a configuration scheme mapping between the LMN and the function of the LMN. In some embodiments, the device function database 255 may generate a data structure (e.g., json format, xml format, csv format) according to the LMN. For example, the DCGE 240 may use the generated data structure to generate the CDS 140. In some embodiments, the DCGE 240 may access the machine instruction database 260 to generate the CDS 140 according to the generated data structure of the predetermined function. For example, the machine instruction database 260 may include a mapping between the model of the RTL 120 and the predetermined function. For example, the DCGE 240 may use the mapping to generate a binary machine instruction code, which, once stored in the RTL 120, can configure the RTL 120 to execute as the LTL 110. In some embodiments, the DCGE 240 may generate the CDS 140 according to the user input corresponding to the user-selected function of the RTL 120.

[0035] like Figure 2 As shown, RTL 120 includes a controller 265 and an onboard data register 270. For example, the binary machine instruction code generated by TLPM 130 may include configuration parameters (corresponding to predetermined available functions) that can be read by controller 265. In some embodiments, onboard data register 270 may store CDS 140 sent from TLPM 130. In various examples, controller 265 may operate RTL 120 according to the configuration parameters stored in onboard data register 270.

[0036] In various embodiments, the TLPM 130 may receive a string as user input. For example, if the string corresponds to a legacy device ID (e.g., LMN), the TLPM 130 may generate binary machine instruction code through a first set of rules (matching LMNs in the device ID database 250) to configure the RTL 120 according to a predetermined device function associated with the legacy device ID identified by the FIE 235. For example, if the string does not correspond to an LMN stored in the device ID database 250, the TLPM may parse the string into binary machine instruction code through a second set of rules (using the machine instruction database 260) to configure the RTL 120 according to the device function defined by the string.

[0037] Figure 3 is a flow chart illustrating an exemplary user input method 300. For example, the TLPM 130 may execute the method 300 to receive user input from a user input device. The method 300 begins when a user input is received in step 305, the user input including a legacy device ID or a set of parameters corresponding to a set of programmable functions of a reconfigurable device. For example, the TLPM 130 may use a computing device 125 to receive the user input. In step 310, a function configuration table displaying the functions of the reconfigurable device is automatically populated based on the received user input. For example, based on the user input, the FIE 235 may populate a function configuration table to be displayed on the user interface 135. Next, at decision point 315, a determination is made as to whether a confirmation is received from the user device. If no confirmation is received, step 305 is repeated. If a confirmation is received, in step 320, a configuration operation is performed to configure the reconfigurable device to perform the displayed function, and the method 300 ends. For example, the configuration operation may include the steps of generating machine instruction code and / or programming the RTL 120 using the generated code. Reference Figure 4 Describes some examples of configuration operations.

[0038] Figure 44 is a flow chart illustrating an exemplary configuration method 400. For example, the TLPM 130 may perform the method 400 to generate the CDS 140 to program the RTL 120. In this example, the method 400 begins when a string representing a user-selected configuration scheme of a reconfigurable device is received from a user device in step 405. For example, the computing device 125 may receive the user input while the user interface 135 is being displayed. In step 410, a first set of rules is retrieved from a first data storage. For example, the DIE 230 may retrieve the LMN of the legacy device from the device ID database 250. Next, at decision point 415, it is determined whether the string corresponds to a predetermined legacy device ID. If it is determined that the string corresponds to a predetermined legacy device ID, then in step 420, a predetermined function corresponding to the legacy device ID is retrieved. For example, the FIE 235 may use the LMN of the LTL 110 to identify the predetermined function of the LTL 110 to access the device function database 255. Next, in step 425, binary machine instruction code is generated to configure the reconfigurable device to perform the identified predetermined function. For example, the DCGE 240 may generate the CDS 140 based on the identified predetermined functions using the machine instruction database 260. After the binary machine instruction code is generated, in step 430, the binary machine instruction code is sent to the reconfigurable device and the method 400 ends. For example, the CDS 140 may be sent to the RTL 120 via a data line or wirelessly. In some examples, the CDS 140 may be stored in a portable storage device and flashed into the onboard data registers 270 of the RTL 120.

[0039] At decision point 415, if it is determined that the string does not correspond to a predetermined legacy device ID, then in step 435, the string is parsed based on a second set of rules corresponding to a predetermined device function defined by the string to generate a binary machine instruction code, and step 430 is repeated. For example, DCGE 240 may generate the binary machine instruction code by accessing machine instruction database 260 using the string as one of the parameters.

[0040] Although various embodiments have been described with reference to the drawings, other embodiments are possible. For example, TLPM 130 can be applied to other automation tools including machines and / or other safety devices (e.g., safety light curtains) to enable rapid replacement of legacy equipment models with new reconfigurable models.

[0041] For example, in some embodiments, a string (e.g., a traditional device ID, a corresponding string, a hexadecimal string), such as a string that defines a device function, can be restricted to a predetermined character range (e.g., a maximum value, a minimum value). For example, a string can be restricted to a maximum number of characters (e.g., advantageously improving human usability of the interaction). A string can, for example, have no more than 30 characters. In some examples, a string can, for example, have no more than 20 characters. For example, a string can have 2 to 50 characters. In some embodiments, a string can, for example, be between 5 and 40 characters. In some embodiments, by way of example and not limitation, a string can be between 19-30 characters.

[0042] Although exemplary systems have been described with reference to the accompanying drawings, other embodiments may be deployed in other industrial, scientific, medical, commercial, and / or residential applications. In some embodiments, TLPM 130 may be embedded within RTL 120. For example, a user may connect to RTL 120 (e.g., via a Bluetooth connection) to directly program RTL 120 using a legacy device model or a user-selected instruction string.

[0043] A computer program product may include a set of instructions that, when executed by a processor device, causes the processor to perform specified functions. These functions may be performed in conjunction with a controlled device in operable communication with the processor. A computer program product, which may include software, may be stored in a data storage device tangibly embedded on a storage medium, such as an electronic, magnetic, or rotating storage device, and may be fixed or removable (e.g., hard disk, floppy disk, thumb drive, CD, DVD).

[0044] Although examples of systems that may be portable have been described with reference to the above figures, other embodiments may be deployed in other processing applications, such as desktop and networked environments.

[0045] Although specific features of the architecture have been described, other features may be combined to improve performance. For example, cache (e.g., L1, L2, ...) techniques may be used. Random access memory may be included, for example, to provide a scratch pad memory and / or load executable code or parameter information stored for use during runtime operations. Other hardware and software may be provided to perform operations, such as network or other communications using one or more protocols, wireless (e.g., infrared) communications, stored operating energy and power (e.g., batteries), switching and / or linear power supply circuits, software maintenance (e.g., self-testing, upgrading), etc. One or more communication interfaces may be provided to support data storage and related operations.

[0046] Some systems may be implemented as computer systems that may be used with various embodiments. For example, various embodiments may include digital circuits, analog circuits, computer hardware, firmware, software, or a combination thereof. The apparatus may be implemented in a computer program product that is tangibly embodied in an information carrier, such as a machine-readable storage device, for execution by a programmable processor; and the method may be performed by a programmable processor executing an instruction program to perform the functions of the various embodiments by operating on input data and generating output. Various embodiments may advantageously be implemented in one or more computer programs that are executable on a programmable system that includes at least one programmable processor coupled to receive data and instructions from and transmit data and instructions to a data storage system, at least one input device, and / or at least one output device. A computer program is a set of instructions that can be used directly or indirectly in a computer to perform a specific activity or produce a specific result. Computer programs may be written in any form of programming language, including compiled or interpreted languages, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0047] As examples, suitable processors for executing instruction programs include general and special purpose microprocessors, which may include a single processor or one of multiple processors of any type of computer. Typically, the processor will receive instructions and data from a read-only memory or a random access memory or both. The key elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Typically, a computer will also include one or more mass storage devices for storing data files, or be operatively coupled to the one or more mass storage devices to communicate with them; such devices include disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including, as examples, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by or incorporated into an ASIC (Application Specific Integrated Circuit).

[0048] In some embodiments, each system can be programmed with the same or similar information and / or initialized with substantially the same information stored in volatile and / or non-volatile memory. For example, one data interface can be configured to perform auto-configuration, auto-download, and / or auto-update functions when coupled to an appropriate host device (such as a desktop computer or server).

[0049] In some embodiments, one or more user interface features may be custom configured to perform a specific function. Various embodiments may be implemented in a computer system that includes a graphical user interface and / or an Internet browser. To provide interaction with a user, some embodiments may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user, a keyboard, and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer.

[0050] In various embodiments, the system can communicate using suitable communication methods, equipment and techniques. For example, the system can communicate with compatible devices (e.g., devices capable of transmitting data to and / or from the system) using point-to-point communication, in which messages are transmitted directly from a source to a receiver via a dedicated physical link (e.g., a fiber optic link, point-to-point wiring, a daisy chain). The components of the system can exchange information via analog or digital data communication of any form or medium, including packet-based messages on a communication network. Examples of communication networks include, for example, a LAN (local area network), a WAN (wide area network), a MAN (metropolitan area network), a wireless and / or optical network, computers and networks forming the Internet, or some combination thereof. Other embodiments can transmit messages by broadcasting to all or substantially all devices coupled together by a communication network, such as by using omnidirectional radio frequency (RF) signals. Still other embodiments can transmit messages characterized by high directivity, such as RF signals transmitted using directional (i.e., narrow beam) antennas or infrared signals that can optionally be used with focusing optics. Other implementations are possible using appropriate interfaces and protocols, such as, by way of example but not limitation, USB 2.0, Firewire, ATA / IDE, RS-232, RS-422, RS-485, 802.11a / b / g, Wi-Fi, Ethernet, IrDA, FDDI (Fiber Distributed Data Interface), Token Ring, multiplexing techniques based on frequency division, time division or code division, or some combination thereof. Some implementations may optionally incorporate features such as error checking and correction (ECC) for data integrity, or security measures such as encryption (e.g., WEP) and password protection.

[0051] In various embodiments, a computer system may include an Internet of Things (IoT) device. An IoT device may include objects embedded with electronics, software, sensors, actuators, and network connectivity that enable these objects to collect and exchange data. An IoT device may send data to another device through an interface, thereby working with wired or wireless devices. An IoT device may collect useful data and then autonomously transfer (flow) the data between other devices.

[0052] Various examples of modules can be implemented using circuits including various electronic hardware. As an example and not limitation, the hardware can include transistors, resistors, capacitors, switches, integrated circuits, other modules, or some combination thereof. In various examples, the modules can include analog logic, digital logic, discrete components, traces, and / or memory circuits manufactured on a silicon substrate, including various integrated circuits (e.g., FPGAs, ASICs), or some combination thereof. In some embodiments, the modules can involve the execution of pre-programmed instructions, software executed by a processor, or some combination thereof. For example, various modules may involve both hardware and software.

[0053] In an illustrative aspect, a computer-implemented method may be executed by at least one processor so that a configuration operation is performed to configure a reconfigurable device according to a user-presented identification string, the user-presented identification string being formed according to one of a plurality of configuration schemes. The operation may include receiving a character string representing a user-selected function of the reconfigurable device from a user device. The operation may include determining, based on a first set of rules, whether the character string corresponds to a legacy device identification code of one of a plurality of predetermined legacy devices. The operation may include, in response to determining that the character string corresponds to a legacy device identification code of one of a plurality of predetermined legacy devices, then performing a legacy device configuration operation. The legacy device configuration operation may include retrieving a data structure from a data storage according to the legacy device identification code, the data structure defining a predetermined device function according to a predetermined configuration scheme corresponding to the legacy device identification code. The legacy device configuration operation may include generating a first binary machine instruction code based on the retrieved predetermined device function to configure the reconfigurable device to perform the predetermined device function. The legacy device configuration operation may include sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code. The operation may include, in response to determining that the character string does not correspond to a legacy device identification code of any of a plurality of predetermined legacy devices, then performing a standard device configuration operation. The standard device configuration operation may include parsing the string into a second binary machine instruction code based on a second set of rules corresponding to a predetermined device function defined by the string. The standard device configuration operation may include sending the second binary machine instruction code to the reconfigurable device.

[0054] The operations may include generating a string from at least one user input signal. The at least one user input signal may include a legacy device identifier. The at least one user input signal may include a set of parameters corresponding to a set of programmable functions of the reconfigurable device.

[0055] Operations may include, in response to determining the predetermined device functionality from the character string, generating a signal configured to automatically populate a function configuration table of a user display. The function configuration table may include visual indicia mapping available settings of the reconfigurable device to the predetermined device functionality.

[0056] Sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code may include sending a signal including the first binary machine instruction code to the reconfigurable device. The signal may be configured to cause the reconfigurable device to store a plurality of configuration parameters corresponding to predetermined available functions of the reconfigurable device in an onboard data register of the reconfigurable device.

[0057] Sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code may include sending a signal to the reconfigurable device in accordance with the first binary machine instruction code. The signal may be configured to cause the reconfigurable device to store a plurality of configuration parameters corresponding to predetermined available functions of the reconfigurable device in an onboard data register of the reconfigurable device.

[0058] The operations may include generating a configuration table from the first binary machine instruction code according to a predetermined scheme of the reconfigurable device corresponding to a predetermined device function.Sending a signal to the reconfigurable device may include flashing the configuration table into an onboard data register.

[0059] Sending a signal to the reconfigurable device may include sending a first binary machine instruction code to the reconfigurable device such that the reconfigurable device generates a plurality of configuration parameters according to a set of predetermined configuration rules stored on the reconfigurable device.

[0060] In illustrative aspects, a computer-implemented method may be performed by at least one processor so that a configuration operation is performed to configure a reconfigurable device according to a user-presented identification string, the user-presented identification string being formed according to one of a plurality of configuration schemes. The operation may include receiving a character string representing a user-selected function of the reconfigurable device from a user device. The operation may include determining, based on a first set of rules, whether the character string corresponds to a legacy device identification code of one of a plurality of predetermined legacy devices. The operation may include: in response to determining that the character string corresponds to a legacy device identification code of one of a plurality of predetermined legacy devices, then performing a legacy device configuration operation. The legacy device configuration operation may include identifying a predetermined device function corresponding to the legacy device identification code. The legacy device configuration operation may include generating a first binary machine instruction code based on the identified predetermined device function to configure the reconfigurable device to perform the predetermined device function. The legacy device configuration operation may include sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code.

[0061] The operations may include: in response to determining that the string does not correspond to a legacy device identification code of any of a plurality of predetermined legacy devices, then performing a standard device configuration operation. The standard device configuration operation may include parsing the string into a second binary machine instruction code based on a second set of rules corresponding to a predetermined device function defined by the string. The standard device configuration operation may include sending the second binary machine instruction code to the reconfigurable device.

[0062] Operations may include generating a character string from at least one user input signal, the at least one user input signal including a legacy device identifier.

[0063] The operations may include generating a character string from at least one user input signal. The at least one user input signal may include a set of parameters corresponding to a set of programmable functions of the reconfigurable device.

[0064] Operations may include, in response to determining the predetermined device functionality from the character string, generating a signal configured to automatically populate a function configuration table of a user display. The function configuration table may include visual indicia mapping available settings of the reconfigurable device to the predetermined device functionality.

[0065] Identifying the predetermined device function corresponding to the legacy device identification code may include retrieving a data structure defining the predetermined device function according to the predetermined configuration scheme from a data storage based on the legacy device identification code.

[0066] Sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code may include sending a signal including the first binary machine instruction code to the reconfigurable device. The signal may be configured to cause the reconfigurable device to store a plurality of configuration parameters corresponding to predetermined available functions of the reconfigurable device in an onboard data register of the reconfigurable device.

[0067] The operations may include generating a configuration table from the first binary machine instruction code according to a predetermined scheme of the reconfigurable device corresponding to a predetermined device function.Sending a signal to the reconfigurable device may include flashing the configuration table into an onboard data register.

[0068] Sending a signal to the reconfigurable device may include sending a first binary machine instruction code to the reconfigurable device such that the reconfigurable device generates a plurality of configuration parameters according to a set of predetermined configuration rules stored on the reconfigurable device.

[0069] In an illustrative aspect, a system may include a data storage containing a program of instructions. The system may include at least one processor operably coupled to the data storage such that when the processor executes the program of instructions, the processor causes operations to be performed to configure a reconfigurable device according to a user-presented identification string formed according to one of a plurality of configuration schemes.

[0070] The operations may include receiving, from a user device, a character string representing a user-selected function of a reconfigurable device. The operations may include determining, based on a first set of rules, whether the character string corresponds to a legacy device identification code of one of a plurality of predetermined legacy devices. The operations may include, in response to determining that the character string corresponds to a legacy device identification code of one of the plurality of predetermined legacy devices, then performing a legacy device configuration operation.

[0071] The legacy device configuration operation may include retrieving a data structure from a data storage according to the legacy device identification code, the data structure defining a predetermined device function according to a predetermined configuration scheme corresponding to the legacy device identification code. The legacy device configuration operation may include generating a first binary machine instruction code based on the retrieved predetermined device function to configure the reconfigurable device to perform the predetermined device function. The legacy device configuration operation may include sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code.

[0072] The operations may include: in response to determining that the string does not correspond to a legacy device identification code of any of a plurality of predetermined legacy devices, then performing a standard device configuration operation. The standard device configuration operation may include parsing the string into a second binary machine instruction code based on a second set of rules corresponding to a predetermined device function defined by the string. The standard device configuration operation may include sending the second binary machine instruction code to the reconfigurable device.

[0073] The system may include a reconfigurable tower light configured to execute a plurality of configuration schemes including combinations of colors and animations at different portions of the reconfigurable tower light such that the reconfigurable tower light is capable of performing substantially the same functions as a predetermined conventional device.

[0074] The reconfigurable tower light may include a controller and a programmable memory array. The reconfigurable tower light may be configured to receive a user-selected configuration scheme including binary machine instruction code, and store the received configuration scheme in the programmable memory array, such that in operation, the controller operates the reconfigurable tower light based on the configuration scheme stored in the programmable memory array.

[0075] In some implementations, the system(s) may, for example, be configured to implement a computer-implemented method such as described herein.

[0076] In some embodiments, a computer program product (CPP) may include a program of instructions tangibly embodied on a non-transitory computer-readable medium, wherein when the instructions are executed on a processor, the processor causes operations. As an example and not limitation, the CPP may be configured to cause operations to be performed to implement a method (e.g., a computer-implemented method described herein).

[0077] A number of embodiments have been described. However, it should be understood that various modifications may be made. For example, advantageous results may be obtained if the steps of the disclosed technology are performed in a different order, or if the components of the disclosed system are combined in a different manner, or if these components are supplemented with other components. Therefore, other embodiments are contemplated within the scope of the appended claims.

Claims

1. A computer-implemented method, executed by at least one processor, causing configuration operations to be performed to configure a reconfigurable device according to a user-presented identification string, the user-presented identification string being formed according to one of a plurality of configuration schemes, the operations comprising: - receiving from a user device a character string representing a user-selected function of a reconfigurable device; - determining, based on a first set of rules, whether the string corresponds to a legacy device identification code of one of a plurality of predetermined legacy devices; - in response to determining that the string corresponds to a legacy device identification code of a legacy device among the plurality of predetermined legacy devices, then performing a legacy device configuration operation, the legacy device configuration operation comprising: - retrieving a data structure from a data storage according to the legacy device identification code, the data structure defining a predetermined device function according to a predetermined configuration scheme corresponding to the legacy device identification code; -- based on the retrieved predetermined device function, generating a first binary machine instruction code to configure the reconfigurable device to perform the predetermined device function; and, --sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code; and, - in response to determining that the string does not correspond to a legacy device identification code of any of the plurality of predetermined legacy devices, then performing a standard device configuration operation, the standard device configuration operation comprising: -- parsing the string into a second binary machine instruction code based on a second set of rules corresponding to a predetermined device function defined by the string; and, --Sending the second binary machine instruction code to the reconfigurable device.

2. The method according to claim 1, further comprising: The string is generated from at least one user input signal, the at least one user input signal comprising a legacy device identifier.

3. The method according to claim 1, further comprising: The string is generated from at least one user input signal comprising a set of parameters corresponding to a set of programmable functions of the reconfigurable device.

4. The method according to claim 1, further comprising: In response to determining a predetermined device function from the string, a signal is generated configured to automatically populate a function configuration table on a user display, the function configuration table including visual indicia mapping available settings of the reconfigurable device to the predetermined device function.

5. The method according to claim 1, wherein: Sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code comprises: A signal including the first binary machine instruction code is sent to the reconfigurable device, wherein the signal is configured to cause the reconfigurable device to store a plurality of configuration parameters corresponding to predetermined available functions of the reconfigurable device in an onboard data register of the reconfigurable device.

6. The method according to claim 1, wherein: Sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code comprises: Signals are sent to the reconfigurable device according to the first binary machine instruction code, wherein the signals are configured to cause the reconfigurable device to store a plurality of configuration parameters corresponding to predetermined available functions of the reconfigurable device in onboard data registers of the reconfigurable device.

7. The method according to claim 6, further comprising: generating a configuration table from the first binary machine instruction code according to a predetermined scheme of the reconfigurable device corresponding to the predetermined device function, Wherein sending the signal to the reconfigurable device comprises flashing the configuration table into the onboard data register.

8. The method according to claim 6, wherein: Sending the signal to the reconfigurable device includes sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device generates the plurality of configuration parameters according to a set of predetermined configuration rules stored on the reconfigurable device.

9. A computer-implemented method executed by at least one processor to cause configuration operations to be performed to configure a reconfigurable device according to a user-presented identification string, the user-presented identification string being formed according to one of a plurality of configuration schemes, the operations comprising: - receiving from a user device a character string representing a user-selected function of a reconfigurable device; - determining, based on a first set of rules, whether the string corresponds to a legacy device identification code of one of a plurality of predetermined legacy devices; and, - in response to determining that the string corresponds to a legacy device identification code of a legacy device among the plurality of predetermined legacy devices, then performing a legacy device configuration operation, the legacy device configuration operation comprising: --identifying a predetermined device function corresponding to the legacy device identification code; -- based on the identified predetermined device function, generating a first binary machine instruction code to configure the reconfigurable device to perform the predetermined device function; and, --Sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code.

10. The method according to claim 9, further comprising: In response to determining that the string does not correspond to a legacy device identification code of any of the plurality of predetermined legacy devices, then performing a standard device configuration operation, the standard device configuration operation comprising: parsing the string into a second binary machine instruction code based on a second set of rules corresponding to a predetermined device function defined by the string; and, The second binary machine instruction code is sent to the reconfigurable device.

11. The method according to claim 9, further comprising: The string is generated from at least one user input signal, the at least one user input signal comprising a legacy device identifier.

12. The method according to claim 9, further comprising: The string is generated from at least one user input signal comprising a set of parameters corresponding to a set of programmable functions of the reconfigurable device.

13. The method according to claim 9, further comprising: In response to determining a predetermined device function from the string, a signal is generated configured to automatically populate a function configuration table on a user display, the function configuration table including visual indicia mapping available settings of the reconfigurable device to the predetermined device function.

14. The method according to claim 9, wherein: Identifying a predetermined device function corresponding to the legacy device identification code includes: A data structure defining the predetermined device functionality according to a predetermined configuration scheme is retrieved from a data storage according to the legacy device identification code.

15. The method according to claim 9, wherein: The sending of the first binary machine instruction code to the reconfigurable device is configured to cause the reconfigurable device to be configured to operate as a legacy device identified by the legacy device identification code, comprising: A signal including the first binary machine instruction code is sent to the reconfigurable device, wherein the signal is configured to cause the reconfigurable device to store a plurality of configuration parameters corresponding to predetermined available functions of the reconfigurable device in an onboard data register of the reconfigurable device.

16. The method according to claim 15, further comprising: generating a configuration table from the first binary machine instruction code according to a predetermined scheme of the reconfigurable device corresponding to the predetermined device function, Wherein sending the signal to the reconfigurable device comprises flashing the configuration table into the onboard data register.

17. The method of claim 15, wherein: Sending the signal to the reconfigurable device includes sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device generates the plurality of configuration parameters according to a set of predetermined configuration rules stored on the reconfigurable device.

18. A system comprising: a data storage device including an instruction program; as well as, a processor operably coupled to the data storage, such that when the processor executes the program of instructions, the processor causes operations to be performed to configure the reconfigurable device according to a user-presented identification string, the user-presented identification string being formed according to one of a plurality of configuration schemes, the operations comprising: - receiving from a user device a character string representing a user-selected function of a reconfigurable device; - determining, based on a first set of rules, whether the string corresponds to a legacy device identification code of one of a plurality of predetermined legacy devices; - in response to determining that the string corresponds to a legacy device identification code of a legacy device among the plurality of predetermined legacy devices, then performing a legacy device configuration operation, the legacy device configuration operation comprising: - retrieving a data structure from a data storage according to the legacy device identification code, the data structure defining a predetermined device function according to a predetermined configuration scheme corresponding to the legacy device identification code; -- based on the retrieved predetermined device function, generating a first binary machine instruction code to configure the reconfigurable device to perform the predetermined device function; and, --sending the first binary machine instruction code to the reconfigurable device so that the reconfigurable device is configured to operate as a legacy device identified by the legacy device identification code; and, - in response to determining that the string does not correspond to a legacy device identification code of any of the plurality of predetermined legacy devices, then performing a standard device configuration operation, the standard device configuration operation comprising: -- parsing the string into a second binary machine instruction code based on a second set of rules corresponding to a predetermined device function defined by the string; and, - sending said second binary machine instruction code to said reconfigurable device.

19. The system of claim 18, further comprising a reconfigurable tower light configured to execute a plurality of configuration schemes including a combination of colors and animations at different portions of the reconfigurable tower light, such that the reconfigurable tower light is capable of performing substantially the same functions as the predetermined conventional device.

20. The system of claim 19, wherein: The reconfigurable tower light comprises a controller and a programmable memory array, wherein: The reconfigurable tower light is configured to: receiving a user-selected configuration scheme comprising binary machine instruction code; and, The received configuration scheme is stored in the programmable memory array such that, in operation, the controller operates the reconfigurable tower light based on the configuration scheme stored in the programmable memory array.

Citation Information

Patent Citations

  • Dynamic configuration for wireless peripheral device

    CN105681071A

  • Control method of combined lamp, and illumination system

    CN108064110A

  • Combined lamp control method based on power wire carrier wave communication and illumination system

    CN108184291A

  • System and method for secure internet of things (IOT) device provisioning

    CN108475317A

  • Systems and methods for connecting and controlling configurable lighting units

    CN109563971A