Point of sale device power management and under voltage protection

A point-of-sale (POS) device includes a processor, a battery, a transaction object reader, a printer with a printer controller, and optionally a temperature sensor. The processor determines a present power discharge capability rate of the battery, optionally based on a temperature measured by the temperature sensor. The processor also calculates a first estimated power draw rate based on a first setting value for at least one of the components of the POS device, such as the printer. If the first estimated power draw rate is dangerously close to the present power discharge capability rate of the battery, a second estimated power draw rate is calculated based on a second setting value for the one or more components. If the second estimated power draw rate is no longer dangerously close to the present power discharge capability rate of the battery, the components are set to the second settings value.

BACKGROUND

A point of sale (“POS”) device can include various components, such as a processor, a card reader, a network connection interface, and a receipt printer. Card readers are typically built to read transaction information from cards, such as credit cards or debit cards.

Printers allow text and other visual content to be printed onto paper via transfer of liquid ink, of solid toner, or thermal modification of paper. Printers typically include various moving parts and/or other high-energy components, such as lasers or thermal print heads. As such, printers are some of the most energy-hungry devices typically used in personal computing.

Portable devices are often powered by rechargeable or replaceable batteries with limits on their power discharge capability rates. That is, batteries are typically only able to discharge up to a certain amount of current, power, or voltage. When a battery or other power source is unable to supply enough power to the components it is connected to, this can cause various issues. These issues can include undervoltage, a situation where average voltage of powered components drops below intended or demanded levels, sometimes referred to as a brown-out. Undervoltages, or brownouts, can often result in powered components unable to perform the actions they are tasked with, and can sometimes result in permanent damage to the powered components. While large industrial machinery and municipal power grids can, in some cases, siphon energy from backup power sources when necessary, portable devices are typically limited to their respective batteries. POS devices facing brownouts can cause financial issues such as failed payments or double payments or security issues related to storage of sensitive data.

Low temperatures exacerbate situations where brownouts may already be a risk. Batteries are typically capable of outputting energy at higher rates when they are at higher temperatures, and are only capable of outputting energy at lower rates when they are at lower temperatures. At −20 degrees Celsius (−4 degrees Fahrenheit), most batteries stop functioning entirely. Some batteries can even suffer permanent damage at low temperatures, sometimes by developing permanent short circuits or by frozen electrolytes such as lead acid cracking battery enclosures. Likewise, printers often fail to function properly at lower temperatures, either due to an increase in ink viscosity, a decrease in laser/toner fusion efficacy, or a decrease in thermal print head efficacy. Printers include many moving parts, causing printers to often become fragile at lower temperatures as well.

Thus, there is a need in the art for improved power management and undervoltage protection in portable point of sale (POS) devices, particularly at low temperatures.

DETAILED DESCRIPTION

A point-of-sale (POS) device includes a processor, a battery, a transaction object reader, a printer with a printer controller, and optionally a temperature sensor. The processor determines a present power discharge capability rate of the battery, optionally based on a temperature measured by the temperature sensor. The processor also calculates a first estimated power draw rate based on a first setting value for at least one of the components of the POS device, such as the printer. If the first estimated power draw rate is dangerously close to the present power discharge capability rate of the battery, a second estimated power draw rate is calculated based on a second setting value for the one or more components. If the second estimated power draw rate is no longer dangerously close to the present power discharge capability rate of the battery, the components are set to the second settings value.

FIG. 1is an architecture diagram of a point-of-sale (POS) device with power management.

The architecture diagram of the POS device100ofFIG. 1includes a main processor105in a housing190, and optionally one or more secure processor(s)110within a secure internal enclosure195within the housing190. The main processor105may execute instructions to perform a variety of tasks, which may include communicating with the one or more secure processor(s)110as well as communicating with and/or controlling the various components coupled directly or indirectly to the main processor105.

The main processor105is coupled to a main battery140and optionally a backup battery145inFIG. 1. In some cases, the main battery140may be rechargeable, while the backup battery145may be non-rechargeable. Ultimately, however, either or both of the batteries may be rechargeable or non-rechargeable. The main processor105, main battery140, and/or backup battery145may also be connected to a power connector (not pictured) that can be connected to an external battery (not pictured), an external generator (not pictured), or a power outlet (not pictured). The power connector can be used to recharge the main battery140and/or backup battery145. The power connector can also be used to directly power the processor105and all other components of the POS device100, even if both the main battery140and backup battery145are missing.

The main processor105is coupled to a printer170via a printer controller160. The printer170may be used to print receipts, coupons, barcodes, quick-response (“QR”) codes, or some combination thereof. The printer170may be a thermal printer, a direct thermal printer, a thermal transfer thermal printer, a solid-ink “phaser” printer, an inkjet printer, a thermal inkjet (“bubblejet”) printer, a continuous inkjet printer, a piezoelectric inkjet printer, a dye-sublimation printer, a laser printer, an LED printer, or some combination thereof. The printer controller160may include a memory and/or a processor, microcontroller or ASIC (application specific integrated controller) with which it may adjust various printer setting values assigned to various printer settings165to control various aspects of the how the printer170prints. Various exemplary printer settings165and corresponding possible printer setting values are identified inFIG. 6. In some cases, the printer controller160need not be a separate component from the main processor105, and the functions of the printer controller160may simply be performed by the main processor105. In that light, it should be understood that any actions described herein as being performed by the printer controller160can alternately or additionally be performed by the main processor105, and vice versa.

The main processor105is coupled to a temperature sensor175inFIG. 1. The temperature sensor may optionally include one or more thermistors, and may optionally be connected to the main battery140and/or to the printer170. The temperature sensor may include one or more of a Negative Temperature Coefficient (NTC) thermistor, a Resistance Temperature Detector (RTD), a resistance thermometer, a thermocouple, an infrared sensor, a bimetallic device, a thermometer, a change-of-state sensor, a semiconductor-based temperature sensor, a silicon diode or other diode with temperature-sensitive voltage characteristics, or some combination thereof.

The main processor105may be connected to one or more antennas, including an 802.11 Wi-Fi antenna155, a cellular phone network antenna150, a Bluetooth® antenna, a Bluetooth® Low Energy (BLE) antenna, any other antennae or communication means discussed with respect to the output devices850or input devices860of FIG.8, or some combination thereof. The main processor105may alternately be connected to other means to networking, such as a wired Ethernet port.

The main processor105may be any type of processor810identified with respect toFIG. 8, and may be in some cases be part of, or include, an application-specific integrated circuit (ASIC). While the main processor105and secure processor(s)110are illustrated as separate components inFIG. 1, the main processor105and secure processor(s)110may in some cases be combined into a single component. It should be understood that any actions described herein as being performed by the secure processor(s)110can alternately or additionally be performed by the main processor105, and that that any actions described herein as being performed by the main processor105can alternately or additionally be performed by the secure processor(s)110.

The secure internal enclosure195can include tamper protection circuitry130, such as tamper traces or grids running along one or more surfaces of the secure internal enclosure, allowing the secure processor(s)110to detect attempts to tamper with the secure internal enclosure195or any components within. For example, tamper protection circuitry130can detect attempts to open the secure internal enclosure195, to drill into the secure internal enclosure195, to modify the secure internal enclosure195, or to flood the secure internal enclosure195with conductive ink or other fluid. The tamper protection circuitry130can do this by measuring voltages at one or more points along a circuit connected to the tamper traces or grids running along the surface(s) of the secure internal enclosure195, allowing the tamper protection circuitry130to detect short circuits, breaks in the circuit, or other changes in voltage outside of ordinary threshold levels, which would typically indicate a tampering attempt. Detection of a tamper attempt could be used by the secure processor(s)110or main processor105to disable at least a subset of the functions or components of the POS device100.

