The disclosed embodiments relate generally to rowing machines, and more particularly, to instrumented handles and applications for rowing machines.
The use of rowing machines is widespread and growing. Rowing machines allow users, also referred to as rowers, to exercise by engaging in rowing motions. Among other benefits, rowing machines provide rowers with physical and mental health benefits.
An instrumented handle for a rowing machine is described. The instrumented handle includes a handle and a printed circuit board coupled to the handle. The printed circuit board (PCB) includes at least one sensor and at least one processor communicatively coupled to the at least one sensor. The at least one processor is configured to receive from the at least one sensor, sensor data characterizing a row motion, to generate rower data based on the sensor data, the rower data characterizing at least one rowing metric, and transmit the rower data to a server, the rower data causing the server to provide an update to an application based on the rower data.
An apparatus is described. The apparatus includes a memory device storing instructions; and at least one processor communicatively coupled to the memory device and configured to execute the instructions. The instructions include instructions to receive rower data from an instrumented handle, the rower data characterizing rower metrics, to generate gaming data for an gaming application based on the rower data, to provide an update to the gaming application based on the gaming data, to generate a status message based on the updated gaming to the application, the status message characterizing a change in a metric of a user, and to transmit the status message to the instrumented handle based on the updated gaming to the application.
A system is described including a server and an instrumented handle for a rowing machine. The server includes at least a first processor. The instrumented handle is communicatively coupled to the server over a network. The instrumented handle includes a printed circuit board with at least a second processor and at least one sensor. The at least second processor configured to receive, from the at least one sensor, sensor data characterizing a row motion; to generate rower data based on the sensor data, the rower data characterizing at least one rowing metric; and to transmit the rower data to the server over the network, wherein the at least first processor of the server is configured to receive the rower data and provide an update to an gaming application based on the rower data.
While the features, methods, devices, and systems described herein may be embodied in various forms, some exemplary and non-limiting embodiments are shown in the drawings, and are described below. Some of the components described in this disclosure are optional, and some implementations may include additional, different, or fewer components from those expressly described in this disclosure.
The embodiments described herein are directed to instrumented handles for rowing machines, as well as to applications that allow for data collection and gaming, such as competitions, between users of the rowing machines. As described herein, an instrumented handle, which may be configured to attach to various rowing machines, such as rowing machines of various brands or manufacturers, may include a handle with handle grips, a power source, such as a battery, for powering a printed circuit board (PCB), a power compartment, such as a battery compartment (e.g., battery holder) for storing the battery, and a handle attachment component coupled (e.g., directly, or indirectly) to the handle. The instrumented handle may further include an interface component allowing attachment (via, e.g., a webbing, a handle adapter, chain, rope, wire, cable, etc.) to a rowing machine. Further, the instrumented handle may include a force transducer, such as a load cell, coupled (e.g., directly, or indirectly) to the interface component, and a coupler connecting (e.g., directly, or indirectly) the handle attachment component to the load cell, among other components. The instrumented handle may be manufactured and provided to various manufacturers for inclusion into corresponding rowing machines, for example. In some instances, in addition to the instrumented handle, an interface component (e.g., webbing interface, handle adapter, etc.) is provided to the various manufacturers to allow the instrumented handle to properly attach to a corresponding rowing machine.
Further, the PCB of the instrumented handles may collect rower data for a rower, while a rower is using a corresponding rowing machine. The rower data may include, for instance, power (average power, maximum power, etc.), stroke rate, distance, resistance settings, calories, time, direction, a force profile, handle speed, handle orientation, split time, average split time, projected distance, projected finish time, and any other suitable rower data. To collect the rower data, the PCB may include one or more processors (e.g., a microcontroller), and one or more sensors communicatively coupled to the one or more processors. The sensors may include, for example, accelerometers, gyroscopes, and heart rate (e.g., pulse) sensors. The sensors may generate corresponding data during the use of the rowing machine, and may transmit the generated data to the one or more processors. The PCB may further include, for instance, a memory device for data and or instruction storage, a transceiver (e.g., a Bluetooth® or Wi-Fi® transceiver), a microphone, a speaker, and/or an antenna. In some examples, the PCB includes a system-on-chip (SoC) that includes one or more of these and other components.
In addition, the one or more processors may aggregate data received from the sensors, and may compute metrics (e.g., rower statistics) based on the received data. For example, a processor may receive data from an accelerometer and gyroscope, and compute motion and/or acceleration values (e.g., yaw, pitch, and roll values) based on the received data. In some examples, the one or more processors populate fields of a user interface based on the computed metrics. The user interface may be displayed to a rower on a display of the instrumented handle, for instance.
In some instances, the one or more processors of the PCB of the instrumented handle may transmit the computed metrics over a network, such as a Wi-Fi® or Bluetooth® network, to a user device, such as a tablet or smartphone. The user device may display the computed metrics on a corresponding user interface (e.g., of a corresponding application).
In some examples, the instrumented handle may transmit the computed metrics to a server, such as a cloud-based server, that may maintain one or more applications, such as gaming applications or exercise applications. For instance, each PCB of the instrumented handle may include a transceiver that can communicate with the server over a network, such as the Internet. In some examples, the transceiver of the instrumented handle may communicate with a personal device (e.g., a mobile device, cellular phone, smartphone, etc.) of a user, and the personal device executes an application that is in communication with the server over the network. The applications may allow rowers to compete with each other. For example, an application may include a leaderboard that displays a list of rowers based on computed performance values, where the performance values may be computed based on the sensor data.
In some instances, the instrumented handle is used as a game controller for a gaming application. The processor may compute yaw, pitch, and/or roll values based on the received sensor data and, in real time, provide the computed values to a gaming application executed by the processor, the user device, and/or the remote server. As an example, a gaming application may include a simulation of a boat (e.g., row boat) through water. Based on received sensor data characterizing motion, the processor may cause the application to influence the steering or braking of the simulated boat (e.g., by altering a navigation course, introducing hazards such as waves, adjusting drag, etc.). In other examples, the processor may credit or penalize a rower (e.g., in points) based on a rowing motion of the rower detected based on the sensor data.
In some examples, a rowing machine may be calibrated based on data generated by the one or more sensors of the PCB of the instrumented handle. For instance, a processor may compute a resistance level (e.g., drag level) of a rowing machine based on data received from one or more sensors. In some instances, the rowing machine may have a mechanism (e.g., a processor connected to sensors) for sensing rowing power and force. The instrumented handle may, as described herein, compute its own rowing power and force, and transmit the computed power and force to the rowing machine. The rowing machine may use the received power and force to determine the accuracy of its own computations. For example, the rowing machine may compare its own computed power and force to the results received from the instrumented handle to determine, for instance, a correction factor to improve the accuracy of its own internal computations.
In some examples, a processor may detect unusual or unexpected handle motion based on the sensor data, and may populate fields within a user interface characterizing the unusual or unexpected motion. For instance, the processor may determine that a user is rowing incorrectly based on the sensor data, and may provide for display (e.g., on a display of the instrumented handle or a user device of the rower) a graphic indicating the incorrect rowing motion.
In some instances, the instrumented handle may include tap sensors to detect taps, such as single or double taps. For example, the tap sensors may be configured to detect taps on one or more gripping bars of the instrumented handle. As an example, a single tap may indicate a decrease to drag (e.g., resistance), while a double tap may indicate an increase in drag. The processor may receive a first signal from the sensor indicating the single or double tap, and based on the signal, may transmit a second signal (e.g., to a drag assembly) to cause a corresponding decrease or increase in the drag.
In some examples, the processor may activate one or more safety mechanisms (e.g., functions) based on sensor data received from one or more sensors. For example, the processor may cause a shutdown of the rowing machine based on receiving sensor data indicating force, motion, or acceleration that is below a threshold (e.g., force, motion, or acceleration is too low), or at or above a threshold (e.g., force, motion, or acceleration is too high).
In other examples, a single tap may indicate a pause to a current workout, while a double tap may indicate to continue the workout. A single tap may cause a timestamp to be inserted into a workout profile, such as for later annotation or to use for interval markup. Further, a single tap may indicate a decrease to a volume of a workout application, and a double tap may indicate an increase to the volume of the workout application. For instance, and based on a received signal indicating a single or double tap, the processor may generate a signal to cause a corresponding change to the volume of a speaker of the instrumented handle. In some instances, and based on the received signal indicating a single or double tap, the processor may transmit a signal to the personal device of the user to cause a corresponding change to a volume of a speaker of the personal device.
In some examples, the instrumented handle includes actuators in one or more gripping handles. The actuators may be coupled to the processor and may provide tactile feedback in the gripping handles. For instance, the actuators may cause a vibratory or “click” impulse on the gripping handles based on a signal received from the processor. In some examples, the impulse may indicate to a rower one or more of the entry or exit of a heart rate zone, the entry or exit of a power zone, a change in drag, interval changes, leaderboard place transitions, or provide any other suitable indication. In some implementations, the impulse provided to a gripping handle may provide a catch and finish metronome for stroke consistency.
In some examples, the instrumented handle includes two handles (e.g., a left handle and a right handle). The processor of the PCB may transmit first pulses to the first handle to provide a first indication, and may transmit second pulses to the second handle to provide a second indication. The first and second indications may differ (e.g., the first impulses may indicate the entry or exit of a heart rate zone, while the second impulses may indicate a change in leaderboard place.
In some examples, the processor of the PCB receives sensor data from one or more sensors, and determines forces on the instrumented handle based on the sensor data. The processor may compute drivetrain losses based on the received sensor data, and may use the computed losses to compute and provide more accurate rower statistics.
Among other advantages, the embodiments described herein may allow rowers using rowing machines equipped with the instrumented handles to compete on a same platform, such as a leaderboard. The embodiments may also allow rowers to compete in competitive and non-competitive games. Non-competitive games may include, for example, form feedback (e.g., rowing motion form feedback) games, rhythm-based games, and rower profile displays, among other examples. By keeping rowers engaged (e.g., via competitive and non-competitive games), the embodiments may encourage participation in the use of the rowing machines.
Referring to
Networked rowing machine system 100 also includes one or more row gaming servers 110 and one or more data repositories 150 in communication with network 120. Each row gaming server 110 may be, for example, a cloud-based server, a computer, a laptop, a tablet, or any other suitable computing device. Each data repository 150 (e.g., database) may allow for the storage of data, such as data provided by any row gaming server 110, or any of the plurality of rowing machines 102A, 102B, 102C.
As described herein, the instrumented handle 302 includes and secures a PCB. The PCB may include a processor, one or more sensors such as one or more accelerometers and one or more gyroscopes, one or more memory devices for data and instruction storage, a transceiver, and an antennae. The one or more sensors may include a magnetometer. The processor may be communicatively coupled to the sensors via wired communication channels (e.g., I2C, SPI, etc.) or wireless communication channels (e.g., Bluetooth®), and may receive sensor data from the sensors via the corresponding communication channels. In addition, the processor is communicatively coupled to the memory devices (e.g., via one or more signals provided along signal traces of the PCB). In some examples, the processor stores data to, and reads data from, a memory device during operation (e.g., working data). In some examples, the processor reads instructions from the memory device, and executes the instructions to carry out one or more of the functions described herein.
The processor is further communicatively coupled to the transceiver (e.g., via one or more signals), and can provide data to the transceiver for transmission to network, such as network 120, and can obtain data from the transceiver that was received by the transceiver from the network. For instance, the processor may provide data to the transceiver to transmit to a row gaming server 110, to another rowing machine 300, or to a data repository, such as data repository 150.
In some examples, the instrumented handle 302 includes one or more pulse sensors, actuators, and tap sensors within the handle grips 303. As described herein, a pulse sensor may detect a user's pulse, and may transmit the user's pulse to the PCB's processor. Further, the processor may transmit a signal to an actuator, causing the actuator to cause a vibration, such as a vibratory or “click” impulse. In addition, a tap sensor may detect a user's tapping of the handle grips 303, and may transmit data characterizing the detected tapping to the processor. For instance, a first value within the transmitted data may indicate a single tap, and a second value within the transmitted data may indicate a double tap.
In addition, the processor is communicatively coupled to the display 304 via wired or wireless communication channels, and can provide data for display to display 304. For instance, and as described herein, display 304 may display an application 320. The application 320 may be, for instance, a gaming application, a leaderboard, or any other suitable application. Further, the application 320 may display user rower data. The rower data may include, for instance, power (average power, maximum power, etc.), stroke rate, distance, resistance settings, calories, time, direction, and any other suitable rower data. For instance, during use of the rowing machine 300, the processor may receive sensor data from one or more sensors, and may compute power (average power, maximum power, etc.), stroke rate, distance, resistance settings, calories, time, direction, and any other suitable rower data based on the sensor data. Further, the processor may transmit the rower data to the display 304 to display within application 320.
Referring back to
For example, row gaming server 110 may receive rower data 154 from one or more of the plurality of rowing machines 102A, 102B, 102C, and may store the received rower data 154 in data repository 150. In some instances, one or more of the plurality of rowing machines 102A, 102B, 102C store their respective rower data 154 directly into data repository 150. Based on rower data 154 received for one or more users, row gaming server 110 may update a leaderboard, and/or update a game being played by the one or more users.
In some examples, each of the plurality of rowing machines 102A, 102B, 102C generate rower data 154 as a user rows the corresponding rowing machine, and may occasionally (e.g., periodically) store the generated rower data 154 within data repository 150. Furthermore, row gaming server 110 may occasionally (e.g., periodically, such as nightly, every hour, every minute, etc.) read the rower data 154 stored within data repository 150 for each user, and update corresponding user data for a gaming application 152 based on the read rower data 154. For instance, the row gaming server 110 may update a leaderboard based on the rower data 154, such as rower data characterizing additional miles rowed, how long a game (e.g., a course level) took a user to complete (e.g., such as a game simulating rowing through a river), an average power for the user, a maximum power for the user, stroke rate for the user, resistance settings for the user, calories burned by the user, and direction rowed by the user, among other suitable rower data.
In some examples, row gaming server 110 determines, based on rower data 154 for a user, a status for the user, such as the user's status on a gaming application 152. For example, row gaming server 110 may determine that the user has reached a milestone (e.g., goal). For instance, the row gaming server 110 may determine, based on corresponding rower data 154, that a rower achieved a particular heart rate, maintained a particular heart rate for a minimum amount of time, entered or exited a power zone, changed positions on a leaderboard, or achieved a level in a gaming application 152, among other examples. In response to the determination, row gaming server 110 may transmit a status message to the corresponding rowing machine 102A, 102B, 102C. In response to the status message, the rowing machine 102A, 102B, 102C may transmit a signal to an actuator on the instrumented handle to cause a vibratory or “click” impulse based on the received status. In some examples, the status message identifies a type of impulse (e.g., single impulse, multiple impulses, short pulse duration, long pulse duration, etc.), and the processor may transmit one or more signals to the corresponding actuator to carry out the type of impulse requested. In some examples, the processor, based on the status message, transmits a signal to a display of the instrumented handle to cause the display of an indication (e.g., message, points, icon, etc.) of a corresponding achievement (e.g., level 10 reached).
Processors 201 can include one or more distinct processors, each having one or more processing cores. Each of the distinct processors can have the same or different structure. For example, processors 201 can include one or more central processing units (CPUs), one or more graphics processing units (GPUs), one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more microcontrollers, or any other suitable computing device. Further, processors 201 can be configured to perform a certain function or operation by executing instructions, stored within instruction memory 207, embodying the function or operation. For example, processors 201 can be configured to perform one or more of any function, method, or operation disclosed herein.
Instruction memory 207 can store instructions that can be accessed (e.g., read) and executed by one or more processors 201. For example, instruction memory 207 can be a non-transitory, computer-readable storage medium such as a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory, a removable disk, CD-ROM, any non-volatile memory, or any other suitable memory.
Additionally, processors 201 can store data to, and read data from, working memory 202. For example, processors 201 can store a working set of instructions to working memory 202, such as instructions loaded from instruction memory 207. Processors 201 can also use working memory 202 to store dynamic data created during the operation of a corresponding rowing machine. Working memory 202 can be a random access memory (RAM) such as a static random access memory (SRAM) or dynamic random access memory (DRAM), or any other suitable memory.
Input-output devices 203 can include any suitable device that allows for data input or output. For example, input-output devices 203 can include one or more of a keyboard, a touchpad, a mouse, a stylus, a touchscreen, a physical button, a microphone, or any other suitable input or output device.
Communication port(s) 209 can include, for example, a serial port such as a Universal Serial Bus (USB) port, an Ethernet port, a universal asynchronous receiver/transmitter (UART) port, or any other suitable communication port or connection. In some examples, communication port(s) 209 allows for the programming of executable instructions in instruction memory 207. In some examples, communication port(s) 209 allow for the transfer (e.g., uploading or downloading) of data, such as rower data 154 (e.g., profile data, such as height, weight, goals, etc.).
Display 206 can display user interface 205. User interface 205 can be a user interface for a gaming application, such as a user interface for a gaming application 152 maintained by row gaming server 110. In some examples, a user can interact with user interface 205 by engaging input-output devices 203 or the instrumented handle of a corresponding rowing machine, such as the instrumented handle of any of the plurality of rowing machines 102A, 102B, 102C. In some examples, display 206 can be a touchscreen, where user interface 205 is displayed on the touchscreen.
Transceiver 212 allows for communication with a network, such as network 120 (e.g., a wireless network, such as one based on WiFi®, Bluetooth®, etc.). The one or more processors 201 are operable to receive data from, and send data to, the network via transceiver 212. Sensors 228 may include one or more sensors such as, for example, accelerometers, gyroscopes, magnetometers, and pulse sensors. The one or more processors 201 are operable to receive sensor data from any of the sensors 228. Furthermore, battery 224 may supply one or more voltages to other components of the PCB 200, such as to the one or more processors 201, the working memory 202, the one or more input-output devices 203, the instruction memory 207, the transceiver 212, the one or more communication ports 209, the display 206, and the one or more sensors 228. In some instances, battery 224 is an AC-to-DC power source that receives AC voltage (e.g., from a wall outlet), and converts the AC voltage to a DC voltage expected by the components receiving power from the battery 224.
In addition, as illustrated, a handle attachment component 412, in this example a U-ring, attaches the handle bar 420 to a coupler 410. The handle attachment component 412, on either end, includes threads that protrude through the handle bar 420 and are held in place by corresponding nuts (as seen in
The load cell 414 is also attached to a webbing interface 408. For instance, as illustrated in
In determining the location of the rowing handle different methods of estimating may be used. For example, the signals received from the one or more sensors in the PCB 402 permit the determination of the location, velocity, and acceleration of the PCB 402 in three-dimensional space. In an example, the accelerometer may provide acceleration data in three dimensions as a function of time. By integrating the accelerometer data over time a velocity may be determined. By integrating the velocity over time a location or displacement may be determined. Because there is measurement error in the sensors the determination of the velocity and the displacement includes some errors. Since determination of the velocity and the displacement integrates over time, the errors will also be integrated so that without corrections, the estimated velocity and displacement will tend to diverge from their true values.
The load cell 414 measures a force applied to the instrumented handle. By multiplying the measured force by a displacement, an amount of work or energy may be determined. Dividing the work by the time provides a power. The sensors in the PCB 402 and the load cell 414 send signals to the processor of the PCB 402. The load cell 414 sends signals with information about the force exerted on the handle. To determine the energy used or the power being exerted by a rower, (or to calculate other rowing metrics), an accurate measurement or estimate of the displacement of the instrumented handle is important.
Methods can be used to estimate the displacement of the instrumented handle in a subsequent time interval, given an initial location, velocity, and acceleration of the instrumented handle. Since the PCB 402 is affixed to the instrumented handle and includes the sensors, the displacement of the PCB 402 is taken as equivalent to the displacement of the instrumented handle. Two example methods for estimating displacement are Kalman filtering and Madgwick filtering, though other methods may also be used. These estimating methods involve calculating how an error in measurement (or in calculation) can be minimized in the final estimate of displacement. In general, these methods use a state of the modeled entity (e.g., a location of the PCB 402 or of the instrumented handle) which describes the displacement and velocity in each of three directions, makes a prediction for the estimated new state after the system evolves for a time (e.g., integrating the new displacement after taking into account current period velocity and acceleration), and then compares the predicted system state with the newly measured system state. These methods take into account noise or error in the measurement and in the predictions and have methods for minimizing the effect of noise by tuning weights or correction factors to improve performance. These methods may take into account information provided by different sensors (e.g., a magnetometer, a gyroscope, and an accelerometer) to produce a single result rather than relying on data provided by one type of sensor.
In some implementations, using constraints on the motion of the instrumented handle in a rowing machine can help refine the estimates of displacement and thus of rowing metrics generally. For example, the instrumented handle of the rowing machine is constrained to move generally in a linear fashion along a primary, longitudinal axis, parallel to the rail on which the rowing seat 306 moves. The instrumented handle moves significantly less in the perpendicular lateral direction and also significantly less in the vertical direction. The estimating methods can, for example, be adjusted by applying correction factors (e.g., weights) for directions other than the primary direction so that the errors associated with those other directions do not inadvertently increase the overall error for the displacement calculation. The calculated displacement and the force determined by the load cell 414 are transmitted to the processor in the PCB 402 for use in simulations, gaming applications, or exercise applications.
In another example, the estimation methods may be refined by taking into account the periodicity of the rowing process. The standard rowing stroke includes a catch, the pull, the release, and the recovery. At the start of the catch of the rowing stroke, the velocity of the instrumented handle is briefly zero or near zero and should reverse direction. The processor in the PCB 402 may re-set the correction factors for estimating the displacement on a periodic basis, coinciding with a particular phase of the rowing stroke. For example, during the catch of a rowing stroke the force on the load cell should be zero or nearly zero, and the acceleration of the accelerometer (or other sensor) may reverse direction in a short span of time. In an example, during the release phase of the rowing stroke, the load cell should again measure zero force or nearly zero force and the accelerometer should measure a change in direction of the acceleration. In an example, during the catch phase, the instrumented handle may move in a vertical direction more significantly than during the pull phase. Analogous periodicities involved in the rowing stroke may be used to determine times or periods when the processor of the PCB may change the correction factors to more accurately estimate the displacement and to minimize the errors in estimating the displacement in order to more accurately calculate the rowing metrics. In an example, the processor may re-set the displacement calculation to have zero error every half stroke, when the sensor indicates that the acceleration along the primary direction of motion has changed sign. In an example, the processor may re-set the displacement calculation to have very low error every full stroke at the catch phase of the rowing stroke.
Some applications on the rowing server 110 may include simulations of rowing a boat through a water course. These simulations can include assumptions of the boat mass, shape, and the fluid parameters of the water to estimate a speed of the boat in the water given the energy the user has rowed into the system. The system and methods detailed here permit a more accurate estimate of the energy and power so that such simulations more closely mimic the look and feel of rowing through water. Such simulations can include, for example, estimates of boat velocity taking into account the fluid drag which slows the boat, even when the rower pauses rowing, or during a slower than usual pull phase of the stroke. In example implementations, the information obtained from the instrumented handle provides information used to calculate the rowing metrics without reference to other parts of the rowing machine (e.g., the flywheel). Thus, additional sensors on other parts of the rowing machine are made superfluous. Determining rowing metrics based on data provided from the instrumented handle enables more accurate comparison of rowing metrics amongst different rowing machines.
Advantageously, the embodiments described herein may allow rowers using rowing machines equipped with the instrumented handles to compete on a same platform, such as a leaderboard. The embodiments may also allow rowers to compete in competitive and non-competitive games. Non-competitive games may include, for example, form feedback (e.g., rowing motion form feedback) games, rhythm-based games, and rower profile displays, among other examples. By keeping rowers engaged (e.g., via competitive and non-competitive games), the embodiments may encourage participation in the use of the rowing machines.
Although the methods described above are with reference to the illustrated flowcharts, it will be appreciated that many other ways of performing the acts associated with the methods can be used. For example, the order of some operations may be changed, and some of the operations described may be optional.
In addition, the methods and system described herein can be at least partially embodied in the form of computer-implemented processes and apparatus for practicing those processes. The disclosed methods may also be at least partially embodied in the form of tangible, non-transitory machine-readable storage media encoded with computer program code. For example, the steps of the methods can be embodied in hardware, in executable instructions executed by a processor (e.g., software), or a combination of the two. The media may include, for example, RAMs, ROMs, CD-ROMs, DVD-ROMs, BD-ROMs, hard disk drives, flash memories, or any other non-transitory machine-readable storage medium. When the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the method. The methods may also be at least partially embodied in the form of a computer into which computer program code is loaded or executed, such that, the computer becomes a special purpose computer for practicing the methods. When implemented on a general-purpose processor, the computer program code segments configure the processor to create specific logic circuits. The methods may alternatively be at least partially embodied in application specific integrated circuits for performing the methods.
The foregoing is provided for purposes of illustrating, explaining, and describing embodiments of these disclosures. Modifications and adaptations to these embodiments will be apparent to those skilled in the art and may be made without departing from the scope or spirit of these disclosures.
This application claims priority to U.S. Provisional Application No. 63/604,022, filed on Nov. 29, 2023, the entire contents of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63604022 | Nov 2023 | US |