The present disclosure relates generally to heating, ventilation, air conditioning, and refrigeration (HVACR) systems and more particularly to a controller for a HVACR system.
HVACR systems can be found in a wide variety of settings, including grocery stores, hotels, restaurants, office buildings, cafeterias, and other types of buildings or structures. In these HVACR systems, there are many parameters to be controlled. Generally, these parameters are controlled using one or more controllers that are programmed at their respective site to satisfy the demands of the particular application in which the HVACR system is used.
An illustrative embodiment disclosed herein is a portable device for managing heating, ventilation, air conditioning, and refrigeration (HVACR) equipment configuration. The portable device includes a memory storing a first set of configuration parameters, device housing, a user-operable switch coupled to the device housing and having a read position and a write position, and a controller interface coupled to the memory and the user-operable switch. The controller interface is configured to be coupled to an HVACR controller. The controller interface is configured to detect whether the HVACR controller is coupled to the controller interface. The controller interface is configured to, responsive to detecting that the HVACR controller is coupled to the controller interface, detect whether the user-operable switch is in the read position or the write position. The controller interface is configured to, responsive to detecting that the user-operable switch is in the read position, execute a read operation comprising obtaining the first set of configuration parameters from the HVACR controller. The controller interface is configured to, responsive to detecting that the user-operable switch is in the write position, execute a write operation comprising sending the first set of configuration parameters to the HVACR controller.
In some embodiments, the read operation includes encoding a first command code requesting to read the first set of configuration parameters from the HVACR controller, sending a first command frame including the first command code to the HVACR controller, and receiving a response frame including the first set of configuration parameters from the HVACR controller in response to sending the first command frame.
In some embodiments, the user-operable switch is a first user-operable switch. The portable device may further include a second user-operable switch coupled to the device housing. The second user-operable switch may have an overwrite protect position and a non-overwrite protect position. The controller interface may be further configured to, responsive to detecting that the first user-operable switch is in the read position and the second user-operable switch is in the non-overwrite protect position, overwrite a second set of configuration parameters at address locations in the memory by storing the first set of configuration parameters at the address locations in the memory.
In some embodiments, the controller interface further configured to, responsive to detecting that the first user-operable switch is in the read position and the second user-operable switch is in the overwrite protect position, discard the first set of configuration parameters.
In some embodiments, the write operation includes encoding a second command code requesting the HVACR controller to save the first set of configuration parameters and sending a second command frame including the second command code and the first set of configuration parameters to the HVACR controller.
In some embodiments, the controller interface further configured to receive a first identifier from the HVACR controller and determine that the first identifier matches a second identifier corresponding to the portable device.
In some embodiments, the controller interface further configured to receive a first checksum from the HVACR controller, calculate a second checksum based on the first set of configuration parameters, and, responsive to determining that the second checksum matches the first checksum, determine that the first set of configuration parameters is not corrupt.
Another illustrative embodiment disclosed herein is a method for managing heating, ventilation, air conditioning, and refrigeration (HVACR) equipment configuration. The method includes detecting whether an HVACR controller is coupled to a controller interface. The method includes, responsive to detecting that the HVACR controller is coupled to the controller interface, detecting whether a user-operable switch coupled to device housing of a portable device is in a read position or a write position. The method includes, responsive to detecting that the user-operable switch is in the read position, executing a read operation comprising obtaining a first set of configuration parameters from the HVACR controller. The method includes, responsive to detecting that the user-operable switch is in the write position, executing a write operation comprising sending the first set of configuration parameters to the HVACR controller.
In some embodiments, the read operation includes encoding a first command code requesting to read the first set of configuration parameters from the HVACR controller, sending a first command frame including the first command code to the HVACR controller, and receiving a response frame including the first set of configuration parameters from the HVACR controller in response to sending the first command frame.
In some embodiments, the user-operable switch is a first user-operable switch. The method may further include detecting whether a second user-operable switch coupled to the device housing is in an overwrite protection position or a non-overwrite protection position and, responsive to detecting that the first user-operable switch is in the read position and the second user-operable switch is in the non-overwrite protect position, overwriting a second set of configuration parameters at address locations in a memory of the portable device by storing the first set of configuration parameters at the address locations in the memory.
In some embodiments, the method further includes, responsive to detecting that the first user-operable switch is in the read position and the second user-operable switch is in the overwrite protect position, discarding the first set of configuration parameters.
In some embodiments, the write operation includes encoding a second command code requesting the HVACR controller to save the first set of configuration parameters and sending a second command frame including the second command code and the first set of configuration parameters to the HVACR controller.
In some embodiments, the method further includes receiving a first identifier from the HVACR controller and determining that the first identifier matches a second identifier corresponding to the portable device.
In some embodiments, the method further includes receiving a first checksum from the HVACR controller, calculating a second checksum based on the first set of configuration parameters, and, responsive to determining that the second checksum matches the first checksum, determining that the first set of configuration parameters is not corrupt.
Another illustrative embodiment disclosed herein is a system for managing heating, ventilation, air conditioning, and refrigeration (HVACR) equipment configuration. The system includes an HVACR controller and a portable device including a memory storing a first set of configuration parameters, device housing, a user-operable switch coupled to the device housing and having a read position and a write position, and a controller interface coupled to the memory and the user-operable switch. The controller interface is configured to be coupled to the HVACR controller. The controller interface is configured to detect whether the HVACR controller is coupled to the controller interface. The controller interface is configured to, responsive to detecting that the HVACR controller is coupled to the controller interface, detect whether the user-operable switch is in the read position or the write position. The controller interface is configured to, responsive to detecting that the user-operable switch is in the read position, execute a read operation comprising obtaining the first set of configuration parameters. The controller interface is configured to, responsive to detecting that the user-operable switch is in the write position, execute a write operation comprising sending the first set of configuration parameters.
In some embodiments, the read includes encoding a first command code requesting to read the first set of configuration parameters from the HVACR controller, sending a first command frame including the first command code to the HVACR controller, and receiving a response frame including the first set of configuration parameters from the HVACR controller in response to sending the first command frame.
In some embodiments, the user-operable switch is a first user-operable switch. The portable device may further include a second user-operable switch coupled to the device housing. The second user-operable switch may have an overwrite protect position and a non-overwrite protect position. The controller interface may be further configured to, responsive to detecting that the first user-operable switch is in the read position and the second user-operable switch is in the non-overwrite protect position, overwrite a second set of configuration parameters at address locations in the memory by storing the first set of configuration parameters at the address locations in the memory.
In some embodiments, the controller interface further configured to, responsive to detecting that the first user-operable switch is in the read position and the second user-operable switch is in the overwrite protect position, discard the first set of configuration parameters.
In some embodiments, the write operation includes encoding a second command code requesting the HVACR controller to save the first set of configuration parameters and sending a second command frame including the second command code and the first set of configuration parameters to the HVACR controller.
In some embodiments, the portable device further includes a personal computer (PC) interface coupled to the memory and the user-operable switch. The system may further include a PC coupled to the PC interface. The PC may include a configuration manager configured to receive user selection of the first set of configuration parameters and, responsive to receiving the user selection of the first set of configuration parameters, store the first set of configuration parameters in the memory, via the PC interface.
In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented here. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, and designed in a wide variety of different configurations, all of which are explicitly contemplated and make part of this disclosure.
In the heating, ventilation, air conditioning, and refrigeration (HVACR) systems, there are many parameters to be controlled. For example, commercial refrigeration systems may have controllers that are dedicated for control of humidity, pressure, temperature, and so forth, including set points or ranges for a number of different devices in the refrigeration system (e.g., fans, alarms, sensors). The parameters are set in a configuration file.
Such configuration files may be configured through a user interface located on the HVACR unit. However, using the local user interface is non-intuitive and too time consuming. Furthermore, the process of setting up all the parameters for each unit is error prone. In accordance with present embodiments, it is recognized that there is a technological need to equip such systems with reconfigurable, easy-to-use portable devices for the HVACR infrastructure.
Disclosed herein is reconfigurable portable device and system. The portable device may provide an intuitive user interface to users via physical switches and connectors on the portable device, and additionally or alternatively, via a configuration manager on a personal computing device. The portable device may automatically read a configuration file from an HVACR controller or write a configuration file to an HVACR controller in response to how the physical switches on the portable device are positioned. One advantage is that the portable device and system will reduce setup time from minutes down to seconds. Another advantage is a reduction in setup errors. The reduction in setup time and errors will result in efficiency improvements and a reduction in operational costs.
Advantageously, the portable device and system is reconfigurable by providing three modes of communication. In a first mode, the portable device can be connected to the personal computing device, such that a configuration file can be created or updated by the configuration manager and stored on the computing device. In a second mode, the portable device can be connected to an HVACR unit in order to load, save, or clone the configuration file. In pass through mode, the portable device can simultaneously be connected to the personal computing device and the HVACR unit, such that the configuration file of the HVACR unit can be updated directly from the configuration manager easy-to-use user interface. The reconfigurable portable device and system provides flexibility such that use of the reconfigurable portable device and system can be tailored to the preferences and policies of each end-user.
The personal computing device 104 may include a configuration manager 108. The configuration manager 108 is configured to create or update a configuration file 216 as shown in
The HVACR device 106 may include the HVACR controller 110. The HVACR controller 110 may be configured to receive inputs from measurement devices and provide control signals to control devices. The measurement devices may include temperature sensors, pressure sensors, lighting sensors, or any other type of measurement device. Control devices may be actuators, chillers, boilers, air handling units, variable air volume units, or any other type of control device. The HVACR controller 110 may be configured to send an I2C identifier 120, for identifying the portable device 102, to the portable device 102. The HVACR controller 110 may be configured to receive an Inter-Integrated Circuit (I2C) command frame 116 from the portable device 102 (e.g. in the form of a request) and send an I2C response frame 118 to the portable device 102. The HVACR controller 110 may include memory configured to store the configuration file 216. The memory may include electrically erasable programmable read-only memory (EEPROM). The memory may include flash memory. The HVACR controller 110 may include one or more processing units. The processing units may process the I2C command frame 116, create the I2C response frame 118, read some or all of the data in the configuration file 216, and write data to some or all of the configuration file 216.
The user interface 202 is shown to include switches 214. In one embodiment, the switches are located on an outer surface of device housing of the portable device. In one embodiment, the switches are user-operable (e.g. a user can physically set the switch in one of two positions and/or adjust the switch from a first position to a second position). A first switch of the switches 214 may be a read/write switch configured to control whether the controller interface 206 reads or writes the configuration file 216. Responsive to the read/write switch being set to a first position (e.g., “read” or “low”), the user interface 202 may read the configuration file 216 from the HVACR controller 110 and save the configuration file 216 to the flash memory 210, overwriting the previous configuration file. Responsive to the read/write switch being set to a second position (e.g., “write” or “high”), the user interface 202 may write the configuration file 216 to the memory of the HVACR controller 110. A second switch of the switches 214 may be a write protect switch configured to enable or disable overwrite protection. Responsive to the write protect switch being set to a first position (e.g., “no write protect” or “low”), the user interface 202 may overwrite a previous configuration file saved in the flash memory 210 of the portable device 102. Overwriting is accomplished by saving the configuration parameters in the configuration file 216 to address locations in the flash memory 210 corresponding to previous configuration parameters of the previous configuration file. Responsive to the write protect switch being set to a second position (e.g., “write protect” or “high”), the user interface 202 may be prevented from overwriting the previous configuration file saved in the flash memory 210. In some embodiments, responsive to the write protect switch being set to the second position, the configuration parameters in the configuration file 216 are discarded.
In some embodiments, the write protect switch only affects operation of the read/write switch when the read/write switch is set to read the configuration file 216. In other embodiments, the write protect switch affects both operations controlled by the read/write switch. In some embodiments, the switches 214 can be bypassed by enabling an override feature in the configuration manager 108. In some embodiments, the switches 214 affect all modes including pass through mode. The switches 214 may be single-pole, double-throw (SPDT) switches. The switches 214 may be implemented as any type of hardware including, but not limited to, physical switches, mechanical switches, electrical switches, magnetic switches, toggles, sliders, levers, buttons, adjustable knobs, capacitive touchscreens, metal-oxide-semiconductor field-effect transistors (MOSFETs), bipolar switches, and micro-electro-mechanical system (MEMS) switches.
The portable device 102 is shown to include the PC interface 204. The PC interface 204 may be configured to receive the first command frame 112 from the configuration manager 108. The PC interface 204 may be configured to send the first response frame 114 to the configuration manager 108. The PC interface 204 may include a physical connector operable to receive and transmit data upon being connected to a corresponding port on the personal computing device 104. In this regard, the PC interface 204 may be configured to communicate with the configuration manager 108 in response to the physical connector being connected to the corresponding port on the personal computing device 104. In some embodiments, the physical connector is be a universal serial bus (USB) connector. The physical connector may be a recommended standard 232 (RS-232) connector. In some embodiments, the physical connector is operable to receive serial peripheral interface (SPI) data. The physical connector may be operable to receive universal asynchronous receiver-transmitter (UART) data. Transmission of the first command frame 112 or the first response frame 114 may use, or comply with, SPI protocol. In some embodiments, transmission of the first command frame 112 or the first response frame 114 uses, or complies with, UART protocol.
The command code 304 can correspond to a requested action. Examples of the command code 304 are “A,” “B,” “S,” “R,” “U,” and “X.” “A” may correspond to a first action to read the configuration file 216 that is currently stored on the portable device 102. “B” may correspond to a second action to write the configuration file 216 provided in the first command frame 112 to the portable device 102. “S” may correspond to a third action to retrieve a state of the write protect switch from memory of the portable device. “R” may correspond to a fourth action to retrieve portable device 102 information from the memory. “U” may correspond to a fifth action to command the portable device 102 to enter bootloader mode for firmware updates. “X” may correspond to a sixth action to send or receive data directly with the HVACR controller 110 (e.g. pass through mode).
Some first command frames 112 contain data 306 whereas other first command frames 112 do not contain data 306. Adding the data 306 to a first command frame 112 can cause a primary first command frame 112 to contain more bytes than a second first command frame 112 that does not contain the data 306. The data 306 could vary in length in which case each data 306 byte may be comma delimited.
The checksum 308 may be used to detect accidental changes in raw data. The personal computing device 104 may calculate and send a first checksum 308 in the first command frame 112. The portable device 102 may receive the first checksum 308, calculate a second checksum, and compare the first checksum 308 to the second checksum. If the second checksum matches the first checksum 308, the data may uncorrupted by transmission (e.g. by channel noise or distortion). In some embodiments, the checksum 308 is calculated as a remainder of a ratio of an input binary stream and a polynomial generator. The input binary stream may be n bits. The input binary stream may include the start of message 302, an American Standard Code for Information Interchange (ASCII) representation of the command code 304, some or all of the data 306, the end of message 310, or a combination thereof. The polynomial generator may be n+1 bits. In some embodiments, the polynomial generator is a hexadecimal value of 0x1021, which is the polynomial generator used for CRC-16-CCITT. The checksum 308 may be calculated in other ways or use other polynomial generators in the calculation, without departing from the scope of the present disclosure.
Referring back to
The controller interface 206 may be configured to receive the I2C identifier 120 from the HVACR controller 110. The controller interface 206 may be configured to send the I2C command frame 116 to the HVACR controller 110. In some embodiments, sending the I2C command frame 116 is responsive to receiving the I2C identifier 120. The controller interface 206 may be configured to receive the I2C response frame 118 from the HVACR controller 110. In some embodiments, receiving the I2C response frame 118 is responsive to sending the I2C command frame 116 to the HVACR controller 110. Transmission between the controller interface 206 and the HVACR controller 110 may be bidirectional. The controller interface 206 and the HVACR controller 110 may be coupled by a serial data (SDA) line and a serial clock (SCL) line. In some embodiments, control of transmission is taken by device that pulls down the SDA line. The controller interface 206 may include a physical connector operable to receive and transmit I2C data upon being connected to a corresponding port on the HVACR device 106. In this regard, the controller interface 206 may be configured to communicate with the HVACR controller 110 responsive to the physical connector being connected to the corresponding port on the HVACR device 106. Transmission of the I2C command frame 116 or the I2C response frame 118 may use, or comply with, I2C protocol.
The I2C identifier 120 may include the address of the portable device 102. Upon the HVACR controller 110 sending the I2C identifier 120, the portable device 102 may pull down the SDA line, thereby taking the control of the transmission. In some embodiments, upon receiving the I2C identifier 120, the controller interface 206 may compare the I2C identifier 120 to a second identifier stored in the flash memory 210. The second identifier may be a unique address associated with the portable device 102. Responsive to determining that the I2C identifier 120 matches the second identifier, the controller interface 206 may pull down the SDA line. In some embodiments, the I2C identifier 120 may include a read/write (R/W) bit. Whether the portable device 102 pulls down the SDA line may be determined by whether read or write is enabled.
The I2C command frame 116 may include a command code 342, a data 344, and a checksum 346. Examples of the command code 342 are “CMD_READ_CONFIG” and “CMD_WRITE_CONFIG.” “CMD_READ_CONFIG” may correspond to a first action to request to read the configuration parameters that are currently stored on the HVACR controller 110. “CMD_WRITE_CONFIG” may correspond to a second action to request to write the configuration file 216 provided in the I2C command frame 116 to the HVACR controller 110.
The data 344 may be similar to the data 306 except that (a) a length of the data 344 may be different than the length of the data 306, and (b) a number of bits per slot may be different. The checksum 346 may be similar to checksum 308 except that (a) the checksum 346 may be calculated by the portable device 102 before sending the I2C command frame 116, and (b) the checksum 346 may use a different calculation or a different polynomial generator than the checksum 308.
In some embodiments, there is no start of message 302 or end of message 310 in an I2C command frame 116. Frame transmission may initiate responsive to the HVACR controller 110 or the controller interface 206 pulling the SDA low, putting the portable device 102 on notice that transmission may start. Frame transmission may end responsive to the HVACR controller 110 or the controller interface 206 executing a low-to-high transition on the SCL line followed by a low-to-high transition on the SDA, with the SCL remaining high. In other embodiments not shown, the I2C command frame 116 includes the start of message 302 and the end of message 310.
Examples of the response code 364 are “READ_CONFIG_RESPONSE” and “WRITE_CONFIG_RESPONSE.” “READ_CONFIG_RESPONSE” may correspond to a first action to read the configuration parameters that are currently stored on the HVACR controller 110. In some embodiments, upon reading the configuration parameters from the memory of the HVACR controller 110, the configuration parameters are saved on the portable device 102, overwriting any previous configuration file saved on the portable device 102. “WRITE_CONFIG_RESPONSE” may correspond to a second action to write the configuration file 216 provided in the I2C command frame 116 to the memory of the HVACR controller 110. The configuration parameters of the configuration file 216 may be written to the appropriate sensors, actuators, backlight, and calibration, thereby overwriting previously saved configuration parameters.
Referring back to
The PC interface 204, the controller interface 206, and/or the interface converter 208 may be implemented in hardware, software, or a combination of hardware and software, in one or more embodiments. For instance, the PC interface 204, the controller interface 206, and/or the interface converter 208 can include any application, program, library, script, task, service, process or any type and form of executable instructions executing on hardware of the portable device 102. The hardware includes circuitry such as one or more processing circuits 212 in one or more embodiments.
In some embodiments, the operations performed by the PC interface 204 and the controller interface 206 are performed by the interface converter 208. The operations performed by the interface converter 208 may be performed by the PC interface 204, the controller interface 206, a combination thereof, or both. In some embodiments, some or all of the operations of the PC interface 204, the controller interface 206, and the interface converter 208 are performed by the processing circuit 212.
The portable device 102 is shown to include the flash memory 210. The flash memory 210 is shown to include the configuration file 216 and the LUT 218. As described above, the configuration file 216 is used for provisioning the HVACR device 106 and has configuration parameters including parameters for sensors, actuators, backlight, and calibration. The LUT 218 may be a data structure with a plurality of command codes (including, for example, the command code 304 or the command code 342). Each command code may be located at an index corresponding to an action or a switch position. A block having access to the LUT 218, such as the PC interface 204 or the controller interface 206, may be able to encode the command code from the action or a switch position. Encoding may be accomplished by finding the action in the LUT 218 and identifying the command code at the index in the LUT 218 corresponding to the action or the switch position. A block having access to the LUT 218 may be able to decode the command code to the action. Decoding may be accomplished by finding the command code in the LUT 218 and identifying the action at the index in the LUT 218 corresponding to the command code. The LUT 218 may include one or more LUTs. In some embodiments, the LUT 218 can include a plurality of first command codes 304 and first response codes 322 for communication with the personal computing device 104. Each first command code 304 may be located at an index corresponding to an I2C command code 342 for communication with the HVACR controller 110. Each first response code 322 may be located at an index corresponding to an I2C response code 364 for communication with the HVACR controller 110. Mapping may be accomplished by finding the first command code 304 (or the first response code 322) in the LUT 218 and identifying the I2C command code 342 (or the I2C command code 364) at the index in the LUT 218 corresponding to the first command code 304 (or first response code 322), or vice versa. In some embodiments, the LUT 218 may include first command codes 304, first response codes 322, I2C command codes 342, I2C response codes 364, actions, and/or indicators of switch positions.
The portable device 102 is shown to include the processing circuit 212 configured to execute instructions. The instructions may be carried out by a special purpose computer, logic circuits, or hardware circuits of the processing circuit 212. The processing circuit 212 may be implemented in hardware, firmware, software, or any combination thereof. The term “execution” is, for example, the process of running an application or the carrying out of the operation called for by an instruction. The instructions may be written using one or more programming language, scripting language, assembly language, etc. The processing circuit 212, thus, execute an instruction, meaning that they perform the operations called for by that instruction.
The processing circuit 212 may be operably coupled to the other blocks of the portable device 102, via the bus 220, to receive, send, and process information, and to control the operations of one or more of the other blocks of the portable device 102. The processing circuit 212 may retrieve a set of instructions from the one or more of the other blocks of the portable device 102. Further, the processing circuit 212 may include a single stand-alone processing unit, or a plurality of processing units that use the same or different processing technology. In some embodiments, some or all of the other blocks of the portable device 102 may have one or more processing circuits 212 to perform operations for the respective block.
Responsive to determining that the identifier 120 matches the second identifier stored in the memory of the portable device 102, at operation 508, the controller interface 206 may detect that a first switch of the portable device 102 is set to one of a read position and a write position. In one embodiment, detecting that the first switch is set to a write position includes sensing, by the controller interface, a first voltage satisfying a first threshold. The first switch, depending on a position of the switch, can couple or de-couple the first voltage to the controller interface. In one embodiment, detecting that the first switch is set to a read position includes sensing, by the controller interface, a second voltage satisfying a second threshold. The first switch can, depending on a position of the first switch, couple or de-couple the second voltage to the controller interface. The voltage can be an indicator of the switch position.
Responsive to detecting that the first switch is set to a write position, at operation 510, the controller interface 206 may access an LUT 218 at an index and compare a switch position threshold at the index with the write position indicator. In some embodiments, the index initializes at zero. Responsive to determining that the write position indicator does not satisfy the switch position threshold at the index, at operation 512, the controller interface 206 may increment the index, and the process 500 may return to the operation 510. In one embodiment, the switch position threshold is a voltage range. In some embodiments, prior to operation 512, the controller interface 206 determines whether the index is a maximum index (e.g. the index is equal to a number of actions in the LUT 218 minus one). Responsive to determining that the index is a maximum index, the controller interface 206 may indicate an error and exit the process 500. The error may be indicated by a user interface element, such as a light emitting diode (LED). The error may be reported to the HVACR controller 110. In this regard, the error may be displayed on a user interface associated with the HVACR device 106.
Responsive to determining that write position indicator satisfies the switch position threshold at the index, at operation 514, the controller interface 206 may send a command frame include a write command code 342 requesting to write, the write command code 342 corresponding to the index at which the switch position threshold is located. In some embodiments, the command frame is the I2C command frame 116. In some embodiments, the operations of 510 and 512 may be substituted by other operations that encode a write command code 342, without departing from the scope of the present disclosure.
Responsive to detecting that the first switch is set to a read position, at operation 516, the controller interface 206 may detect that a second switch of the portable device 102 is in one of a overwrite protect position and a non-overwrite protect position. Responsive to detecting that the second switch is set to the overwrite protect position, the process 500 ends. Responsive to detecting that the second switch is set to the non-overwrite protect position, at operation 518, the controller interface 206 may access an LUT 218 at an index and compare a switch position threshold at the index with the read position indicator. Responsive to determining that the read position indicator does not satisfy the switch position threshold at the index, at operation 520, the controller interface 206 may increment the index, and the process 500 may return to the operation 518. Responsive to determining that the read position indicator satisfies the switch position threshold at the index, at operation 522, the controller interface 206 may send a command frame including a read command code 342 requesting to read, the read command code 342 corresponding to the index wherein the second action is located. In some embodiments, encoding the read command code 342 is similar to encoding the write command code 342. In some embodiments, similar operations to those of process 500 may be performed for the HVACR controller 110 sending an I2C response frame 118.
The construction and arrangement of the systems and methods as shown in the various exemplary embodiments are illustrative only. Although only a few embodiments have been described in detail in this disclosure, many modifications are possible (e.g., variations in sizes, dimensions, structures, shapes and proportions of the various elements, values of parameters, mounting arrangements, use of materials, colors, orientations, etc.). For example, the position of elements may be reversed or otherwise varied and the nature or number of discrete elements or positions may be altered or varied. Accordingly, all such modifications are intended to be included within the scope of the present disclosure. The order or sequence of any process or method steps may be varied or re-sequenced according to alternative embodiments. Other substitutions, modifications, changes, and omissions may be made in the design, operating conditions and arrangement of the exemplary embodiments without departing from the scope of the present disclosure.
The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a machine, the machine properly views the connection as a machine-readable medium. Thus, any such connection is properly termed a machine-readable medium. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.
Although the figures show a specific order of method steps, the order of the steps may differ from what is depicted. Also two or more steps may be performed concurrently or with partial concurrence. Such variation will depend on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various connection steps, processing steps, comparison steps and decision steps.
This application claims the benefit of and priority to U.S. Provisional Patent Application No. 62/718,693 filed Aug. 14, 2018, the entire disclosure of which is incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
7821218 | Butler et al. | Oct 2010 | B2 |
20030229796 | Shih | Dec 2003 | A1 |
20050036396 | Deng | Feb 2005 | A1 |
20090248967 | Sharma | Oct 2009 | A1 |
20100298984 | Mauk et al. | Nov 2010 | A1 |
20140282458 | Gupta | Sep 2014 | A1 |
20170212487 | Gupta | Jul 2017 | A1 |
Entry |
---|
MQP electronics Ltd. “USB Made Simple Part 3—Data Flow”, copyright 2006-2008, copy from internet archive image on Jul. 16, 2018 ; URL<https://web.archive.org/web/20180716071809/http://www.usbmadesimple.co.uk/ums_3.htm> (Year: 2018). |
Merriam-Webster Dictionary, Definition of the word Coupled, retrieved from the internet on Jan. 5, 2021, URL:<https://www.merriam-webster.com/thesaurus/coupled> (Year: 2021). |
Origin Instruments, Swifty USB switch interface, archived at archive.org on Apr. 26, 2018, retrieved from the internet archive on Mar. 2, 2021, URL:<https://web.archive.org/web/20180426211057/https://www.orin.com/access/swifty/> (Year: 2018). |
Number | Date | Country | |
---|---|---|---|
20200056801 A1 | Feb 2020 | US |
Number | Date | Country | |
---|---|---|---|
62718693 | Aug 2018 | US |