The secure internal enclosure195and its included tamper protection circuitry130can be used to protect any circuitry that reads, stores, or otherwise conveys sensitive information, such as credit or debit card numbers, near field communication (NFC) signal data from a NFC object conveying transaction information, bank account information, other transaction information, biometric information, identity information, Personal Identification Number (PIN) codes, handwritten signature scans, handwritten signatures entered via touch-sensitive surface, digital certificate signatures, symmetric keys, asymmetric public/private keys, and so forth.

Because information entered via a touch-sensitive screen surface layer125of a touchscreen210may include sensitive information, such as PIN codes or handwritten signatures entered via touch-sensitive surface, circuitry reading inputs of the touch-sensitive surface may in some cases be housed in the secure internal enclosure195, while the circuitry of the display screen120of the touchscreen210might not be. Likewise, the POS device100may include other input devices860as discussed with respect toFIG. 8, such as physical keypads, whose circuitry might also be located in the secure internal enclosure195for the same reasons. The touch-sensitive screen surface layer125may use any type of display discussed in reference to the display system870ofFIG. 8, and may use capacitive touch sensing, resistive touch sensing, inductive touch sensing, or some combination thereof. For example, the touch-sensitive screen surface layer125may utilize a Indium Tin Oxide (ITO) touch-sensitive layer or a printed ink touch-sensitive layer.

The secure processor(s)110are also connected to one or more transaction object reader(s)115. The transaction object reader(s)115may include a magnetic stripe reader235, an integrated circuit (IC) chip reader225, a near field communication (NFC) reader, or some combination thereof. The magnetic stripe reader235reads transaction data from a magnetic stripe of a transaction object. The IC chip reader225reads transaction data from an IC chip of a transaction object. The IC chip may be a chip following Europay/Mastercard/Visa (“EMV”) standards, also known as an EMV chip. The NFC reader reads transaction data from wireless NFC signals received from a transaction object. The transaction object may be a transaction card, such as a credit card or a debit card. The transaction object may be any type of NFC-capable device, such as an active NFC tag, a passive NFC tag, or a computer system500as described with respect toFIG. 5. In some cases, multiple transaction object readers115may share components—for example, the IC chip reader225and the NFC reader may share a contactless antenna. Once the transaction object reader(s)115retrieve the transaction data from the transaction object, the transaction object reader(s)115send the transaction data to the secure processor(s)110and/or main processor105. The transaction object reader(s)115or secure processor(s)110sometimes modify or encrypt the transaction data using an encryption key stored in a memory (not pictured) associated with the transaction object reader(s)115and/or secure processor(s)110before sending it to the main processor105.

The main processor105may also be connected to a memory135that stores various instructions to be executed by the main processor, such as instructions corresponding to a financial transaction software application allowing the main processor105to receive transaction data read by the transaction object reader(s)115, optionally via the secure processor(s)110, and to transmit that data to one or more financial transaction processing server(s), such as credit or debit card processing server(s) and/or bank server(s), thereby conducting a financial transaction between a merchant and a buyer whose transaction information was read via the transaction object reader(s)115. The memory135may also store the printer settings165additionally or alternatively from the printer controller160. The memory135may also store miscellaneous settings185pertaining to the main processor105, the display screen120, the touch-sensitive screen surface layer125, the Wi-Fi antenna155, the cellular antenna150, and/or various other components. Various exemplary miscellaneous settings185and corresponding possible miscellaneous setting values are identified inFIG. 7.

The main processor105may also be connected to at least one external connector180, which may be an externally-facing female port or male plug that may allow the POS device110to connect to other devices or power sources. In some cases, the external connector180may allow the POS device100to connect to any other computer system800, or to any device including at least a subset of the components identified inFIG. 8or discussed in its description. The POS device100may be connected to one or more peripheral devices or hubs via the at least one external connector180. The POS device100may in some cases act as a peripheral device to a host device connected via the at least one external connector180. In some cases, the external connector180may function as the power connector discussed above with respect to the batteries140/145and/or external power sources. In some cases, the external connector180may be a universal serial bus (USB) port/plug using any USB standard, including USB Type-A, USB Type-B, USB Type-C, USB 1.×, USB 2.×, USB 3.×, USB 4.×, Thunderbolt, USB mini, USB micro, USB On-The-Go (OTG), any other USB standard, or some combination thereof. In other cases, the external connector180may be an Apple® Lightning® port/plug, an Ethernet port/plug, a fiber optic port/plug, a proprietary wired port/plug. In other cases, the external connector180may be a wireless transceiver, such as one supporting a BLUETOOTH® wireless signal transfer, a BLUETOOTH® low energy (BLE) wireless signal transfer, a radio-frequency identification (RFID) wireless signal transfer, near-field communications (NFC) wireless signal transfer, 802.11 Wi-Fi wireless signal transfer, cellular data network wireless signal transfer, a radio wave signal transfer, a microwave signal transfer, an infrared signal transfer, a visible light signal transfer, an ultraviolet signal transfer, a wireless signal transfer along the electromagnetic spectrum, or some combination thereof.

The POS device100may also include various additional or alternative elements connected to the main processor105and/or the secure processor(s)110, each of which may optionally be located in the secure internal enclosure195. Such additional or alternative elements may include microphones. The additional or alternative elements may include cameras, such as visible light cameras, infrared cameras, ultraviolet cameras, night vision cameras, or even ambient light sensors. Ambient light sensors may optionally be coupled to the main processor105and/or the display screen120to control brightness of the display screen120and/or of a backlight of the display screen120in order to acclimatize to the ambient light level around the POS device100and prevent the display screen120from appearing too bright/harsh or too dim/unclear. The additional or alternative elements may include biometric sensors, such as fingerprint scanners, handprint scanners, voice authentication, facial recognition or iris scanners (using any of the camera types discussed above), blood testers, DNA testers, or some combination thereof. The processor(s)105/110may compare received biometric data from the buyer via the biometric sensors against databases stored within the memory135or accessible to the POS device100via a network connection via the Internet or a private network. The additional or alternative elements may include one or more accelerometer(s) and/or one or more gyroscope(s), allowing the processor(s)105/110of the POS device100to react to being tilted, moved, or shaken, optionally as indications of tampering via the tamper protection circuitry130if the POS device100is intended to be stationary. The additional or alternative elements may include one or more indicator lights, which may be light-emitting diodes (LED) and may emit light, optionally at varying brightnesses and/or colors, to indicate a successful transaction, to indicate a failed transaction, to indicate that a card or other transaction object should be presented/inserted/swiped, to indicate that a card or other transaction object should be removed, to indicate that a user input such as a PIN code must be input via the touch-sensitive display screen210, to indicate that an input via the touch-sensitive display screen210has been received, to indicate successful connection via any of the antennae of the POS system100, to indicate failure to connect via any of the antennae of the POS system100, to indicate a signal strength associated with any of the antennae of the POS system100, or some combination thereof. The additional or alternative elements may include any components illustrated inFIG. 8or discussed in the description ofFIG. 8.

FIG. 2is a perspective view of a point-of-sale (POS) device.

The POS device100ofFIG. 2may include at least a subset of the architecture and components illustrated inFIG. 1or discussed with respect toFIG. 1, and optionally may include a subset of the architecture and components illustrated inFIG. 8or discussed with respect toFIG. 8.

The POS device100ofFIG. 2may include one or more batteries260, which may include one or more rechargeable batteries, one or more non-rechargeable batteries, or some combination thereof. In some cases, one battery may act as a “main” battery, while another acts as a “backup” battery and serves to provide power to complete a transaction that was started using power from the main battery if the main battery becomes depleted or stops working due to a disconnected/poor electrical connection, a short circuit, or a battery defect. The one or more batteries260include the main battery140and optionally the backup battery145ofFIG. 1.

Two transaction object readers115and corresponding card slot interfaces are depicted in the POS device100ofFIG. 2. In particular, a card insertion slot220is illustrated allowing insertion of an IC chip card having an IC chip, such as an EMV chip. Transaction information is read from this IC chip by the IC chip reader225and then transmitted on to the main processor105and/or secure processor(s)110, optionally being encrypted at the transaction object (the IC chip card), at the IC chip reader225, at the secure processor(s)110, at the main processor105, or some combination thereof. A card swipe slot230is depicted, through which a magnetic stripe card having a magnetic stripe may be swiped. In some cases one or more “swiper walls” may be included along the sides of the card swipe slot230to keep the card in the card swipe slot230during the duration of the swipe. Transaction information is read from this magnetic stripe by the magnetic stripe reader235and then transmitted on to the main processor105and/or secure processor(s)110, optionally being encrypted at the transaction object (the IC chip card), at the IC chip reader225, at the secure processor(s)110, at the main processor105, or some combination thereof. An NFC antenna may also be included within or connected to the POS device100, though it is not shown. Transaction information is read from an NFC-capable object by the NFC antenna and then transmitted on to the main processor105and/or secure processor(s)110, optionally being encrypted at the transaction object (the IC chip card), at the IC chip reader225, at the secure processor(s)110, at the main processor105, or some combination thereof. In some cases, the NFC antenna and the IC chip reader225may share a contactless antenna.

The POS device100ofFIG. 2may include one or more processor(s)265, including one or more main processor(s)105and one or more secure processor(s)110as depicted inFIG. 1. Each of the one or more processor(s)265may be any type of processor510discussed with respect toFIG. 5. Each of the one or more processor(s)265may be connected to its own memory820, mass storage830, portable storage840, output devices850, input devices560, or any other component discussed with respect toFIG. 8; alternately, some of the one or more processor(s)265may share such components.

The main processor(s)105and the one or more secure processor(s)110may be divided to distribute different processes or control of different components to different processors. For example, the secure processor(s)110may be connected to the transaction object reader(s)115, where the secure processor(s)110handle encryption of the transaction information before that transaction information reaches the main processor105. These secure processor(s)110, along with components of the transaction object reader(s)115, may be housed in a secure internal enclosure195within the POS device100(not shown inFIG. 2), where the secure internal enclosure195includes tamper detection circuitry that may be connected to the secure processor(s)110and/or to the main processor105. The tamper detection circuitry may include multiple voltage sensors within a tamper detection circuit that includes conductive tamper traces lining one or more surfaces of the secure internal enclosure195, so that any break in the tamper traces, or any short circuit caused by connecting two tamper traces, can be detected. In this way, the tamper detection circuit, and therefore the one or more processor(s)265, can detect if someone has attempted to tamper with the secure internal enclosure195, for example by attempting to open the secure internal enclosure195, by drilling into a side of the secure internal enclosure195, by attempting to damage or disable the secure internal enclosure195, or by flooding the secure internal enclosure195with a conductive fluid. Some input components that may receive sensitive information such as Personal Identification Number (PIN) codes, signatures, or biometric data may also be enclosed in the secure internal enclosure195, as may be any memory or data storage components that store symmetric or asymmetric encryption/decryption security keys for encrypting and/or decrypting transaction information. These input components may include touch-sensitive screen surface layer125and related components of the touch-sensitive display screen210, biometric sensors, or a physical keypad.

It should be understood that any operation discussed herein as being performed by the main processor105can alternately or additionally be performed by any combination of the one or more processor(s)265, such as the secure processor(s)110discussed above.

A touch-sensitive display screen210is illustrated as a component of the POS device100, and may be secured to the POS device100so that it represents at least a portion of a face of the POS device100. For example, the touch-sensitive display screen210may be on a top or front face of the POS device100. The touch-sensitive display screen210may be on a diagonally angled face that is angled so as to be more easily viewed by a buyer user or merchant user of the POS system100. The touch-sensitive display screen210may be curved and may be on a curved face that is angled so as to be more easily viewed by a buyer user or merchant user of the POS system100. In some cases, the touch-sensitive display screen210may be mounted to the POS system100in such a way that the angle of the display with respect to a housing for the rest of the POS device100may be adjusted by a buyer user or merchant user of the POS system100, for example allowing swiveling along one or two rotation axes. The touch-sensitive display screen210may also optionally be mounted to the POS system100in such a way as to allow rotation of the touch-sensitive display screen210as well, for example to rotate from a portrait mode to a landscape mode or vice versa, or to rotate from a merchant-facing orientation to a buyer-facing orientation. The touch-sensitive display screen210is made up of the display screen120and touch-sensitive screen surface layer125illustrated inFIG. 1and is connected to the main processor105and/or to the secure processor(s)110as illustrated inFIG. 1and discussed with respect to the display screen120and touch-sensitive screen surface layer125ofFIG. 1.

The touch-sensitive display screen210may display, for example, a user interface of a financial transaction application run via the processor105by executing financial transaction application instructions stored in a memory of the POS device100. The user interface may in some cases include an “add to cart” interface allowing the buyer or merchant to input cart information identifying which items are being purchased by the buyer. The main processor105renders receipt data corresponding to a receipt240to be printed by the printer170based on the cart information, and in some cases does so in real-time as items are being added to the cart in order to reduce power usage by the main processor105during or near printing time, thereby avoiding exacerbating spikes in power usage during and around printing. Receipt data rendering may be performed by a central processing unit (CPU) of the main processor105, a graphics processing unit (GPU) of the main processor105, or some combination thereof. In some cases, the touch-sensitive display screen210can display a visualization or preview of the receipt data to be printed as the receipt240by the printer170. The touch-sensitive display screen210may use any type of display discussed in reference to the display system870ofFIG. 8, and may use capacitive touch sensing, resistive touch sensing, inductive touch sensing, or some combination thereof. For example, the touch-sensitive display screen210may utilize a Indium Tin Oxide (ITO) touch-sensitive layer or a printed ink touch-sensitive layer.

A receipt240is illustrated being output of a top-rear edge of the POS device100. This receipt240is output by a printer170illustratedFIG. 2according to printer settings165in the printer controller160(not shown inFIG. 2).

The POS device100also includes a speaker215for outputting audio. Such audio can be associated with the financial transaction application, and can for example be output to indicate a successful transaction, to indicate a failed transaction, to indicate that a card or other transaction object should be presented/inserted/swiped, to indicate that a card or other transaction object should be removed, to indicate that a user input such as a PIN code must be input via the touch-sensitive display screen210, to indicate that an input via the touch-sensitive display screen210has been received, to indicate successful connection via any of the antennae of the POS system100, to indicate failure to connect via any of the antennae of the POS system100, to indicate a signal strength associated with any of the antennae of the POS system100, or some combination thereof.

The perspective view of the POS device100illustrates the printer170in the POS device105, where the printer170is printing the receipt240. A roll of paper is visible through an side face of the printer170inFIG. 2. The paper may be thermal paper, contact paper, photo paper, or other specialized paper as required by the printer170. In some cases, one or more face(s) of the POS device100may include doors (not shown) that open and close, for example enabling paper, ink, and/or toner to be easily replaced in the printer180, or enabling one or more batterie(s)260to be easily replaced.

The perspective view of the POS device100also shows an external connector180, which inFIG. 2is illustrated as a USB type-C port. The POS device100may also or alternatively include at least one of a Bluetooth®, Bluetooth® Low Energy (BLE), or Wi-Fi antenna internally to serve as external connectors180.

The perspective view of the POS device100also shows an audio jack240. The audio jack240may allow headphones or external speakers to be plugged into the POS device100to provide an alternative or additional audio output device to output the audio that the speakers215can output. Other peripherals, such as card readers or NFC readers, may alternatively be connected via the audio jack240. The audio jack240may in some cases act as an external connector180.

The POS device100may also include a power button250that can be used to whether or not power is conveyed to the processor105, the touch-sensitive display screen210, the transaction object reader(s)115, and/or other elements of the POS device100. The POS device100may be powered by the batterie(s)260discussed above, a connection to a power outlet, or some combination thereof. The connection to the power outlet or other power source may be made through the external connector180, the audio jack240, a separate power port (not illustrated), or some combination thereof, and may charge the batterie(s)260and/or power at least a subset of the components of the POS device100.

The POS device100may include one or more wireless antennae270, which may include the Wi-Fi antenna155and the cellular network antenna165illustrated inFIG. 1. The one or more wireless antennae270may additionally or alternatively include, for example, a 802.11 Wi-Fi antenna, a Bluetooth® antenna, a Bluetooth® Low Energy (BLE) antenna, a cellular network antenna, a NFC antenna, a radio frequency identification (RFID) antenna, an antenna for any other type of communication discussed with respect toFIG. 8, or some combination thereof.

The POS device100may include one or more sensors275, whose measurements may be fed into the main processor105or any other processor(s)265. The sensors275may include the temperature sensor175ofFIG. 1for detecting high temperatures, which may indicate overheating and/or for detecting low temperatures, which may increase undervoltage risk, since batteries often do not function as well in low temperatures. The sensors275may include a camera (visible, infrared, ultraviolet, or some combination thereof) or ambient light sensor, which may for example be used to adjust the brightness and/or backlight brightness of the display screen120of the touch-sensitive display screen210to match its surroundings, so that brightness is increased where surroundings are bright to improve visibility, and so that brightness is decreased where surroundings are dim to avoid eyestrain. The sensors275may include biometric sensors, such as fingerprint scanners, palm scanners, iris/facial recognition detection (using one or more cameras), voiceprint recognition (using one or more microphones), blood sensors, DNA sensors, or some combination thereof. Data from biometric sensors may be encrypted along with transaction information or separately, and may be verified (by the POS device100or by a remote server) against a database stored at the POS device100or at another device remote from the POS device100.

The POS device100may in some cases include additional ports or components not shown in the figures, such as an Ethernet port for wired networking capabilities, a SIM card slot and cellular antenna for cellular networking capabilities, or any other component illustrated inFIG. 8or identified in the description ofFIG. 8.

FIG. 3is a flow diagram illustrating undervoltage protection based on modification of printer settings.

At step305, the printer controller160has a particular printer setting associated with the printer170set to a first printer setting value. Alternately or additionally, the main processor105has a particular miscellaneous setting set to a first miscellaneous setting value. The printer setting may be one of multiple printer settings165controllable by the printer controller160. The miscellaneous setting may be one of multiple miscellaneous settings185controllable by the main processor105and stored in memory135. Examples505of printer settings165and possible corresponding printer setting values510are provided inFIG. 5. Examples605of miscellaneous settings185and possible corresponding miscellaneous setting values610are provided inFIG. 6.

At optional step310, a measured temperature is detected at the temperature sensor175and provided to the main processor105.

At step315, the main processor105determines a present power discharge capability rate of the battery based on current conditions of the POS system100and/or of the battery140. These current conditions may include factors such as load associated with the components of the POS device100, the setting values of the printer settings165and miscellaneous settings185, voltage sensor measurements from voltage sensors within the POS device100, the model of the particular battery140used, technical specifications of the particular battery140used, condition metrics of the particular battery140used, the measured temperature measured at the temperature sensor175in optional step310, or some combination thereof. Battery technical specifications can include nominal voltage, cut-off voltage, capacity, nominal capacity, energy, nominal energy, cycle life, specific energy, specific power, energy density, power density, maximum continuous discharge current, maximum 30-sec discharge pulse current, charge voltage, float voltage, recommended charge current, maximum internal resistance, or some combination thereof. Condition metrics of the particular battery140can include state of charge, depth of discharge, battery cycle life, battery cycle count, terminal voltage, open-circuit voltage, internal resistance, or some combination thereof. The present power discharge capability rate can correspond to a given point or stretch of time in the present and/or near future, and can sometimes be an amount rather than a rate.

The present power discharge capability rate may be calculated by the main processor105based a combination of the factors identified above, for example using the Peukert's equation. The present power discharge capability rate, or some element of the calculation used in the Peukert's equation or another calculation, may be determined based on the main processor105querying a battery data structure, such as a battery lookup table or battery database, for this information. The battery data structure may be stored in memory135/820, mass storage830within the POS system100or outside of it, or a network-accessible source on the Internet or a private network. The battery lookup table or battery database can take the measured temperature and/or any of the other factors discussed above as a query for the battery data structure. The battery data structure can then return an estimated present power discharge capability rate or some variable that can be used by the main processor105to calculate the present power discharge capability rate given the other information available to the main processor105.

At step320, the main processor105calculates a first estimated power draw rate based on the first printer setting value for the printer setting identified in step305and/or the first miscellaneous setting value for the miscellaneous setting identified in step305. The first estimated power draw rate can correspond to the given point or stretch of time in the present and/or near future, and can sometimes be an amount rather than a rate. The first estimated power draw rate can be based solely on the printer170due to its outsized influence on power draw, can be based solely on another high-draw component such as the touch-sensitive display screen210, or can be based on a sum power draw rate of a combination of components (optionally all of the components) of the POS device100estimated to be drawing power from the battery140of the POS device100currently and/or in the near future within a predetermined amount of time. This can also be based on any settings values set in the miscellaneous settings185, for which examples are given inFIG. 7. Calculation of the first estimated power draw rate may also be based on the measured temperature measured at the temperature sensor175in optional step310in situations where temperature may affect power draw in predictable ways. The main processor105can use any combination of the factors identified with respect to step315in calculating the first estimated power draw rate based on as well.

Calculation of the first estimated power draw for the printer in particular can be accomplished a number of ways. Calculation of the first estimated power draw for the printer can be based on the cart information discussed with respect to the touch-sensitive display screen210regardingFIG. 2. The cart information can be used to render the receipt before printing, identifying exactly how many of which characters will be in the receipt and at which lines of the receipt paper, and identifying any images/graphics to be printed on the receipt and at what size. An energy draw estimate may be provided based on printing of each character based on a lookup data structure that identified how much energy the printer170needs to print any given character identified in a query. Alternately, energy draw estimate may be provided based on printing of each character based on an estimated average energy draw for printing of any character. Alternately, energy draw estimate may be provided based on printing of each character based on an estimated maximum energy draw for printing of any character, that is, of printing a completely black box character. The energy draw estimate can be generated line-by-line or for the entire receipt in this manner, using either the chart information and energy draw estimates for the specific characters therein, average line or page energy draws, or maximum line or page energy draws (i.e., for a fully black line or page).

At step325, the main processor105calculates a difference between the present power discharge capability rate and the first estimated power draw rate at the given point or stretch of time in the present and/or near future, and determines whether or not that difference is less than a predetermined difference threshold value745as illustrated inFIG. 7. If the first estimated power draw rate is greater than the present power discharge capability rate, then the first estimated power draw rate is in the blackout power draw range750, and the difference is negative and necessarily less than the positive difference threshold value745. If the first estimated power draw rate is less than the present power discharge capability rate but by a difference that is less than the difference threshold value745, then the first estimated power draw rate is in the brownout risk power draw range740. If the first estimated power draw rate is less than the present power discharge capability rate by a difference that is greater than the difference threshold value745, then the first estimated power draw rate is in the safe power draw range730and needs no changes. Thus, if the difference between the present power discharge capability rate and the first estimated power draw rate is greater than the predetermined difference threshold value745, then the first estimated power draw rate is within the safe power draw range730, no changes are needed, and step345is next. Otherwise, step330is next.

At step330, the main processor105selects a second printer setting value for the printer setting and/or a second miscellaneous setting value for the miscellaneous setting. The second printer setting value should be different from the first printer setting value, and if the process has returned to step330after a “no” at step335, also different from any other second printer setting value already tried. Likewise, the second miscellaneous setting value should be different from the first printer setting value, and if the process has returned to step330after a “no” at step335, also different from any other second miscellaneous setting value already tried.

Also at step330, the main processor105also calculates a second estimated power draw rate based on the second printer setting value for the printer setting identified in step305and/or the first miscellaneous setting value for the miscellaneous setting identified in step305. The second estimated power draw rate corresponds to the given point or stretch of time in the present and/or near future, and can represent an amount rather than a rate. This is done in much the same way, or in a similar way, as how that main processor105calculated the first estimated power draw rate in step320based on the first printer setting value and/or the second miscellaneous setting value.

At step335, the main processor105calculates a difference between the present power discharge capability rate and the second estimated power draw rate at the given point or stretch of time in the present and/or near future, and determines whether or not that difference is less than the predetermined difference threshold value745as illustrated inFIG. 7. This is done in the way, or a similar way, to the difference calculation and comparison to the predetermined difference threshold value745of step325. If the difference between the present power discharge capability rate and the second estimated power draw rate is still less than the predetermined difference threshold value745, then the main processor105can go back to step330and try again with a new second printer setting value that is different from the current second printer setting value. If there are no new second printer setting values left to try for that printer setting, or if there are no new second miscellaneous setting values left to try for that miscellaneous setting, then the main processor105can go back to step305and try again with a different printer setting and/or miscellaneous setting. The main processor105may alternatively or additionally try changing setting values for multiple printer settings and/or miscellaneous settings simultaneously, or may go to step405ofFIG. 4to attempt serialization of actions, or may issue a warning to the user that it the POS device100is about to shut down due to otherwise unavoidable brownout/blackout risk. If the difference between the present power discharge capability rate and the second estimated power draw rate is greater than the predetermined difference threshold value745, then the second estimated power draw rate is in the safe power draw range730, no further changes are needed, and step340is next.

At step340, the main processor105causes the printer controller160to change the printer setting identified in step305from the first printer setting value to the second printer setting value. Alternately or additionally, the main processor105changes the miscellaneous setting identified in step305from the first miscellaneous setting value to the second miscellaneous setting value. At this point, the second estimated power draw rate should be within the safe power draw range730and the POS device100can be permitted to continued operations.

At step345, the main processor105indicates to the printer controller160that the printer170can go ahead and print using the printer setting value(s) for the printer settings165established during the process ofFIG. 3, and/or using miscellaneous setting value(s) for the miscellaneous settings185established during the process ofFIG. 3. Because the process ofFIG. 3can apply to other actions besides printing, a different action by a different component can be performed at step345instead, but again, using the printer setting value(s) for the printer settings165established during the process ofFIG. 3and/or using miscellaneous setting value(s) for the miscellaneous settings185established during the process ofFIG. 3. The process can then start over at step305next time a print job or other high-power action is to be performed.

The process ofFIG. 3can be used for all actions performed by the POS device100or just for a subset of the actions performed by the POS device100. For example, the process ofFIG. 3can be used only for actions performed by components that typically require high power draw levels, such as the printer170or touch-sensitive display screen210. In some cases, the temperature sensor175of the POS device100can trigger the process ofFIG. 3by detecting that the measured temperature within the POS device100is below a predetermined threshold temperature.

FIG. 4is a flow diagram illustrating undervoltage protection based on serialization of actions.

At step405, the POS system100is performing multiple actions in parallel. This may correspond to multiple actions by multiple components, multiple processes/threads at the main processor105and/or secure processor(s)110, or some combination thereof.

At optional step410, a measured temperature is detected at the temperature sensor175and provided to the main processor105.

At step415, the main processor105determines a present power discharge capability rate of the battery140based on current conditions of the POS system100and/or of the battery140. These current conditions may include all of the multiple actions performed in parallel, measured temperature measured at the temperature sensor175in optional step410, any of the factors identified in the description of step315ofFIG. 3above, or some combination thereof. The present power discharge capability rate of the battery140can be calculated or determined in any of the ways described in the description of step315ofFIG. 3above.

At step420, the main processor105calculates a first estimated power draw rate based on performing the multiple actions in parallel. The first estimated power draw may be calculated based on the measured temperature measured at the temperature sensor175in optional step410and/or any of the factors identified in the description of step320ofFIG. 3above, and can be calculated or determined in any of the ways described in the description of step320ofFIG. 3above.

At step425, the main processor105calculates a difference between the present power discharge capability rate and the first estimated power draw rate at the given point or stretch of time in the present and/or near future, and determines whether or not that difference is less than a predetermined difference threshold value745as illustrated inFIG. 7. This difference and comparison may be performed in any of the ways described in the description of step325ofFIG. 3above. If the difference between the present power discharge capability rate and the first estimated power draw rate is greater than the predetermined difference threshold value745, then the first estimated power draw rate is within the safe power draw range730, no changes are needed, and step445is next. Otherwise, step430is next.

At step430, the main processor105calculates a second estimated power draw rate based on serializing at least a subset of the multiple actions by the component(s) of the POS device110in comparison to the setup of step405. That is, the main processor105calculates a second estimated power draw rate based on performance of at least the subset of the multiple actions in order, one after the other, rather than in parallel. The second estimated power draw may be calculated based on the measured temperature measured at the temperature sensor175in optional step410and/or any of the factors identified in the description of step320or step330ofFIG. 3above, and can be calculated or determined in any of the ways described in the description of step320or step330ofFIG. 3above. The second estimated power draw rate based on a greater level of serialization compared to the setup of step405, and if, and if the process has returned to step430after a “no” at step435, also a greater level of serialization and/or different serialization setup/order than the one previously tried at step435.

At step435, the main processor105calculates a difference between the present power discharge capability rate and the second estimated power draw rate at the given point or stretch of time in the present and/or near future, and determines whether or not that difference is less than the predetermined difference threshold value745as illustrated inFIG. 7. This difference and comparison may be performed in any of the ways described in the description of step325or step335ofFIG. 3above. If the difference between the present power discharge capability rate and the first estimated power draw rate is still less than the predetermined difference threshold value745, then the main processor105can go back to step430and try again with a new serialization setup as described above with respect to step430, for example by serializing all actions instead of just a subset, or by serializing a larger subset of actions, or by serializing a different subset of actions, or by serializing certain actions in a different order, or some combination thereof. The main processor105can go to step305ofFIG. 3and try settings changes alternatively or in addition to further attempts at serialization according to the process ofFIG. 4, or may issue a warning to the user that the POS device100is about to shut down due to otherwise unavoidable brownout/blackout risk. If the difference between the present power discharge capability rate and the second estimated power draw rate is greater than the predetermined difference threshold value745, then the second estimated power draw rate is within the safe power draw range730, no further changes are needed, and step440is next.

At step440, the main processor105ensures that when the multiple actions are performed, they are performed such that at least the subset of the multiple actions are performed serially based on the setup and/or order used in the calculation of the second estimated power draw rate of step430, rather than performing the multiple actions in parallel as in the setup of step405.

At step445, the main processor105causes the multiple actions to be performed in accordance with any setup or order determined during the process ofFIG. 4. If the process ofFIG. 4was performed together with the process ofFIG. 3, main processor105causes the multiple actions to be performed using the printer setting value(s) for the printer settings165established during the process ofFIG. 3and/or using miscellaneous setting value(s) for the miscellaneous settings185established during the process ofFIG. 3.

The process ofFIG. 4can be used any time parallel actions are performed by the POS device100or just for a subset of the actions parallel performed by the POS device100. For example, the process ofFIG. 4can be used when at least one of the parallel actions is to be performed by components that typically require high power draw levels, such as the printer170or touch-sensitive display screen210. In some cases, the temperature sensor175of the POS device100can trigger the process ofFIG. 4by detecting that the measured temperature within the POS device100is below a predetermined threshold temperature.

The processes ofFIG. 3andFIG. 4are intended not necessarily to decrease sums of power drawn overall by the components of the POS device100, though in some cases they may have this effect. The processes ofFIG. 3andFIG. 4instead focus on decreasing power drawn at times of particularly high power draw on the battery140of the POS device100, preventing the POS device100from suffering from undervoltage, brownouts, or blackouts from having too many components performing too many actions at the same time.

FIG. 5is a chart illustrating multiple printer settings and corresponding possible printer setting values. The chart ofFIG. 5lists a number of exemplary printer settings in a “printer setting” column505and a number of corresponding possible printer setting values in a “possible printer setting values” column510.

One printer setting505is printer speed, which may correspond to fast, medium, or slow possible printer setting values510. Another printer setting505is black darkness, which identifies how darkly black (and optionally other colors) appear on the printed paper and may correspond to an amount of ink used, an amount of thermal energy used by a thermal print head, an amount of toner, an amount of energy used by a laser, or some combination thereof. The black darkness printer setting may correspond to dark, medium, or light possible printer setting values510. Another printer setting505is print resolution, or a density of print dots or pixels on the printed page, which may correspond to high, medium or low possible printer setting values510. Another printer setting505is print quality, which may correspond to high, medium or low possible printer setting values510. Another printer setting505is font thickness or boldness, which may correspond to thick, medium, or thin possible printer setting values510. Another printer setting505is font size, which may correspond to large, medium or small possible printer setting values510. Another printer setting505is the actual font used, which may correspond to a “high-power font” used for titles or at warm/hot temperatures or when there is power to spare, a “medium-power font” used for ordinary text and at ordinary/room temperatures, and a “low-power font” used when power is at a premium and/or at low temperatures as possible printer setting values510. Examples of a possible “high-power font,” a possible “medium-power font,” and a possible “low-power font” are provided in the possible printer setting values column510ofFIG. 5.

Another printer setting505is font spacing, also referred to as “font tracking” in typography, which may correspond to expanded, normal or condensed possible printer setting values510. Examples of expanded text, normal text, and condensed text are provided in the possible printer setting values column510ofFIG. 5. Another printer setting505is size of printed images, which may correspond to large, medium or small possible printer setting values510. The “size of printed images” printer setting may also be marked “images disabled” if power is at a premium and/or temperatures are low to indicate that images should not be printed. Another printer setting505is removal of characters in favor of shorthand, used to shorten words to use less characters by using abbreviations or shorthand, for example using “pymnt” instead of “payment.” The “removal of characters” printer setting may correspond to enabled or disabled possible printer setting values510, or may in some cases allow an indication of degree to which abbreviations or shorthand should be used.

Another printer setting505is printer power cycling, which involves turning the printer on and off periodically, sometimes to allow another action to be performed, sometimes simply to prevent power usage from spiking too high by cycling rapidly. The printer power cycling setting may correspond to enabled or disabled possible printer setting values510. Another printer setting505is “remove optional print content,” which concerns removing optional content, like coupons, merchant phone numbers, merchant email addresses, merchant physical addresses, merchant social media accounts, other merchant contact information, merchant website information, advertisements, bar codes or quick response (“QR”) codes, and other content that is often printed onto receipts in addition to a transaction summary. The “remove optional print content” setting may correspond to possible printer setting values510such as enabled for all optional print content, enabled for coupons only, enabled for advertisements only, or disabled. Another printer setting505is “print pointer (QR code/link), which involves printing a pointer to more receipt information, where the pointer is in the form of a QR code and/or a link to a website. The “print pointer (QR code/link)” setting may correspond to possible printer setting values510including “enabled (pointer+)” printing the pointer and the rest of the receipt, “enabled (pointer only)” printing only the pointer to allow the printer to minimize amount printed for when power is at a premium or temperatures are low, or disabled.

Another printer setting505is disable printer, which involves disabling the printer entirely, for example mandating electronic receipts over email or handwritten receipts instead, for when power is at a premium or temperatures are low. The disable printer setting may correspond to enabled or disabled possible printer setting values510. Another printer setting505is “print in parallel with other functions,” which concerns whether the printer is allowed to print while the POS device100is performing certain other functions, such as rendering images or receipts, detecting touch via the touch-sensitive screen layer125, reading transaction data via the transaction object(s)115, or outputting audio via the speaker215or audio jack240. Certain other functions, like continuing to run the main processor105and/or the display screen120, may be allowed or disabled as well. The “print in parallel with other functions” setting may correspond to enabled or disabled possible printer setting values510. Another printer setting505is printed color spectrum, which identifies what range of colors the printer is allowed to use in printing the receipt240. The printed color spectrum setting may correspond to possible printer setting values510including full color, limited color, greyscale, or monochrome (i.e., single ink/toner/thermal color such as black, cyan, magenta, yellow, red, green, or blue). Another printer setting505is print scale, which identifies at what scale the receipt data rendered by the main processor105is to be printed onto the receipt paper. The print scale setting may correspond to possible printer setting values510including any percentage value from 1 percent to 100 percent, and could optionally also include any percentage value beyond 100 percent, such as 200 percent, 300 percent, 400 percent, 500 percent, or 1000 percent. Another printer setting505is double sided print, which indicates whether the printed should print on one side of the paper or on both sides. The double sided print setting may correspond to enabled or disabled possible printer setting values510.

FIG. 6is a chart illustrating multiple miscellaneous settings and corresponding possible miscellaneous setting values. The chart ofFIG. 6lists a number of exemplary miscellaneous settings in a “miscellaneous setting” column605and a number of corresponding possible miscellaneous setting values in a “possible miscellaneous setting values” column610.

One miscellaneous setting605is processor clock speed pertaining to the main processor105, which may correspond to fast, medium, or slow possible miscellaneous setting values610. Another miscellaneous setting605is maximum number of processor cores used pertaining to the main processor105, which may correspond to possible miscellaneous setting values610including any number of processor cores between1and the total number of cores in the processor (N), which may for example be 8. Another miscellaneous setting605is maximum number of parallel processes allowed (optionally other than those relating to an operating system, BIOS, or firmware) pertaining to the main processor105, which may correspond to possible miscellaneous setting values610including any integer number of processes 1 or greater, such as 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, or 20. Another miscellaneous setting605is maximum number of parallel threads allowed (optionally other than those relating to an operating system, BIOS, or firmware) pertaining to the main processor105, which may correspond to possible miscellaneous setting values610including any integer number of threads1or greater, such as 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, or 20. Another miscellaneous setting605is maximum number of active components of the POS device100allowed, optionally other than the main processor105, which may correspond to possible miscellaneous setting values610including any integer number of active components 1 or greater, such as 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, or 20. Another miscellaneous setting605is GPU usage, which may correspond to possible miscellaneous setting values610including enabled fully, enabled in a limited capacity (e.g., calculating power discharge capability rates, calculating estimated power draw rates, calculating differences between power discharge capability rate and estimated power draw rates, rendering receipts, rendering interfaces for the display screen120, or some combination thereof), or disabled. Any of the miscellaneous settings605identified in this paragraph can apply to one or both of the secure processor(s)110as well as the main processor105, though one or both secure processor(s)110can optionally have their own counterpart miscellaneous settings605not illustrated inFIG. 6.

Another miscellaneous setting605is an NFC antenna poll rate, which may correspond to possible miscellaneous setting values610including fast, medium, or slow. Another miscellaneous setting605is an NFC antenna transfer speed, which may correspond to possible miscellaneous setting values610including fast, medium, or slow. Another miscellaneous setting605is a Wi-Fi antenna poll rate, which may correspond to possible miscellaneous setting values610including fast, medium, or slow. Another miscellaneous setting605is a Wi-Fi antenna transfer speed, which may correspond to possible miscellaneous setting values610including fast, medium, or slow. Another miscellaneous setting605is a cellular network antenna poll rate, which may correspond to possible miscellaneous setting values610including fast, medium, or slow. Another miscellaneous setting605is a cellular network antenna transfer speed, which may correspond to possible miscellaneous setting values610including fast, medium, or slow. Another miscellaneous setting605is a Bluetooth® or Bluetooth® Low Energy (BLE) antenna poll rate, which may correspond to possible miscellaneous setting values610including fast, medium, or slow. Another miscellaneous setting605is a Bluetooth® or Bluetooth® Low Energy (BLE) antenna transfer speed, which may correspond to possible miscellaneous setting values610including fast, medium, or slow.

Another miscellaneous setting605is a display screen brightness of the display screen120, which may correspond to possible miscellaneous setting values610including bright, medium, or dim. Another miscellaneous setting605is a display screen backlight brightness of the display screen120, which may correspond to possible miscellaneous setting values610including bright, medium, or dim. Another miscellaneous setting605is “disable light sensor(s),” which may refer to one or more light sensor(s) or camera(s) of the POS device100which may optionally be used to automatically control brightness of the display screen120or the backlight of the display screen120. The “disable light sensor(s)” setting may correspond to possible miscellaneous setting values610including enabled or disabled. Another miscellaneous setting605is a touch surface poll rate of the touch-sensitive screen surface layer125, which may correspond to how quickly/frequently voltage is driven across drive lines of the touch-sensitive screen surface layer125and how quickly/frequently voltage is sampled/sensed along sense lines of the touch-sensitive screen surface layer125. The touch surface poll rate setting may correspond to possible miscellaneous setting values610including fast (corresponding to a more sensitive touch surface), medium, or slow (corresponding to a less sensitive touch surface).

Another miscellaneous setting605is a “disable antenna while printing” setting, which may refer to any combination of the antennae of the POS device100, and which may correspond to possible miscellaneous setting values610including enabled or disabled. Another miscellaneous setting605is a “disable display while printing” setting, referring to functionality of the display screen120, which may correspond to possible miscellaneous setting values610including enabled or disabled. Another miscellaneous setting605is a “disable touch sensitivity while printing” setting, referring to functionality of the touch-sensitive screen surface layer125, which may correspond to possible miscellaneous setting values610including enabled or disabled. Another miscellaneous setting605is a “pre-render receipt in cart” setting, pre-rendering of the receipt in real-time while items are being added to the cart in the cart interface discussed in reference to the touch-sensitive display screen210ofFIG. 2, which may correspond to possible miscellaneous setting values610including enabled or disabled. Another miscellaneous setting605is a “disable unused antennae” setting, which may refer to any combination of the antennae of the POS device100that are not currently in use and/or not predicted to be used in the near future, and which may correspond to possible miscellaneous setting values610including enabled or disabled. Another miscellaneous setting605is a “disable biometric sensor(s)” setting, which may refer to any combination of one or more biometric sensor(s) of the POS device100, and which may correspond to possible miscellaneous setting values610including enabled or disabled. Another miscellaneous setting605is a “disable temperature sensor(s)” setting, referring to the one or more temperature sensor(s)175, and which may correspond to possible miscellaneous setting values610including enabled or disabled. Another miscellaneous setting605is a “disable accelerometer/gyro(s)” setting, referring to the one or more accelerometer(s) and/or one or more gyroscope(s) that the POS device100may include, and which may correspond to possible miscellaneous setting values610including enabled or disabled. Another miscellaneous setting605is a “disable tamper detection” setting, referring to the tamper detection circuitry130, and which may correspond to possible miscellaneous setting values610including enabled or disabled. Another miscellaneous setting605is a “disable indicator light” setting, referring to the optional indicator light(s), and which may correspond to possible miscellaneous setting values610including enabled or disabled. Disabling of tamper detection, or any of the other settings changes discussed with regard toFIG. 5orFIG. 6, could be applied only temporarily and revert back immediately and automatically when power becomes more available and/or when temperature rises, for example.

It should be understood that any of the possible printer setting values510ofFIG. 5and possible miscellaneous setting values610ofFIG. 6that indicate ranges of values may include any number of possible values along that range rather than just the 2-4 possible values provided as examples. This includes any range of values that, inFIG. 5orFIG. 6, reads “Large, medium, small,” or “High, medium, low,” or “Dark, medium, light,” or “Fast, medium, slow,” or “Thick, medium, thin,” or “expanded, normal, condensed,” or “high power font, medium power font, low power font,” or “bright, medium, dim” or any variation thereof.

FIG. 7is a bar chart comparing a power discharge capability rate to risk and safe power draw rates.

The bar chart ofFIG. 7starts at zero at a leftmost vertical axis, with bars stretching horizontally to the right in a positive direction. A power discharge capability rate705is shown. The power discharge capability rate705is broken into two ranges at a power draw risk threshold value735, with everything to the left of (less than) the power draw risk threshold value735representing a safe power draw range730. Any estimated power draw rate falling in the safe power draw range730, such as the safe estimated power draw rate720, is likely to be safe and not cause undervoltage/brownout/blackout.

Everything to the right of (greater than) the power draw risk threshold value735but to the left of (less than) the rightmost edge of (the actual value of) the power discharge capability rate705represents a brownout risk power draw range740. Any estimated power draw rate falling in the brownout risk range power draw740, such as the brownout risk estimated power draw rate715, puts the POS device100at risk of undervoltage/brownout/blackout.

Everything to the right of (greater than) the power discharge capability rate705represents a blackout power draw range750, which continues to the right beyond the bounds of the page. Any estimated power draw rate falling in the blackout power draw range750, such as the blackout-causing estimated power draw rate710, will almost certainly put the POS device100into undervoltage/brownout/blackout unless the actual power draw varies from estimates.

The predetermined difference threshold value745, which is used in the calculations of steps325,335,425, and435ofFIG. 3andFIG. 4, respectively, is the difference between the power discharge capability rate705and the predetermined power draw risk threshold value735representing the point between the safe power draw range730and the brownout risk power draw power draw range740as illustrated inFIG. 7. The power draw risk threshold value735may be a predetermined constant. The power draw risk threshold value735may be calculated based on the present power discharge capability rate and a predetermined constant, for example representing the predetermined constant subtracted from the present power discharge capability rate. The power draw risk threshold value735may be calculated based on the present power discharge capability rate and a predetermined percentage, for example representing a predetermined percentage of the present power discharge capability rate subtracted from the present power discharge capability rate, wherein the predetermined percentage is somewhere from zero percent to 100 percent, such as 40 percent, 35 percent, 30 percent, 25 percent, 20 percent, 15 percent, 10 percent, 5 percent, or some other percentage value.

While there are no units illustrated inFIG. 7, it should be understood that the power discharge capability rate705, the various power draw rates710/715/720, the power draw risk threshold value735, the difference threshold value745, the safe power draw range730, the brownout risk power draw range740, and the blackout power draw range750use the same units. These units may be power measurement units (e.g., watts, milliwatts, kilowatts), energy measurement units (e.g., joules, millijoules, kilojoules), current measurement units (e.g., amperes, milliamps, kiloamps), voltage measurement units (e.g., volts, millivolts, kilovolts), electric conductance measurement units (e.g., siemens, millisiemens, kilosiemens), charge measurement units (e.g., coloumbs, millicoloumbs, kilicoloumbs), resistance/reactance/impedance measurement units (e.g., ohms, milliohms, kiloohms), capacitance measurement units (e.g., farads, milli farads, kilofarads), inductance measurement units (e.g., henries, millihenries, kilohenries), frequency measurement units (e.g., hertz, millihertz, kilohertz), some product or fraction thereof, or some other combination thereof. The units may also be any of the units described above, or any product, fraction, or other combination of the units described above, multiplied by or divided by a unit of time (e.g., milliseconds, seconds, minutes, hours) or a unit of time squared (e.g., milliseconds2, seconds2, minutes2, hours2). That is, power discharge capability rate and power draw as used herein need not be in units of power, but may be in units used to describe energy, current, voltage, conductance, or any of the other types of units discussed above.

While the power discharge capability rate705and the various power draw rates710/715/720discussed with respect toFIG. 7as well asFIG. 3andFIG. 4can be rates, it should be understood that they can also simply represent power discharge capability amounts and various power draw amounts, respectively, each corresponding to the same particular period of time. This period of time can be a period corresponding to the POS device100being on, a period corresponding to occurrence of a particular action, such as printing a receipt240via a printer170, a period corresponding to a sub-action such as printing a particular character or line of the receipt240, a period corresponding to performance of over a predetermined number of actions in parallel, a period corresponding to a temperature measurement being below a predetermined threshold, or some combination thereof.

FIG. 8illustrates an exemplary computing system800that may be used to implement an embodiment of the present invention. For example, any of the computer systems or computerized devices described herein may include at least one computing system800, or may include at least one component of the computer system800identified inFIG. 8. The computing system800ofFIG. 8includes one or more processors810and memory810. Main memory810stores, in part, instructions and data for execution by processor810. Main memory810can store the executable code when in operation. The system800ofFIG. 8further includes a mass storage device830, portable storage medium drive(s)840, output devices850, user input devices860, a graphics display870, and peripheral devices880.

The components shown inFIG. 8are depicted as being connected via a single bus890. However, the components may be connected through one or more data transport means. For example, processor unit810and main memory810may be connected via a local microprocessor bus, and the mass storage device830, peripheral device(s)880, portable storage device840, and display system870may be connected via one or more input/output (I/O) buses.

Mass storage device830, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit810. Mass storage device830can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory810.

Portable storage device840operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk or Digital video disc, to input and output data and code to and from the computer system800ofFIG. 8. The system software for implementing embodiments of the present invention may be stored on such a portable medium and input to the computer system800via the portable storage device840.

The memory820, mass storage device830, or portable storage840may in some cases store sensitive information, such as transaction information, health information, or cryptographic keys, and may in some cases encrypt or decrypt such information with the aid of the processor810. The memory820, mass storage device830, or portable storage840may in some cases store, at least in part, instructions, executable code, or other data for execution or processing by the processor810.

Output devices850may include, for example, communication circuitry for outputting data through wired or wireless means, display circuitry for displaying data via a display screen, audio circuitry for outputting audio via headphones or a speaker, printer circuitry for printing data via a printer, or some combination thereof. The display screen may be any type of display discussed with respect to the display system870. The printer may be inkjet, laser/toner based, thermal, or some combination thereof. In some cases, the output device circuitry850may allow for transmission of data over an audio jack/plug, a microphone jack/plug, a universal serial bus (USB) port/plug, an Apple® Lightning® port/plug, an Ethernet port/plug, a fiber optic port/plug, a proprietary wired port/plug, a BLUETOOTH® wireless signal transfer, a BLUETOOTH® low energy (BLE) wireless signal transfer, a radio-frequency identification (RFID) wireless signal transfer, near-field communications (NFC) wireless signal transfer, 802.11 Wi-Fi wireless signal transfer, cellular data network wireless signal transfer, a radio wave signal transfer, a microwave signal transfer, an infrared signal transfer, a visible light signal transfer, an ultraviolet signal transfer, a wireless signal transfer along the electromagnetic spectrum, or some combination thereof. Output devices850may include any ports, plugs, antennae, or any other components necessary for the communication types listed above, such as cellular Subscriber Identity Module (SIM) cards.

Input devices860may include circuitry providing a portion of a user interface. Input devices860may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Input devices860may include touch-sensitive surfaces as well, either integrated with a display as in a touchscreen, or separate from a display as in a trackpad. Touch-sensitive surfaces may in some cases detect localized variable pressure or force detection. In some cases, the input device circuitry may allow for receipt of data over an audio jack, a microphone jack, a universal serial bus (USB) port/plug, an Apple® Lightning® port/plug, an Ethernet port/plug, a fiber optic port/plug, a proprietary wired port/plug, a BLUETOOTH® wireless signal transfer, a BLUETOOTH® low energy (BLE) wireless signal transfer, a radio-frequency identification (RFID) wireless signal transfer, near-field communications (NFC) wireless signal transfer, 802.11 Wi-Fi wireless signal transfer, cellular data network wireless signal transfer, a radio wave signal transfer, a microwave signal transfer, an infrared signal transfer, a visible light signal transfer, an ultraviolet signal transfer, a wireless signal transfer along the electromagnetic spectrum, or some combination thereof. Input devices860may include any ports, plugs, antennae, or any other components necessary for the communication types listed above, such as cellular SIM cards.

Display system870may include a liquid crystal display (LCD), a plasma display, an organic light-emitting diode (OLED) display, an electronic ink or “e-paper” display, a projector-based display, a holographic display, or another suitable display device. Display system870receives textual and graphical information, and processes the information for output to the display device. The display system870may include multiple-touch touchscreen input capabilities, such as capacitive touch detection, resistive touch detection, surface acoustic wave touch detection, or infrared touch detection. Such touchscreen input capabilities may or may not allow for variable pressure or force detection.

Peripherals880may include any type of computer support device to add additional functionality to the computer system. For example, peripheral device(s)880may include a modem, a router, an antenna, a printer, a bar code scanner, a quick-response (“QR”) code scanner, a document/image scanner, a visible light camera, a thermal/infrared camera, an ultraviolet-sensitive camera, a night vision camera, a light sensor, a battery, a power source, or some combination thereof.

The components contained in the computer system800ofFIG. 8are those typically found in computer systems that may be suitable for use with embodiments of the present invention and are intended to represent a broad category of such computer components that are well known in the art. Thus, the computer system800ofFIG. 8can be a personal computer, a hand held computing device, a telephone (“smart” or otherwise), a mobile computing device, a workstation, a server (on a server rack or otherwise), a minicomputer, a mainframe computer, a tablet computing device, a wearable device (such as a watch, a ring, a pair of glasses, or another type of jewelry/clothing/accessory), a video game console (portable or otherwise), an e-book reader, a media player device (portable or otherwise), a vehicle-based computer, some combination thereof, or any other computing device. The computer system800may in some cases be a virtual computer system executed by another computer system. The computer can also include different bus configurations, networked platforms, multi-processor platforms, etc. Various operating systems can be used including Unix, Linux, Windows, Macintosh OS, Palm OS, Android, iOS, and other suitable operating systems.

In some cases, the computer system800may be part of a multi-computer system that uses multiple computer systems800, each for one or more specific tasks or purposes. For example, the multi-computer system may include multiple computer systems800communicatively coupled together via at least one of a personal area network (PAN), a local area network (LAN), a wireless local area network (WLAN), a municipal area network (MAN), a wide area network (WAN), or some combination thereof. The multi-computer system may further include multiple computer systems800from different networks communicatively coupled together via the internet (also known as a “distributed” system).

The present invention may be implemented in an application that may be operable using a variety of devices. Non-transitory computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU) for execution and that may be used in the memory820, the mass storage830, the portable storage840, or some combination thereof. Such media can take many forms, including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Some forms of non-transitory computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, flash memory, memristor memory, any other solid-state memory, a CD-ROM disk, digital video disk (DVD), blu-ray disk (BDD), or any other optical medium, Random Access Memory (RAM), Read-Only Memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FLASHEPROM, Resistive random-access memory (RRAM or ReRAM), Phase Change Memory (PCM), spin transfer torque RAM (STT-RAM), and any other memory chip or cartridge.

Various forms of transmission media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus carries the data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM can optionally be stored on a fixed disk either before or after execution by a CPU. Various forms of storage may likewise be implemented as well as the necessary network interfaces and network topologies to implement the same.

While various flow diagrams provided and described above may show a particular order of operations performed by certain embodiments of the invention, it should be understood that such order is exemplary. Alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, or some combination thereof.