From 0ae3185cff5b274a5137935c9e5c385bfd00dc71 Mon Sep 17 00:00:00 2001 From: Doxygen CI Date: Sun, 10 Aug 2025 12:28:00 +0000 Subject: [PATCH] Deploy docs to GitHub Pages from commit d0d3e29b75 Commit: d0d3e29b75cb96d77a2080996d99d4ecef8909f4 GitHub Actions run: 16861342629 --- .nojekyll | 1 + README.md | 1 - html/_adafruit___b_q25628_e_8cpp.html | 74 + html/_adafruit___b_q25628_e_8h.html | 2292 +++++++++++++++++ html/_adafruit___b_q25628_e_8h_source.html | 105 + html/annotated.html | 78 + html/bc_s.png | Bin 0 -> 676 bytes html/bdwn.png | Bin 0 -> 147 bytes html/class_adafruit___b_q25628_e-members.html | 161 ++ html/class_adafruit___b_q25628_e.html | 2278 ++++++++++++++++ html/classes.html | 82 + html/closed.png | Bin 0 -> 132 bytes html/doc.png | Bin 0 -> 746 bytes html/doxygen.css | 1596 ++++++++++++ html/doxygen.png | Bin 0 -> 3779 bytes html/dynsections.js | 97 + html/files.html | 79 + html/folderclosed.png | Bin 0 -> 616 bytes html/folderopen.png | Bin 0 -> 597 bytes html/functions.html | 348 +++ html/functions_func.html | 348 +++ html/globals.html | 514 ++++ html/globals_defs.html | 424 +++ html/globals_enum.html | 89 + html/globals_eval.html | 143 + html/index.html | 86 + html/jquery.js | 87 + html/menu.js | 26 + html/menudata.js | 29 + html/nav_f.png | Bin 0 -> 153 bytes html/nav_g.png | Bin 0 -> 95 bytes html/nav_h.png | Bin 0 -> 98 bytes html/open.png | Bin 0 -> 123 bytes html/search/all_0.html | 26 + html/search/all_0.js | 7 + html/search/all_1.html | 26 + html/search/all_1.js | 151 ++ html/search/all_2.html | 26 + html/search/all_2.js | 49 + html/search/all_3.html | 26 + html/search/all_3.js | 5 + html/search/all_4.html | 26 + html/search/all_4.js | 37 + html/search/all_5.html | 26 + html/search/all_5.js | 4 + html/search/classes_0.html | 26 + html/search/classes_0.js | 4 + html/search/close.png | Bin 0 -> 273 bytes html/search/defines_0.html | 26 + html/search/defines_0.js | 120 + html/search/enums_0.html | 26 + html/search/enums_0.js | 9 + html/search/enumvalues_0.html | 26 + html/search/enumvalues_0.js | 27 + html/search/files_0.html | 26 + html/search/files_0.js | 5 + html/search/functions_0.html | 26 + html/search/functions_0.js | 4 + html/search/functions_1.html | 26 + html/search/functions_1.js | 4 + html/search/functions_2.html | 26 + html/search/functions_2.js | 49 + html/search/functions_3.html | 26 + html/search/functions_3.js | 5 + html/search/functions_4.html | 26 + html/search/functions_4.js | 37 + html/search/functions_5.html | 26 + html/search/functions_5.js | 4 + html/search/mag_sel.png | Bin 0 -> 563 bytes html/search/nomatches.html | 12 + html/search/pages_0.html | 26 + html/search/pages_0.js | 4 + html/search/search.css | 271 ++ html/search/search.js | 791 ++++++ html/search/search_l.png | Bin 0 -> 604 bytes html/search/search_m.png | Bin 0 -> 158 bytes html/search/search_r.png | Bin 0 -> 612 bytes html/search/searchdata.js | 36 + html/splitbar.png | Bin 0 -> 314 bytes html/sync_off.png | Bin 0 -> 853 bytes html/sync_on.png | Bin 0 -> 845 bytes html/tab_a.png | Bin 0 -> 142 bytes html/tab_b.png | Bin 0 -> 169 bytes html/tab_h.png | Bin 0 -> 177 bytes html/tab_s.png | Bin 0 -> 184 bytes html/tabs.css | 1 + index.html | 11 + 87 files changed, 11052 insertions(+), 1 deletion(-) create mode 100644 .nojekyll delete mode 100644 README.md create mode 100644 html/_adafruit___b_q25628_e_8cpp.html create mode 100644 html/_adafruit___b_q25628_e_8h.html create mode 100644 html/_adafruit___b_q25628_e_8h_source.html create mode 100644 html/annotated.html create mode 100644 html/bc_s.png create mode 100644 html/bdwn.png create mode 100644 html/class_adafruit___b_q25628_e-members.html create mode 100644 html/class_adafruit___b_q25628_e.html create mode 100644 html/classes.html create mode 100644 html/closed.png create mode 100644 html/doc.png create mode 100644 html/doxygen.css create mode 100644 html/doxygen.png create mode 100644 html/dynsections.js create mode 100644 html/files.html create mode 100644 html/folderclosed.png create mode 100644 html/folderopen.png create mode 100644 html/functions.html create mode 100644 html/functions_func.html create mode 100644 html/globals.html create mode 100644 html/globals_defs.html create mode 100644 html/globals_enum.html create mode 100644 html/globals_eval.html create mode 100644 html/index.html create mode 100644 html/jquery.js create mode 100644 html/menu.js create mode 100644 html/menudata.js create mode 100644 html/nav_f.png create mode 100644 html/nav_g.png create mode 100644 html/nav_h.png create mode 100644 html/open.png create mode 100644 html/search/all_0.html create mode 100644 html/search/all_0.js create mode 100644 html/search/all_1.html create mode 100644 html/search/all_1.js create mode 100644 html/search/all_2.html create mode 100644 html/search/all_2.js create mode 100644 html/search/all_3.html create mode 100644 html/search/all_3.js create mode 100644 html/search/all_4.html create mode 100644 html/search/all_4.js create mode 100644 html/search/all_5.html create mode 100644 html/search/all_5.js create mode 100644 html/search/classes_0.html create mode 100644 html/search/classes_0.js create mode 100644 html/search/close.png create mode 100644 html/search/defines_0.html create mode 100644 html/search/defines_0.js create mode 100644 html/search/enums_0.html create mode 100644 html/search/enums_0.js create mode 100644 html/search/enumvalues_0.html create mode 100644 html/search/enumvalues_0.js create mode 100644 html/search/files_0.html create mode 100644 html/search/files_0.js create mode 100644 html/search/functions_0.html create mode 100644 html/search/functions_0.js create mode 100644 html/search/functions_1.html create mode 100644 html/search/functions_1.js create mode 100644 html/search/functions_2.html create mode 100644 html/search/functions_2.js create mode 100644 html/search/functions_3.html create mode 100644 html/search/functions_3.js create mode 100644 html/search/functions_4.html create mode 100644 html/search/functions_4.js create mode 100644 html/search/functions_5.html create mode 100644 html/search/functions_5.js create mode 100644 html/search/mag_sel.png create mode 100644 html/search/nomatches.html create mode 100644 html/search/pages_0.html create mode 100644 html/search/pages_0.js create mode 100644 html/search/search.css create mode 100644 html/search/search.js create mode 100644 html/search/search_l.png create mode 100644 html/search/search_m.png create mode 100644 html/search/search_r.png create mode 100644 html/search/searchdata.js create mode 100644 html/splitbar.png create mode 100644 html/sync_off.png create mode 100644 html/sync_on.png create mode 100644 html/tab_a.png create mode 100644 html/tab_b.png create mode 100644 html/tab_h.png create mode 100644 html/tab_s.png create mode 100644 html/tabs.css create mode 100644 index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.nojekyll @@ -0,0 +1 @@ + diff --git a/README.md b/README.md deleted file mode 100644 index 6228a7f..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -My gh-pages branch diff --git a/html/_adafruit___b_q25628_e_8cpp.html b/html/_adafruit___b_q25628_e_8cpp.html new file mode 100644 index 0000000..951afc9 --- /dev/null +++ b/html/_adafruit___b_q25628_e_8cpp.html @@ -0,0 +1,74 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: Adafruit_BQ25628E.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Adafruit_BQ25628E.cpp File Reference
+
+
+
#include "Adafruit_BQ25628E.h"
+
+ + + + diff --git a/html/_adafruit___b_q25628_e_8h.html b/html/_adafruit___b_q25628_e_8h.html new file mode 100644 index 0000000..e581ffd --- /dev/null +++ b/html/_adafruit___b_q25628_e_8h.html @@ -0,0 +1,2292 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: Adafruit_BQ25628E.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
Adafruit_BQ25628E.h File Reference
+
+
+
#include <Adafruit_BusIO_Register.h>
+#include <Adafruit_I2CDevice.h>
+#include "Arduino.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  Adafruit_BQ25628E
 Class that stores state and functions for interacting with the BQ25628E I2C Battery Charger. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define BQ25628E_DEFAULT_ADDR   0x6A
 
#define BQ25628E_STATUS0_WD_STAT   (1 << 0)
 
#define BQ25628E_STATUS0_SAFETY_TMR_STAT   (1 << 1)
 
#define BQ25628E_STATUS0_VINDPM_STAT   (1 << 2)
 
#define BQ25628E_STATUS0_IINDPM_STAT   (1 << 3)
 
#define BQ25628E_STATUS0_VSYS_STAT   (1 << 4)
 
#define BQ25628E_STATUS0_TREG_STAT   (1 << 5)
 
#define BQ25628E_STATUS0_ADC_DONE_STAT   (1 << 6)
 
#define BQ25628E_STATUS1_VBUS_STAT_MASK   (0x07)
 
#define BQ25628E_STATUS1_CHG_STAT_MASK   (0x18)
 
#define BQ25628E_STATUS1_CHG_STAT_SHIFT   (3)
 
#define BQ25628E_VBUS_STAT_NOT_POWERED   (0x00)
 
#define BQ25628E_VBUS_STAT_UNKNOWN_ADAPTER   (0x04)
 
#define BQ25628E_CHG_STAT_NOT_CHARGING   (0x00)
 
#define BQ25628E_CHG_STAT_CHARGING   (0x01)
 
#define BQ25628E_CHG_STAT_TAPER   (0x02)
 
#define BQ25628E_CHG_STAT_TOPOFF   (0x03)
 
#define BQ25628E_FAULT_VBUS_FAULT_STAT   (1 << 7)
 
#define BQ25628E_FAULT_BAT_FAULT_STAT   (1 << 6)
 
#define BQ25628E_FAULT_SYS_FAULT_STAT   (1 << 5)
 
#define BQ25628E_FAULT_TSHUT_STAT   (1 << 3)
 
#define BQ25628E_FAULT_TS_STAT_MASK   (0x07)
 
#define BQ25628E_TS_STAT_NORMAL   (0x00)
 
#define BQ25628E_TS_STAT_COLD   (0x01)
 
#define BQ25628E_TS_STAT_HOT   (0x02)
 
#define BQ25628E_TS_STAT_COOL   (0x03)
 
#define BQ25628E_TS_STAT_WARM   (0x04)
 
#define BQ25628E_TS_STAT_PRECOOL   (0x05)
 
#define BQ25628E_TS_STAT_PREWARM   (0x06)
 
#define BQ25628E_TS_STAT_BIAS_FAULT   (0x07)
 
#define BQ25628E_FLAG0_WD_FLAG   (1 << 0)
 
#define BQ25628E_FLAG0_SAFETY_TMR_FLAG   (1 << 1)
 
#define BQ25628E_FLAG0_VINDPM_FLAG   (1 << 2)
 
#define BQ25628E_FLAG0_IINDPM_FLAG   (1 << 3)
 
#define BQ25628E_FLAG0_VSYS_FLAG   (1 << 4)
 
#define BQ25628E_FLAG0_TREG_FLAG   (1 << 5)
 
#define BQ25628E_FLAG0_ADC_DONE_FLAG   (1 << 6)
 
#define BQ25628E_FLAG1_VBUS_FLAG   (1 << 0)
 
#define BQ25628E_FLAG1_CHG_FLAG   (1 << 3)
 
#define BQ25628E_FAULT_FLAG_VBUS_FAULT   (1 << 7)
 
#define BQ25628E_FAULT_FLAG_BAT_FAULT   (1 << 6)
 
#define BQ25628E_FAULT_FLAG_SYS_FAULT   (1 << 5)
 
#define BQ25628E_FAULT_FLAG_TSHUT   (1 << 3)
 
#define BQ25628E_FAULT_FLAG_TS_CHANGED   (1 << 0)
 
#define BQ25628E_MASK0_ADC_DONE_MASK   (1 << 6)
 
#define BQ25628E_MASK0_TREG_MASK   (1 << 5)
 
#define BQ25628E_MASK0_VSYS_MASK   (1 << 4)
 
#define BQ25628E_MASK0_IINDPM_MASK   (1 << 3)
 
#define BQ25628E_MASK0_VINDPM_MASK   (1 << 2)
 
#define BQ25628E_MASK0_SAFETY_TMR_MASK   (1 << 1)
 
#define BQ25628E_MASK0_WD_MASK   (1 << 0)
 
#define BQ25628E_MASK1_CHG_MASK   (1 << 3)
 
#define BQ25628E_MASK1_VBUS_MASK   (1 << 0)
 
#define BQ25628E_FMASK_VBUS_FAULT_MASK   (1 << 7)
 
#define BQ25628E_FMASK_BAT_FAULT_MASK   (1 << 6)
 
#define BQ25628E_FMASK_SYS_FAULT_MASK   (1 << 5)
 
#define BQ25628E_FMASK_TSHUT_MASK   (1 << 3)
 
#define BQ25628E_FMASK_TS_MASK   (1 << 0)
 
#define BQ25628E_INT_MASK_WD   (1UL << 0)
 
#define BQ25628E_INT_MASK_SAFETY_TMR   (1UL << 1)
 
#define BQ25628E_INT_MASK_VINDPM   (1UL << 2)
 
#define BQ25628E_INT_MASK_IINDPM   (1UL << 3)
 
#define BQ25628E_INT_MASK_VSYS   (1UL << 4)
 
#define BQ25628E_INT_MASK_TREG   (1UL << 5)
 
#define BQ25628E_INT_MASK_ADC_DONE   (1UL << 6)
 
#define BQ25628E_INT_MASK_VBUS   (1UL << 8)
 
#define BQ25628E_INT_MASK_CHG   (1UL << 11)
 
#define BQ25628E_INT_MASK_TS   (1UL << 16)
 
#define BQ25628E_INT_MASK_TSHUT   (1UL << 19)
 
#define BQ25628E_INT_MASK_SYS_FAULT   (1UL << 21)
 
#define BQ25628E_INT_MASK_BAT_FAULT   (1UL << 22)
 
#define BQ25628E_INT_MASK_VBUS_FAULT   (1UL << 23)
 
#define BQ25628E_INT_MASK_DEFAULT   (~(BQ25628E_INT_MASK_CHG | BQ25628E_INT_MASK_VBUS))
 
#define BQ25628E_ADC_DIS_IBUS   (1 << 7)
 
#define BQ25628E_ADC_DIS_IBAT   (1 << 6)
 
#define BQ25628E_ADC_DIS_VBUS   (1 << 5)
 
#define BQ25628E_ADC_DIS_VBAT   (1 << 4)
 
#define BQ25628E_ADC_DIS_VSYS   (1 << 3)
 
#define BQ25628E_ADC_DIS_TS   (1 << 2)
 
#define BQ25628E_ADC_DIS_TDIE   (1 << 1)
 
#define BQ25628E_ADC_DIS_VPMID   (1 << 0)
 
#define BQ25628E_REG_CHARGE_CURRENT_LIMIT   0x02
 
#define BQ25628E_REG_CHARGE_VOLTAGE_LIMIT   0x04
 
#define BQ25628E_REG_INPUT_CURRENT_LIMIT   0x06
 
#define BQ25628E_REG_INPUT_VOLTAGE_LIMIT   0x08
 
#define BQ25628E_REG_MINIMAL_SYSTEM_VOLTAGE   0x0E
 
#define BQ25628E_REG_PRECHARGE_CONTROL   0x10
 
#define BQ25628E_REG_TERMINATION_CONTROL   0x12
 
#define BQ25628E_REG_CHARGE_CONTROL   0x14
 
#define BQ25628E_REG_CHARGE_TIMER_CONTROL   0x15
 
#define BQ25628E_REG_CHARGER_CONTROL_0   0x16
 
#define BQ25628E_REG_CHARGER_CONTROL_1   0x17
 
#define BQ25628E_REG_CHARGER_CONTROL_2   0x18
 
#define BQ25628E_REG_CHARGER_CONTROL_3   0x19
 
#define BQ25628E_REG_NTC_CONTROL_0   0x1A
 
#define BQ25628E_REG_NTC_CONTROL_1   0x1B
 
#define BQ25628E_REG_NTC_CONTROL_2   0x1C
 
#define BQ25628E_REG_CHARGER_STATUS_0   0x1D
 
#define BQ25628E_REG_CHARGER_STATUS_1   0x1E
 
#define BQ25628E_REG_FAULT_STATUS_0   0x1F
 
#define BQ25628E_REG_CHARGER_FLAG_0   0x20
 
#define BQ25628E_REG_CHARGER_FLAG_1   0x21
 
#define BQ25628E_REG_FAULT_FLAG_0   0x22
 
#define BQ25628E_REG_CHARGER_MASK_0   0x23
 
#define BQ25628E_REG_CHARGER_MASK_1   0x24
 
#define BQ25628E_REG_FAULT_MASK_0   0x25
 
#define BQ25628E_REG_ADC_CONTROL   0x26
 
#define BQ25628E_REG_ADC_FUNCTION_DISABLE_0   0x27
 
#define BQ25628E_REG_IBUS_ADC   0x28
 
#define BQ25628E_REG_IBAT_ADC   0x2A
 
#define BQ25628E_REG_VBUS_ADC   0x2C
 
#define BQ25628E_REG_VPMID_ADC   0x2E
 
#define BQ25628E_REG_VBAT_ADC   0x30
 
#define BQ25628E_REG_VSYS_ADC   0x32
 
#define BQ25628E_REG_TS_ADC   0x34
 
#define BQ25628E_REG_TDIE_ADC   0x36
 
#define BQ25628E_REG_PART_INFORMATION   0x38
 
+ + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  bq25628e_watchdog_t { BQ25628E_WATCHDOG_DISABLED = 0b00, +BQ25628E_WATCHDOG_50S = 0b01, +BQ25628E_WATCHDOG_100S = 0b10, +BQ25628E_WATCHDOG_200S = 0b11 + }
 Watchdog timer settings. More...
 
enum  bq25628e_conv_freq_t { BQ25628E_CONV_FREQ_1500KHZ = 0b00, +BQ25628E_CONV_FREQ_1350KHZ = 0b01, +BQ25628E_CONV_FREQ_1650KHZ = 0b10, +BQ25628E_CONV_FREQ_RESERVED = 0b11 + }
 Converter switching frequency settings. More...
 
enum  bq25628e_batfet_ctrl_t { BQ25628E_BATFET_NORMAL = 0b00, +BQ25628E_BATFET_SHUTDOWN = 0b01, +BQ25628E_BATFET_SHIP = 0b10, +BQ25628E_BATFET_RESET = 0b11 + }
 BATFET control settings. More...
 
enum  bq25628e_charge_rate_t { BQ25628E_CHARGE_RATE_1C = 0b00, +BQ25628E_CHARGE_RATE_2C = 0b01, +BQ25628E_CHARGE_RATE_4C = 0b10, +BQ25628E_CHARGE_RATE_6C = 0b11 + }
 Charge rate settings. More...
 
enum  bq25628e_therm_curr_t { BQ25628E_THERM_CURR_SUSPEND = 0b00, +BQ25628E_THERM_CURR_20PCT = 0b01, +BQ25628E_THERM_CURR_40PCT = 0b10, +BQ25628E_THERM_CURR_UNCHANGED = 0b11 + }
 Thermistor current settings for cool/warm zones. More...
 
enum  bq25628e_adc_sample_t { BQ25628E_ADC_SAMPLE_12BIT = 0b00, +BQ25628E_ADC_SAMPLE_11BIT = 0b01, +BQ25628E_ADC_SAMPLE_10BIT = 0b10, +BQ25628E_ADC_SAMPLE_9BIT = 0b11 + }
 ADC sample rate settings. More...
 
+

Detailed Description

+

This is a library for the BQ25628E I2C Battery Charger

+

Designed specifically to work with the Adafruit BQ25628E Breakout -—> http://www.adafruit.com/products/

+

Pick one up today in the adafruit shop!

+

These displays use I2C to communicate, 2 pins are required to interface.

+

Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!

+
Author
Limor 'ladyada' Fried with assistance from Claude Code
+

MIT License (see license.txt)

+

Macro Definition Documentation

+ +

◆ BQ25628E_DEFAULT_ADDR

+ +
+
+ + + + +
#define BQ25628E_DEFAULT_ADDR   0x6A
+
+

Default I2C address for the BQ25628E

+ +
+
+ +

◆ BQ25628E_STATUS0_WD_STAT

+ +
+
+ + + + +
#define BQ25628E_STATUS0_WD_STAT   (1 << 0)
+
+

Status register bit flags for REG0x1D_Charger_Status_0 WD timer expired

+ +
+
+ +

◆ BQ25628E_STATUS0_SAFETY_TMR_STAT

+ +
+
+ + + + +
#define BQ25628E_STATUS0_SAFETY_TMR_STAT   (1 << 1)
+
+

Safety timer expired

+ +
+
+ +

◆ BQ25628E_STATUS0_VINDPM_STAT

+ +
+
+ + + + +
#define BQ25628E_STATUS0_VINDPM_STAT   (1 << 2)
+
+

In VINDPM regulation

+ +
+
+ +

◆ BQ25628E_STATUS0_IINDPM_STAT

+ +
+
+ + + + +
#define BQ25628E_STATUS0_IINDPM_STAT   (1 << 3)
+
+

In IINDPM/ILIM regulation \

+ +
+
+ +

◆ BQ25628E_STATUS0_VSYS_STAT

+ +
+
+ + + + +
#define BQ25628E_STATUS0_VSYS_STAT   (1 << 4)
+
+

In VSYSMIN regulation

+ +
+
+ +

◆ BQ25628E_STATUS0_TREG_STAT

+ +
+
+ + + + +
#define BQ25628E_STATUS0_TREG_STAT   (1 << 5)
+
+

In thermal regulation

+ +
+
+ +

◆ BQ25628E_STATUS0_ADC_DONE_STAT

+ +
+
+ + + + +
#define BQ25628E_STATUS0_ADC_DONE_STAT   (1 << 6)
+
+

ADC conversion complete \

+ +
+
+ +

◆ BQ25628E_STATUS1_VBUS_STAT_MASK

+ +
+
+ + + + +
#define BQ25628E_STATUS1_VBUS_STAT_MASK   (0x07)
+
+

Status register bit masks for REG0x1E_Charger_Status_1 VBUS status mask bits 2:0 \

+ +
+
+ +

◆ BQ25628E_STATUS1_CHG_STAT_MASK

+ +
+
+ + + + +
#define BQ25628E_STATUS1_CHG_STAT_MASK   (0x18)
+
+

Charge status mask bits 4:3

+ +
+
+ +

◆ BQ25628E_STATUS1_CHG_STAT_SHIFT

+ +
+
+ + + + +
#define BQ25628E_STATUS1_CHG_STAT_SHIFT   (3)
+
+

Charge status bit shift

+ +
+
+ +

◆ BQ25628E_VBUS_STAT_NOT_POWERED

+ +
+
+ + + + +
#define BQ25628E_VBUS_STAT_NOT_POWERED   (0x00)
+
+

VBUS Status values Not powered from VBUS

+ +
+
+ +

◆ BQ25628E_VBUS_STAT_UNKNOWN_ADAPTER

+ +
+
+ + + + +
#define BQ25628E_VBUS_STAT_UNKNOWN_ADAPTER   (0x04)
+
+

Unknown adapter

+ +
+
+ +

◆ BQ25628E_CHG_STAT_NOT_CHARGING

+ +
+
+ + + + +
#define BQ25628E_CHG_STAT_NOT_CHARGING   (0x00)
+
+

Charge Status values Not charging or terminated \

+ +
+
+ +

◆ BQ25628E_CHG_STAT_CHARGING

+ +
+
+ + + + +
#define BQ25628E_CHG_STAT_CHARGING   (0x01)
+
+

Trickle/Pre/Fast charge

+ +
+
+ +

◆ BQ25628E_CHG_STAT_TAPER

+ +
+
+ + + + +
#define BQ25628E_CHG_STAT_TAPER   (0x02)
+
+

Taper charge (CV mode)

+ +
+
+ +

◆ BQ25628E_CHG_STAT_TOPOFF

+ +
+
+ + + + +
#define BQ25628E_CHG_STAT_TOPOFF   (0x03)
+
+

Top-off timer active

+ +
+
+ +

◆ BQ25628E_FAULT_VBUS_FAULT_STAT

+ +
+
+ + + + +
#define BQ25628E_FAULT_VBUS_FAULT_STAT   (1 << 7)
+
+

Fault status register bit flags for REG0x1F_FAULT_Status_0 VBUS fault (OVP/sleep)

+ +
+
+ +

◆ BQ25628E_FAULT_BAT_FAULT_STAT

+ +
+
+ + + + +
#define BQ25628E_FAULT_BAT_FAULT_STAT   (1 << 6)
+
+

Battery fault (OCP/OVP)

+ +
+
+ +

◆ BQ25628E_FAULT_SYS_FAULT_STAT

+ +
+
+ + + + +
#define BQ25628E_FAULT_SYS_FAULT_STAT   (1 << 5)
+
+

System fault (short/OVP) \

+ +
+
+ +

◆ BQ25628E_FAULT_TSHUT_STAT

+ +
+
+ + + + +
#define BQ25628E_FAULT_TSHUT_STAT   (1 << 3)
+
+

Thermal shutdown

+ +
+
+ +

◆ BQ25628E_FAULT_TS_STAT_MASK

+ +
+
+ + + + +
#define BQ25628E_FAULT_TS_STAT_MASK   (0x07)
+
+

TS status mask bits 2:0

+ +
+
+ +

◆ BQ25628E_TS_STAT_NORMAL

+ +
+
+ + + + +
#define BQ25628E_TS_STAT_NORMAL   (0x00)
+
+

TS Status values TS Normal

+ +
+
+ +

◆ BQ25628E_TS_STAT_COLD

+ +
+
+ + + + +
#define BQ25628E_TS_STAT_COLD   (0x01)
+
+

TS Cold

+ +
+
+ +

◆ BQ25628E_TS_STAT_HOT

+ +
+
+ + + + +
#define BQ25628E_TS_STAT_HOT   (0x02)
+
+

TS Hot

+ +
+
+ +

◆ BQ25628E_TS_STAT_COOL

+ +
+
+ + + + +
#define BQ25628E_TS_STAT_COOL   (0x03)
+
+

TS Cool

+ +
+
+ +

◆ BQ25628E_TS_STAT_WARM

+ +
+
+ + + + +
#define BQ25628E_TS_STAT_WARM   (0x04)
+
+

TS Warm

+ +
+
+ +

◆ BQ25628E_TS_STAT_PRECOOL

+ +
+
+ + + + +
#define BQ25628E_TS_STAT_PRECOOL   (0x05)
+
+

TS Pre-cool

+ +
+
+ +

◆ BQ25628E_TS_STAT_PREWARM

+ +
+
+ + + + +
#define BQ25628E_TS_STAT_PREWARM   (0x06)
+
+

TS Pre-warm

+ +
+
+ +

◆ BQ25628E_TS_STAT_BIAS_FAULT

+ +
+
+ + + + +
#define BQ25628E_TS_STAT_BIAS_FAULT   (0x07)
+
+

TS bias reference fault

+ +
+
+ +

◆ BQ25628E_FLAG0_WD_FLAG

+ +
+
+ + + + +
#define BQ25628E_FLAG0_WD_FLAG   (1 << 0)
+
+

Charger flag register bit flags for REG0x20_Charger_Flag_0 WD timer expired flag

+ +
+
+ +

◆ BQ25628E_FLAG0_SAFETY_TMR_FLAG

+ +
+
+ + + + +
#define BQ25628E_FLAG0_SAFETY_TMR_FLAG   (1 << 1)
+
+

Safety timer expired flag

+ +
+
+ +

◆ BQ25628E_FLAG0_VINDPM_FLAG

+ +
+
+ + + + +
#define BQ25628E_FLAG0_VINDPM_FLAG   (1 << 2)
+
+

VINDPM regulation flag

+ +
+
+ +

◆ BQ25628E_FLAG0_IINDPM_FLAG

+ +
+
+ + + + +
#define BQ25628E_FLAG0_IINDPM_FLAG   (1 << 3)
+
+

IINDPM/ILIM regulation flag \

+ +
+
+ +

◆ BQ25628E_FLAG0_VSYS_FLAG

+ +
+
+ + + + +
#define BQ25628E_FLAG0_VSYS_FLAG   (1 << 4)
+
+

VSYSMIN regulation flag

+ +
+
+ +

◆ BQ25628E_FLAG0_TREG_FLAG

+ +
+
+ + + + +
#define BQ25628E_FLAG0_TREG_FLAG   (1 << 5)
+
+

Thermal regulation flag

+ +
+
+ +

◆ BQ25628E_FLAG0_ADC_DONE_FLAG

+ +
+
+ + + + +
#define BQ25628E_FLAG0_ADC_DONE_FLAG   (1 << 6)
+
+

ADC conversion complete flag

+ +
+
+ +

◆ BQ25628E_FLAG1_VBUS_FLAG

+ +
+
+ + + + +
#define BQ25628E_FLAG1_VBUS_FLAG   (1 << 0)
+
+

Charger flag register bit flags for REG0x21_Charger_Flag_1 VBUS status changed flag

+ +
+
+ +

◆ BQ25628E_FLAG1_CHG_FLAG

+ +
+
+ + + + +
#define BQ25628E_FLAG1_CHG_FLAG   (1 << 3)
+
+

Charge status changed flag

+ +
+
+ +

◆ BQ25628E_FAULT_FLAG_VBUS_FAULT

+ +
+
+ + + + +
#define BQ25628E_FAULT_FLAG_VBUS_FAULT   (1 << 7)
+
+

Fault flag register bit flags for REG0x22_FAULT_Flag_0 VBUS OVP/sleep fault flag

+ +
+
+ +

◆ BQ25628E_FAULT_FLAG_BAT_FAULT

+ +
+
+ + + + +
#define BQ25628E_FAULT_FLAG_BAT_FAULT   (1 << 6)
+
+

Battery OCP/OVP fault flag

+ +
+
+ +

◆ BQ25628E_FAULT_FLAG_SYS_FAULT

+ +
+
+ + + + +
#define BQ25628E_FAULT_FLAG_SYS_FAULT   (1 << 5)
+
+

System OVP/short fault flag

+ +
+
+ +

◆ BQ25628E_FAULT_FLAG_TSHUT

+ +
+
+ + + + +
#define BQ25628E_FAULT_FLAG_TSHUT   (1 << 3)
+
+

Thermal shutdown fault flag

+ +
+
+ +

◆ BQ25628E_FAULT_FLAG_TS_CHANGED

+ +
+
+ + + + +
#define BQ25628E_FAULT_FLAG_TS_CHANGED   (1 << 0)
+
+

TS status changed flag

+ +
+
+ +

◆ BQ25628E_MASK0_ADC_DONE_MASK

+ +
+
+ + + + +
#define BQ25628E_MASK0_ADC_DONE_MASK   (1 << 6)
+
+

Interrupt mask register bit flags for REG0x23_Charger_Mask_0 ADC conversion mask

+ +
+
+ +

◆ BQ25628E_MASK0_TREG_MASK

+ +
+
+ + + + +
#define BQ25628E_MASK0_TREG_MASK   (1 << 5)
+
+

Thermal regulation mask

+ +
+
+ +

◆ BQ25628E_MASK0_VSYS_MASK

+ +
+
+ + + + +
#define BQ25628E_MASK0_VSYS_MASK   (1 << 4)
+
+

VSYSMIN regulation mask

+ +
+
+ +

◆ BQ25628E_MASK0_IINDPM_MASK

+ +
+
+ + + + +
#define BQ25628E_MASK0_IINDPM_MASK   (1 << 3)
+
+

IINDPM/ILIM regulation mask \

+ +
+
+ +

◆ BQ25628E_MASK0_VINDPM_MASK

+ +
+
+ + + + +
#define BQ25628E_MASK0_VINDPM_MASK   (1 << 2)
+
+

VINDPM regulation mask

+ +
+
+ +

◆ BQ25628E_MASK0_SAFETY_TMR_MASK

+ +
+
+ + + + +
#define BQ25628E_MASK0_SAFETY_TMR_MASK   (1 << 1)
+
+

Safety timer mask

+ +
+
+ +

◆ BQ25628E_MASK0_WD_MASK

+ +
+
+ + + + +
#define BQ25628E_MASK0_WD_MASK   (1 << 0)
+
+

Watchdog timer mask

+ +
+
+ +

◆ BQ25628E_MASK1_CHG_MASK

+ +
+
+ + + + +
#define BQ25628E_MASK1_CHG_MASK   (1 << 3)
+
+

Interrupt mask register bit flags for REG0x24_Charger_Mask_1 Charge status change mask

+ +
+
+ +

◆ BQ25628E_MASK1_VBUS_MASK

+ +
+
+ + + + +
#define BQ25628E_MASK1_VBUS_MASK   (1 << 0)
+
+

VBUS status change mask

+ +
+
+ +

◆ BQ25628E_FMASK_VBUS_FAULT_MASK

+ +
+
+ + + + +
#define BQ25628E_FMASK_VBUS_FAULT_MASK   (1 << 7)
+
+

Interrupt mask register bit flags for REG0x25_FAULT_Mask_0 VBUS fault mask

+ +
+
+ +

◆ BQ25628E_FMASK_BAT_FAULT_MASK

+ +
+
+ + + + +
#define BQ25628E_FMASK_BAT_FAULT_MASK   (1 << 6)
+
+

Battery fault mask

+ +
+
+ +

◆ BQ25628E_FMASK_SYS_FAULT_MASK

+ +
+
+ + + + +
#define BQ25628E_FMASK_SYS_FAULT_MASK   (1 << 5)
+
+

System fault mask

+ +
+
+ +

◆ BQ25628E_FMASK_TSHUT_MASK

+ +
+
+ + + + +
#define BQ25628E_FMASK_TSHUT_MASK   (1 << 3)
+
+

Thermal shutdown mask

+ +
+
+ +

◆ BQ25628E_FMASK_TS_MASK

+ +
+
+ + + + +
#define BQ25628E_FMASK_TS_MASK   (1 << 0)
+
+

TS status change mask

+ +
+
+ +

◆ BQ25628E_INT_MASK_WD

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_WD   (1UL << 0)
+
+

Combined interrupt mask positions for 32-bit interface Watchdog timer interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_SAFETY_TMR

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_SAFETY_TMR   (1UL << 1)
+
+

Safety timer interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_VINDPM

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_VINDPM   (1UL << 2)
+
+

VINDPM regulation interrupt \

+ +
+
+ +

◆ BQ25628E_INT_MASK_IINDPM

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_IINDPM   (1UL << 3)
+
+

IINDPM/ILIM regulation interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_VSYS

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_VSYS   (1UL << 4)
+
+

VSYSMIN regulation interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_TREG

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_TREG   (1UL << 5)
+
+

Thermal regulation interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_ADC_DONE

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_ADC_DONE   (1UL << 6)
+
+

ADC conversion interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_VBUS

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_VBUS   (1UL << 8)
+
+

VBUS status change interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_CHG

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_CHG   (1UL << 11)
+
+

Charge status change interrupt \

+ +
+
+ +

◆ BQ25628E_INT_MASK_TS

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_TS   (1UL << 16)
+
+

TS status change interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_TSHUT

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_TSHUT   (1UL << 19)
+
+

Thermal shutdown interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_SYS_FAULT

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_SYS_FAULT   (1UL << 21)
+
+

System fault interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_BAT_FAULT

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_BAT_FAULT   (1UL << 22)
+
+

Battery fault interrupt \

+ +
+
+ +

◆ BQ25628E_INT_MASK_VBUS_FAULT

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_VBUS_FAULT   (1UL << 23)
+
+

VBUS fault interrupt

+ +
+
+ +

◆ BQ25628E_INT_MASK_DEFAULT

+ +
+
+ + + + +
#define BQ25628E_INT_MASK_DEFAULT   (~(BQ25628E_INT_MASK_CHG | BQ25628E_INT_MASK_VBUS))
+
+

Default interrupt mask: Enable only CHG and VBUS interrupts, disable all others

+ +
+
+ +

◆ BQ25628E_ADC_DIS_IBUS

+ +
+
+ + + + +
#define BQ25628E_ADC_DIS_IBUS   (1 << 7)
+
+

ADC function disable flags for REG0x27_ADC_Function_Disable_0 Disable IBUS ADC

+ +
+
+ +

◆ BQ25628E_ADC_DIS_IBAT

+ +
+
+ + + + +
#define BQ25628E_ADC_DIS_IBAT   (1 << 6)
+
+

Disable IBAT ADC

+ +
+
+ +

◆ BQ25628E_ADC_DIS_VBUS

+ +
+
+ + + + +
#define BQ25628E_ADC_DIS_VBUS   (1 << 5)
+
+

Disable VBUS ADC

+ +
+
+ +

◆ BQ25628E_ADC_DIS_VBAT

+ +
+
+ + + + +
#define BQ25628E_ADC_DIS_VBAT   (1 << 4)
+
+

Disable VBAT ADC

+ +
+
+ +

◆ BQ25628E_ADC_DIS_VSYS

+ +
+
+ + + + +
#define BQ25628E_ADC_DIS_VSYS   (1 << 3)
+
+

Disable VSYS ADC

+ +
+
+ +

◆ BQ25628E_ADC_DIS_TS

+ +
+
+ + + + +
#define BQ25628E_ADC_DIS_TS   (1 << 2)
+
+

Disable TS ADC

+ +
+
+ +

◆ BQ25628E_ADC_DIS_TDIE

+ +
+
+ + + + +
#define BQ25628E_ADC_DIS_TDIE   (1 << 1)
+
+

Disable TDIE ADC

+ +
+
+ +

◆ BQ25628E_ADC_DIS_VPMID

+ +
+
+ + + + +
#define BQ25628E_ADC_DIS_VPMID   (1 << 0)
+
+

Disable VPMID ADC

+ +
+
+ +

◆ BQ25628E_REG_CHARGE_CURRENT_LIMIT

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGE_CURRENT_LIMIT   0x02
+
+

Register addresses for the BQ25628E Charge current limit register

+ +
+
+ +

◆ BQ25628E_REG_CHARGE_VOLTAGE_LIMIT

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGE_VOLTAGE_LIMIT   0x04
+
+

Charge voltage limit register

+ +
+
+ +

◆ BQ25628E_REG_INPUT_CURRENT_LIMIT

+ +
+
+ + + + +
#define BQ25628E_REG_INPUT_CURRENT_LIMIT   0x06
+
+

Input current limit register

+ +
+
+ +

◆ BQ25628E_REG_INPUT_VOLTAGE_LIMIT

+ +
+
+ + + + +
#define BQ25628E_REG_INPUT_VOLTAGE_LIMIT   0x08
+
+

Input voltage limit register

+ +
+
+ +

◆ BQ25628E_REG_MINIMAL_SYSTEM_VOLTAGE

+ +
+
+ + + + +
#define BQ25628E_REG_MINIMAL_SYSTEM_VOLTAGE   0x0E
+
+

Minimal system voltage register

+ +
+
+ +

◆ BQ25628E_REG_PRECHARGE_CONTROL

+ +
+
+ + + + +
#define BQ25628E_REG_PRECHARGE_CONTROL   0x10
+
+

Precharge control register

+ +
+
+ +

◆ BQ25628E_REG_TERMINATION_CONTROL

+ +
+
+ + + + +
#define BQ25628E_REG_TERMINATION_CONTROL   0x12
+
+

Termination control register

+ +
+
+ +

◆ BQ25628E_REG_CHARGE_CONTROL

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGE_CONTROL   0x14
+
+

Charge control register

+ +
+
+ +

◆ BQ25628E_REG_CHARGE_TIMER_CONTROL

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGE_TIMER_CONTROL   0x15
+
+

Charge timer control register

+ +
+
+ +

◆ BQ25628E_REG_CHARGER_CONTROL_0

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGER_CONTROL_0   0x16
+
+

Charger control register 0

+ +
+
+ +

◆ BQ25628E_REG_CHARGER_CONTROL_1

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGER_CONTROL_1   0x17
+
+

Charger control register 1

+ +
+
+ +

◆ BQ25628E_REG_CHARGER_CONTROL_2

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGER_CONTROL_2   0x18
+
+

Charger control register 2

+ +
+
+ +

◆ BQ25628E_REG_CHARGER_CONTROL_3

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGER_CONTROL_3   0x19
+
+

Charger control register 3

+ +
+
+ +

◆ BQ25628E_REG_NTC_CONTROL_0

+ +
+
+ + + + +
#define BQ25628E_REG_NTC_CONTROL_0   0x1A
+
+

NTC control register 0

+ +
+
+ +

◆ BQ25628E_REG_NTC_CONTROL_1

+ +
+
+ + + + +
#define BQ25628E_REG_NTC_CONTROL_1   0x1B
+
+

NTC control register 1

+ +
+
+ +

◆ BQ25628E_REG_NTC_CONTROL_2

+ +
+
+ + + + +
#define BQ25628E_REG_NTC_CONTROL_2   0x1C
+
+

NTC control register 2

+ +
+
+ +

◆ BQ25628E_REG_CHARGER_STATUS_0

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGER_STATUS_0   0x1D
+
+

Charger status register 0

+ +
+
+ +

◆ BQ25628E_REG_CHARGER_STATUS_1

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGER_STATUS_1   0x1E
+
+

Charger status register 1

+ +
+
+ +

◆ BQ25628E_REG_FAULT_STATUS_0

+ +
+
+ + + + +
#define BQ25628E_REG_FAULT_STATUS_0   0x1F
+
+

Fault status register 0

+ +
+
+ +

◆ BQ25628E_REG_CHARGER_FLAG_0

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGER_FLAG_0   0x20
+
+

Charger flag register 0

+ +
+
+ +

◆ BQ25628E_REG_CHARGER_FLAG_1

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGER_FLAG_1   0x21
+
+

Charger flag register 1

+ +
+
+ +

◆ BQ25628E_REG_FAULT_FLAG_0

+ +
+
+ + + + +
#define BQ25628E_REG_FAULT_FLAG_0   0x22
+
+

Fault flag register 0

+ +
+
+ +

◆ BQ25628E_REG_CHARGER_MASK_0

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGER_MASK_0   0x23
+
+

Charger mask register 0

+ +
+
+ +

◆ BQ25628E_REG_CHARGER_MASK_1

+ +
+
+ + + + +
#define BQ25628E_REG_CHARGER_MASK_1   0x24
+
+

Charger mask register 1

+ +
+
+ +

◆ BQ25628E_REG_FAULT_MASK_0

+ +
+
+ + + + +
#define BQ25628E_REG_FAULT_MASK_0   0x25
+
+

Fault mask register 0

+ +
+
+ +

◆ BQ25628E_REG_ADC_CONTROL

+ +
+
+ + + + +
#define BQ25628E_REG_ADC_CONTROL   0x26
+
+

ADC control register

+ +
+
+ +

◆ BQ25628E_REG_ADC_FUNCTION_DISABLE_0

+ +
+
+ + + + +
#define BQ25628E_REG_ADC_FUNCTION_DISABLE_0   0x27
+
+

ADC function disable register 0

+ +
+
+ +

◆ BQ25628E_REG_IBUS_ADC

+ +
+
+ + + + +
#define BQ25628E_REG_IBUS_ADC   0x28
+
+

Input bus current ADC register

+ +
+
+ +

◆ BQ25628E_REG_IBAT_ADC

+ +
+
+ + + + +
#define BQ25628E_REG_IBAT_ADC   0x2A
+
+

Battery current ADC register

+ +
+
+ +

◆ BQ25628E_REG_VBUS_ADC

+ +
+
+ + + + +
#define BQ25628E_REG_VBUS_ADC   0x2C
+
+

Input bus voltage ADC register

+ +
+
+ +

◆ BQ25628E_REG_VPMID_ADC

+ +
+
+ + + + +
#define BQ25628E_REG_VPMID_ADC   0x2E
+
+

PMID voltage ADC register

+ +
+
+ +

◆ BQ25628E_REG_VBAT_ADC

+ +
+
+ + + + +
#define BQ25628E_REG_VBAT_ADC   0x30
+
+

Battery voltage ADC register

+ +
+
+ +

◆ BQ25628E_REG_VSYS_ADC

+ +
+
+ + + + +
#define BQ25628E_REG_VSYS_ADC   0x32
+
+

System voltage ADC register

+ +
+
+ +

◆ BQ25628E_REG_TS_ADC

+ +
+
+ + + + +
#define BQ25628E_REG_TS_ADC   0x34
+
+

Temperature sensor ADC register

+ +
+
+ +

◆ BQ25628E_REG_TDIE_ADC

+ +
+
+ + + + +
#define BQ25628E_REG_TDIE_ADC   0x36
+
+

Die temperature ADC register

+ +
+
+ +

◆ BQ25628E_REG_PART_INFORMATION

+ +
+
+ + + + +
#define BQ25628E_REG_PART_INFORMATION   0x38
+
+

Part information register

+ +
+
+

Enumeration Type Documentation

+ +

◆ bq25628e_watchdog_t

+ +
+
+ + + + +
enum bq25628e_watchdog_t
+
+ +

Watchdog timer settings.

+ + + + + +
Enumerator
BQ25628E_WATCHDOG_DISABLED 

Watchdog disabled

+
BQ25628E_WATCHDOG_50S 

50 second watchdog

+
BQ25628E_WATCHDOG_100S 

100 second watchdog

+
BQ25628E_WATCHDOG_200S 

200 second watchdog

+
+ +
+
+ +

◆ bq25628e_conv_freq_t

+ +
+
+ + + + +
enum bq25628e_conv_freq_t
+
+ +

Converter switching frequency settings.

+ + + + + +
Enumerator
BQ25628E_CONV_FREQ_1500KHZ 

1.5 MHz nominal

+
BQ25628E_CONV_FREQ_1350KHZ 

1.35 MHz (-10%)

+
BQ25628E_CONV_FREQ_1650KHZ 

1.65 MHz (+10%)

+
BQ25628E_CONV_FREQ_RESERVED 

Reserved

+
+ +
+
+ +

◆ bq25628e_batfet_ctrl_t

+ +
+
+ + + + +
enum bq25628e_batfet_ctrl_t
+
+ +

BATFET control settings.

+ + + + + +
Enumerator
BQ25628E_BATFET_NORMAL 

Normal operation

+
BQ25628E_BATFET_SHUTDOWN 

Shutdown mode

+
BQ25628E_BATFET_SHIP 

Ship mode

+
BQ25628E_BATFET_RESET 

System power reset

+
+ +
+
+ +

◆ bq25628e_charge_rate_t

+ +
+
+ + + + +
enum bq25628e_charge_rate_t
+
+ +

Charge rate settings.

+ + + + + +
Enumerator
BQ25628E_CHARGE_RATE_1C 

1C charge rate

+
BQ25628E_CHARGE_RATE_2C 

2C charge rate

+
BQ25628E_CHARGE_RATE_4C 

4C charge rate

+
BQ25628E_CHARGE_RATE_6C 

6C charge rate

+
+ +
+
+ +

◆ bq25628e_therm_curr_t

+ +
+
+ + + + +
enum bq25628e_therm_curr_t
+
+ +

Thermistor current settings for cool/warm zones.

+ + + + + +
Enumerator
BQ25628E_THERM_CURR_SUSPEND 

Charge suspended

+
BQ25628E_THERM_CURR_20PCT 

Set ICHG to 20%

+
BQ25628E_THERM_CURR_40PCT 

Set ICHG to 40%

+
BQ25628E_THERM_CURR_UNCHANGED 

ICHG unchanged

+
+ +
+
+ +

◆ bq25628e_adc_sample_t

+ +
+
+ + + + +
enum bq25628e_adc_sample_t
+
+ +

ADC sample rate settings.

+ + + + + +
Enumerator
BQ25628E_ADC_SAMPLE_12BIT 

12-bit effective resolution

+
BQ25628E_ADC_SAMPLE_11BIT 

11-bit effective resolution

+
BQ25628E_ADC_SAMPLE_10BIT 

10-bit effective resolution

+
BQ25628E_ADC_SAMPLE_9BIT 

9-bit effective resolution

+
+ +
+
+
+ + + + diff --git a/html/_adafruit___b_q25628_e_8h_source.html b/html/_adafruit___b_q25628_e_8h_source.html new file mode 100644 index 0000000..6f4da6e --- /dev/null +++ b/html/_adafruit___b_q25628_e_8h_source.html @@ -0,0 +1,105 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: Adafruit_BQ25628E.h Source File + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Adafruit_BQ25628E.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef _ADAFRUIT_BQ25628E_H
23 #define _ADAFRUIT_BQ25628E_H
24 
25 #include <Adafruit_BusIO_Register.h>
26 #include <Adafruit_I2CDevice.h>
27 
28 #include "Arduino.h"
29 
31 #define BQ25628E_DEFAULT_ADDR 0x6A
32 
36 typedef enum {
42 
46 typedef enum {
52 
56 typedef enum {
62 
66 typedef enum {
72 
76 typedef enum {
82 
84 #define BQ25628E_STATUS0_WD_STAT (1 << 0)
85 #define BQ25628E_STATUS0_SAFETY_TMR_STAT (1 << 1)
86 #define BQ25628E_STATUS0_VINDPM_STAT (1 << 2)
87 #define BQ25628E_STATUS0_IINDPM_STAT \
88  (1 << 3)
90 #define BQ25628E_STATUS0_VSYS_STAT (1 << 4)
91 #define BQ25628E_STATUS0_TREG_STAT (1 << 5)
92 #define BQ25628E_STATUS0_ADC_DONE_STAT \
93  (1 << 6)
97 #define BQ25628E_STATUS1_VBUS_STAT_MASK \
98  (0x07)
100 #define BQ25628E_STATUS1_CHG_STAT_MASK \
101  (0x18)
102 #define BQ25628E_STATUS1_CHG_STAT_SHIFT (3)
105 #define BQ25628E_VBUS_STAT_NOT_POWERED (0x00)
106 #define BQ25628E_VBUS_STAT_UNKNOWN_ADAPTER (0x04)
109 #define BQ25628E_CHG_STAT_NOT_CHARGING \
110  (0x00)
112 #define BQ25628E_CHG_STAT_CHARGING (0x01)
113 #define BQ25628E_CHG_STAT_TAPER (0x02)
114 #define BQ25628E_CHG_STAT_TOPOFF (0x03)
117 #define BQ25628E_FAULT_VBUS_FAULT_STAT (1 << 7)
118 #define BQ25628E_FAULT_BAT_FAULT_STAT (1 << 6)
119 #define BQ25628E_FAULT_SYS_FAULT_STAT \
120  (1 << 5)
122 #define BQ25628E_FAULT_TSHUT_STAT (1 << 3)
123 #define BQ25628E_FAULT_TS_STAT_MASK (0x07)
126 #define BQ25628E_TS_STAT_NORMAL (0x00)
127 #define BQ25628E_TS_STAT_COLD (0x01)
128 #define BQ25628E_TS_STAT_HOT (0x02)
129 #define BQ25628E_TS_STAT_COOL (0x03)
130 #define BQ25628E_TS_STAT_WARM (0x04)
131 #define BQ25628E_TS_STAT_PRECOOL (0x05)
132 #define BQ25628E_TS_STAT_PREWARM (0x06)
133 #define BQ25628E_TS_STAT_BIAS_FAULT (0x07)
136 #define BQ25628E_FLAG0_WD_FLAG (1 << 0)
137 #define BQ25628E_FLAG0_SAFETY_TMR_FLAG \
138  (1 << 1)
139 #define BQ25628E_FLAG0_VINDPM_FLAG (1 << 2)
140 #define BQ25628E_FLAG0_IINDPM_FLAG \
141  (1 << 3)
143 #define BQ25628E_FLAG0_VSYS_FLAG (1 << 4)
144 #define BQ25628E_FLAG0_TREG_FLAG (1 << 5)
145 #define BQ25628E_FLAG0_ADC_DONE_FLAG \
146  (1 << 6)
149 #define BQ25628E_FLAG1_VBUS_FLAG (1 << 0)
150 #define BQ25628E_FLAG1_CHG_FLAG (1 << 3)
153 #define BQ25628E_FAULT_FLAG_VBUS_FAULT \
154  (1 << 7)
155 #define BQ25628E_FAULT_FLAG_BAT_FAULT \
156  (1 << 6)
157 #define BQ25628E_FAULT_FLAG_SYS_FAULT \
158  (1 << 5)
159 #define BQ25628E_FAULT_FLAG_TSHUT (1 << 3)
160 #define BQ25628E_FAULT_FLAG_TS_CHANGED (1 << 0)
163 #define BQ25628E_MASK0_ADC_DONE_MASK (1 << 6)
164 #define BQ25628E_MASK0_TREG_MASK (1 << 5)
165 #define BQ25628E_MASK0_VSYS_MASK (1 << 4)
166 #define BQ25628E_MASK0_IINDPM_MASK \
167  (1 << 3)
169 #define BQ25628E_MASK0_VINDPM_MASK (1 << 2)
170 #define BQ25628E_MASK0_SAFETY_TMR_MASK (1 << 1)
171 #define BQ25628E_MASK0_WD_MASK (1 << 0)
174 #define BQ25628E_MASK1_CHG_MASK (1 << 3)
175 #define BQ25628E_MASK1_VBUS_MASK (1 << 0)
178 #define BQ25628E_FMASK_VBUS_FAULT_MASK (1 << 7)
179 #define BQ25628E_FMASK_BAT_FAULT_MASK (1 << 6)
180 #define BQ25628E_FMASK_SYS_FAULT_MASK (1 << 5)
181 #define BQ25628E_FMASK_TSHUT_MASK (1 << 3)
182 #define BQ25628E_FMASK_TS_MASK (1 << 0)
185 #define BQ25628E_INT_MASK_WD (1UL << 0)
186 #define BQ25628E_INT_MASK_SAFETY_TMR (1UL << 1)
187 #define BQ25628E_INT_MASK_VINDPM \
188  (1UL << 2)
190 #define BQ25628E_INT_MASK_IINDPM \
191  (1UL << 3)
192 #define BQ25628E_INT_MASK_VSYS (1UL << 4)
193 #define BQ25628E_INT_MASK_TREG (1UL << 5)
194 #define BQ25628E_INT_MASK_ADC_DONE (1UL << 6)
195 #define BQ25628E_INT_MASK_VBUS (1UL << 8)
196 #define BQ25628E_INT_MASK_CHG \
197  (1UL << 11)
199 #define BQ25628E_INT_MASK_TS (1UL << 16)
200 #define BQ25628E_INT_MASK_TSHUT (1UL << 19)
201 #define BQ25628E_INT_MASK_SYS_FAULT (1UL << 21)
202 #define BQ25628E_INT_MASK_BAT_FAULT \
203  (1UL << 22)
205 #define BQ25628E_INT_MASK_VBUS_FAULT (1UL << 23)
209 #define BQ25628E_INT_MASK_DEFAULT \
210  (~(BQ25628E_INT_MASK_CHG | BQ25628E_INT_MASK_VBUS))
215 typedef enum {
221 
223 #define BQ25628E_ADC_DIS_IBUS (1 << 7)
224 #define BQ25628E_ADC_DIS_IBAT (1 << 6)
225 #define BQ25628E_ADC_DIS_VBUS (1 << 5)
226 #define BQ25628E_ADC_DIS_VBAT (1 << 4)
227 #define BQ25628E_ADC_DIS_VSYS (1 << 3)
228 #define BQ25628E_ADC_DIS_TS (1 << 2)
229 #define BQ25628E_ADC_DIS_TDIE (1 << 1)
230 #define BQ25628E_ADC_DIS_VPMID (1 << 0)
233 #define BQ25628E_REG_CHARGE_CURRENT_LIMIT \
234  0x02
235 #define BQ25628E_REG_CHARGE_VOLTAGE_LIMIT \
236  0x04
237 #define BQ25628E_REG_INPUT_CURRENT_LIMIT \
238  0x06
239 #define BQ25628E_REG_INPUT_VOLTAGE_LIMIT \
240  0x08
241 #define BQ25628E_REG_MINIMAL_SYSTEM_VOLTAGE \
242  0x0E
243 #define BQ25628E_REG_PRECHARGE_CONTROL 0x10
244 #define BQ25628E_REG_TERMINATION_CONTROL \
245  0x12
246 #define BQ25628E_REG_CHARGE_CONTROL 0x14
247 #define BQ25628E_REG_CHARGE_TIMER_CONTROL \
248  0x15
249 #define BQ25628E_REG_CHARGER_CONTROL_0 0x16
250 #define BQ25628E_REG_CHARGER_CONTROL_1 0x17
251 #define BQ25628E_REG_CHARGER_CONTROL_2 0x18
252 #define BQ25628E_REG_CHARGER_CONTROL_3 0x19
253 #define BQ25628E_REG_NTC_CONTROL_0 0x1A
254 #define BQ25628E_REG_NTC_CONTROL_1 0x1B
255 #define BQ25628E_REG_NTC_CONTROL_2 0x1C
256 #define BQ25628E_REG_CHARGER_STATUS_0 0x1D
257 #define BQ25628E_REG_CHARGER_STATUS_1 0x1E
258 #define BQ25628E_REG_FAULT_STATUS_0 0x1F
259 #define BQ25628E_REG_CHARGER_FLAG_0 0x20
260 #define BQ25628E_REG_CHARGER_FLAG_1 0x21
261 #define BQ25628E_REG_FAULT_FLAG_0 0x22
262 #define BQ25628E_REG_CHARGER_MASK_0 0x23
263 #define BQ25628E_REG_CHARGER_MASK_1 0x24
264 #define BQ25628E_REG_FAULT_MASK_0 0x25
265 #define BQ25628E_REG_ADC_CONTROL 0x26
266 #define BQ25628E_REG_ADC_FUNCTION_DISABLE_0 \
267  0x27
268 #define BQ25628E_REG_IBUS_ADC 0x28
269 #define BQ25628E_REG_IBAT_ADC 0x2A
270 #define BQ25628E_REG_VBUS_ADC 0x2C
271 #define BQ25628E_REG_VPMID_ADC 0x2E
272 #define BQ25628E_REG_VBAT_ADC 0x30
273 #define BQ25628E_REG_VSYS_ADC 0x32
274 #define BQ25628E_REG_TS_ADC 0x34
275 #define BQ25628E_REG_TDIE_ADC 0x36
276 #define BQ25628E_REG_PART_INFORMATION 0x38
282 class Adafruit_BQ25628E {
283  public:
286  bool begin(uint8_t i2c_addr = BQ25628E_DEFAULT_ADDR, TwoWire* wire = &Wire);
287 
288  bool setChargeCurrentLimitA(float current_a);
289  float getChargeCurrentLimitA();
290 
291  bool setChargeVoltageLimitV(float voltage_v);
292  float getChargeVoltageLimitV();
293 
294  bool setInputCurrentLimitA(float current_a);
295  float getInputCurrentLimitA();
296 
297  bool setInputVoltageLimitV(float voltage_v);
298  float getInputVoltageLimitV();
299 
300  bool setMinimalSystemVoltageV(float voltage_v);
301  float getMinimalSystemVoltageV();
302 
303  bool setPrechargeCurrentLimitA(float current_a);
304  float getPrechargeCurrentLimitA();
305 
306  bool setTerminationCurrentThresholdA(float current_a);
307  float getTerminationCurrentThresholdA();
308 
309  bool setTrickleCurrent(bool use_40ma);
310  bool getTrickleCurrent();
311 
312  bool setEnableTermination(bool enable);
313  bool getEnableTermination();
314 
315  bool setVINDPMbatTrack(bool enable);
316  bool getVINDPMbatTrack();
317 
318  bool setEnableSafetyTimers(bool enable);
319  bool getEnableSafetyTimers();
320 
321  bool setPrechargeTimer(bool short_timer);
322  bool getPrechargeTimer();
323 
324  bool setFastchargeTimer(bool long_timer);
325  bool getFastchargeTimer();
326 
327  bool setAutoBatteryDischarge(bool enable);
328  bool getAutoBatteryDischarge();
329 
330  bool setForceBatteryDischarge(bool enable);
331  bool getForceBatteryDischarge();
332 
333  bool setEnableCharging(bool enable);
334  bool getEnableCharging();
335 
336  bool setHighZ(bool enable);
337  bool getHighZ();
338 
339  bool setForcePMIDDischarge(bool enable);
340  bool getForcePMIDDischarge();
341 
342  bool resetWatchdog();
343 
344  bool setWatchdog(bq25628e_watchdog_t setting);
345  bq25628e_watchdog_t getWatchdog();
346 
347  bool reset();
348 
349  bool setThermalRegulation(bool temp_120c);
350  bool getThermalRegulation();
351 
352  bool setConverterFrequency(bq25628e_conv_freq_t frequency);
353  bq25628e_conv_freq_t getConverterFrequency();
354 
355  bool setVBUSOvervoltage(bool high_threshold);
356  bool getVBUSOvervoltage();
357 
358  bool setBATFETcontrol(bq25628e_batfet_ctrl_t control);
359  bq25628e_batfet_ctrl_t getBATFETcontrol();
360 
361  bool setPeakBattDischarge(bool peak_12a);
362  bool getPeakBattDischarge();
363 
364  bool setVBatUVLO(bool low_threshold);
365  bool getVBatUVLO();
366 
367  bool setChargeRate(bq25628e_charge_rate_t rate);
368  bq25628e_charge_rate_t getChargeRate();
369 
370  bool setIgnoreThermistor(bool ignore);
371  bool getIgnoreThermistor();
372 
373  bool setCoolThermistorCurrent(bq25628e_therm_curr_t setting);
374  bq25628e_therm_curr_t getCoolThermistorCurrent();
375 
376  bool setWarmThermistorCurrent(bq25628e_therm_curr_t setting);
377  bq25628e_therm_curr_t getWarmThermistorCurrent();
378 
379  uint16_t getChargerStatusFlags();
380  uint8_t getFaultStatusFlags();
381  uint16_t getChargerFlags();
382  uint8_t getFaultFlags();
383 
384  bool setInterruptMask(uint32_t mask);
385  uint32_t getInterruptMask();
386 
387  bool setADCEnable(bool enable);
388  bool getADCEnable();
389 
390  bool setADCOneShot(bool one_shot);
391  bool getADCOneShot();
392 
393  bool setADCSampleRate(bq25628e_adc_sample_t sample_rate);
394  bq25628e_adc_sample_t getADCSampleRate();
395 
396  bool setDisableADC(uint8_t disable_flags);
397  uint8_t getDisableADC();
398 
399  float getIBUScurrent();
400  float getIBATcurrent();
401  float getVBUSvoltage();
402  float getVPMIDvoltage();
403  float getVBATvoltage();
404  float getVSYSvoltage();
405  float getThermistorPercent();
406  float getDieTempC();
407 
408  private:
409  Adafruit_I2CDevice* i2c_dev;
410 };
411 
412 #endif
bq25628e_adc_sample_t
ADC sample rate settings.
Definition: Adafruit_BQ25628E.h:225
+
Definition: Adafruit_BQ25628E.h:37
+
Definition: Adafruit_BQ25628E.h:79
+
bq25628e_conv_freq_t
Converter switching frequency settings.
Definition: Adafruit_BQ25628E.h:46
+
Definition: Adafruit_BQ25628E.h:70
+
Definition: Adafruit_BQ25628E.h:227
+
Definition: Adafruit_BQ25628E.h:77
+
Definition: Adafruit_BQ25628E.h:68
+
Definition: Adafruit_BQ25628E.h:58
+
Definition: Adafruit_BQ25628E.h:50
+
Definition: Adafruit_BQ25628E.h:48
+
Definition: Adafruit_BQ25628E.h:39
+
Definition: Adafruit_BQ25628E.h:40
+
Definition: Adafruit_BQ25628E.h:228
+
Definition: Adafruit_BQ25628E.h:60
+
bq25628e_batfet_ctrl_t
BATFET control settings.
Definition: Adafruit_BQ25628E.h:56
+
Definition: Adafruit_BQ25628E.h:49
+
Definition: Adafruit_BQ25628E.h:47
+
bq25628e_watchdog_t
Watchdog timer settings.
Definition: Adafruit_BQ25628E.h:36
+
Definition: Adafruit_BQ25628E.h:78
+
Definition: Adafruit_BQ25628E.h:226
+
Definition: Adafruit_BQ25628E.h:69
+
#define BQ25628E_DEFAULT_ADDR
Definition: Adafruit_BQ25628E.h:31
+
Definition: Adafruit_BQ25628E.h:57
+
Definition: Adafruit_BQ25628E.h:67
+
Definition: Adafruit_BQ25628E.h:229
+
bq25628e_charge_rate_t
Charge rate settings.
Definition: Adafruit_BQ25628E.h:66
+
bq25628e_therm_curr_t
Thermistor current settings for cool/warm zones.
Definition: Adafruit_BQ25628E.h:76
+
Definition: Adafruit_BQ25628E.h:80
+
Definition: Adafruit_BQ25628E.h:38
+
Definition: Adafruit_BQ25628E.h:59
+
Class that stores state and functions for interacting with the BQ25628E I2C Battery Charger...
Definition: Adafruit_BQ25628E.h:292
+
+ + + + diff --git a/html/annotated.html b/html/annotated.html new file mode 100644 index 0000000..043e1a8 --- /dev/null +++ b/html/annotated.html @@ -0,0 +1,78 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: Class List + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+ + +
 CAdafruit_BQ25628EClass that stores state and functions for interacting with the BQ25628E I2C Battery Charger
+
+
+ + + + diff --git a/html/bc_s.png b/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/html/bdwn.png b/html/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + + +Adafruit BQ25628E Arduino Library: Member List + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Adafruit_BQ25628E Member List
+
+
+ +

This is the complete list of members for Adafruit_BQ25628E, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Adafruit_BQ25628E()Adafruit_BQ25628E
begin(uint8_t i2c_addr=BQ25628E_DEFAULT_ADDR, TwoWire *wire=&Wire)Adafruit_BQ25628E
getADCEnable()Adafruit_BQ25628E
getADCOneShot()Adafruit_BQ25628E
getADCSampleRate()Adafruit_BQ25628E
getAutoBatteryDischarge()Adafruit_BQ25628E
getBATFETcontrol()Adafruit_BQ25628E
getChargeCurrentLimitA()Adafruit_BQ25628E
getChargeRate()Adafruit_BQ25628E
getChargerFlags()Adafruit_BQ25628E
getChargerStatusFlags()Adafruit_BQ25628E
getChargeVoltageLimitV()Adafruit_BQ25628E
getConverterFrequency()Adafruit_BQ25628E
getCoolThermistorCurrent()Adafruit_BQ25628E
getDieTempC()Adafruit_BQ25628E
getDisableADC()Adafruit_BQ25628E
getEnableCharging()Adafruit_BQ25628E
getEnableSafetyTimers()Adafruit_BQ25628E
getEnableTermination()Adafruit_BQ25628E
getFastchargeTimer()Adafruit_BQ25628E
getFaultFlags()Adafruit_BQ25628E
getFaultStatusFlags()Adafruit_BQ25628E
getForceBatteryDischarge()Adafruit_BQ25628E
getForcePMIDDischarge()Adafruit_BQ25628E
getHighZ()Adafruit_BQ25628E
getIBATcurrent()Adafruit_BQ25628E
getIBUScurrent()Adafruit_BQ25628E
getIgnoreThermistor()Adafruit_BQ25628E
getInputCurrentLimitA()Adafruit_BQ25628E
getInputVoltageLimitV()Adafruit_BQ25628E
getInterruptMask()Adafruit_BQ25628E
getMinimalSystemVoltageV()Adafruit_BQ25628E
getPeakBattDischarge()Adafruit_BQ25628E
getPrechargeCurrentLimitA()Adafruit_BQ25628E
getPrechargeTimer()Adafruit_BQ25628E
getTerminationCurrentThresholdA()Adafruit_BQ25628E
getThermalRegulation()Adafruit_BQ25628E
getThermistorPercent()Adafruit_BQ25628E
getTrickleCurrent()Adafruit_BQ25628E
getVBatUVLO()Adafruit_BQ25628E
getVBATvoltage()Adafruit_BQ25628E
getVBUSOvervoltage()Adafruit_BQ25628E
getVBUSvoltage()Adafruit_BQ25628E
getVINDPMbatTrack()Adafruit_BQ25628E
getVPMIDvoltage()Adafruit_BQ25628E
getVSYSvoltage()Adafruit_BQ25628E
getWarmThermistorCurrent()Adafruit_BQ25628E
getWatchdog()Adafruit_BQ25628E
reset()Adafruit_BQ25628E
resetWatchdog()Adafruit_BQ25628E
setADCEnable(bool enable)Adafruit_BQ25628E
setADCOneShot(bool one_shot)Adafruit_BQ25628E
setADCSampleRate(bq25628e_adc_sample_t sample_rate)Adafruit_BQ25628E
setAutoBatteryDischarge(bool enable)Adafruit_BQ25628E
setBATFETcontrol(bq25628e_batfet_ctrl_t control)Adafruit_BQ25628E
setChargeCurrentLimitA(float current_a)Adafruit_BQ25628E
setChargeRate(bq25628e_charge_rate_t rate)Adafruit_BQ25628E
setChargeVoltageLimitV(float voltage_v)Adafruit_BQ25628E
setConverterFrequency(bq25628e_conv_freq_t frequency)Adafruit_BQ25628E
setCoolThermistorCurrent(bq25628e_therm_curr_t setting)Adafruit_BQ25628E
setDisableADC(uint8_t disable_flags)Adafruit_BQ25628E
setEnableCharging(bool enable)Adafruit_BQ25628E
setEnableSafetyTimers(bool enable)Adafruit_BQ25628E
setEnableTermination(bool enable)Adafruit_BQ25628E
setFastchargeTimer(bool long_timer)Adafruit_BQ25628E
setForceBatteryDischarge(bool enable)Adafruit_BQ25628E
setForcePMIDDischarge(bool enable)Adafruit_BQ25628E
setHighZ(bool enable)Adafruit_BQ25628E
setIgnoreThermistor(bool ignore)Adafruit_BQ25628E
setInputCurrentLimitA(float current_a)Adafruit_BQ25628E
setInputVoltageLimitV(float voltage_v)Adafruit_BQ25628E
setInterruptMask(uint32_t mask)Adafruit_BQ25628E
setMinimalSystemVoltageV(float voltage_v)Adafruit_BQ25628E
setPeakBattDischarge(bool peak_12a)Adafruit_BQ25628E
setPrechargeCurrentLimitA(float current_a)Adafruit_BQ25628E
setPrechargeTimer(bool short_timer)Adafruit_BQ25628E
setTerminationCurrentThresholdA(float current_a)Adafruit_BQ25628E
setThermalRegulation(bool temp_120c)Adafruit_BQ25628E
setTrickleCurrent(bool use_40ma)Adafruit_BQ25628E
setVBatUVLO(bool low_threshold)Adafruit_BQ25628E
setVBUSOvervoltage(bool high_threshold)Adafruit_BQ25628E
setVINDPMbatTrack(bool enable)Adafruit_BQ25628E
setWarmThermistorCurrent(bq25628e_therm_curr_t setting)Adafruit_BQ25628E
setWatchdog(bq25628e_watchdog_t setting)Adafruit_BQ25628E
~Adafruit_BQ25628E()Adafruit_BQ25628E
+ + + + diff --git a/html/class_adafruit___b_q25628_e.html b/html/class_adafruit___b_q25628_e.html new file mode 100644 index 0000000..ef65e0d --- /dev/null +++ b/html/class_adafruit___b_q25628_e.html @@ -0,0 +1,2278 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: Adafruit_BQ25628E Class Reference + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
Adafruit_BQ25628E Class Reference
+
+
+ +

Class that stores state and functions for interacting with the BQ25628E I2C Battery Charger. + More...

+ +

#include <Adafruit_BQ25628E.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Adafruit_BQ25628E ()
 Instantiates a new BQ25628E class.
 
~Adafruit_BQ25628E ()
 Cleans up the BQ25628E.
 
bool begin (uint8_t i2c_addr=BQ25628E_DEFAULT_ADDR, TwoWire *wire=&Wire)
 Sets up the hardware and initializes I2C. More...
 
bool setChargeCurrentLimitA (float current_a)
 Sets the charge current limit. More...
 
float getChargeCurrentLimitA ()
 Gets the charge current limit. More...
 
bool setChargeVoltageLimitV (float voltage_v)
 Sets the charge voltage limit. More...
 
float getChargeVoltageLimitV ()
 Gets the charge voltage limit. More...
 
bool setInputCurrentLimitA (float current_a)
 Sets the input current limit. More...
 
float getInputCurrentLimitA ()
 Gets the input current limit. More...
 
bool setInputVoltageLimitV (float voltage_v)
 Sets the input voltage limit. More...
 
float getInputVoltageLimitV ()
 Gets the input voltage limit. More...
 
bool setMinimalSystemVoltageV (float voltage_v)
 Sets the minimal system voltage. More...
 
float getMinimalSystemVoltageV ()
 Gets the minimal system voltage. More...
 
bool setPrechargeCurrentLimitA (float current_a)
 Sets the precharge current limit. More...
 
float getPrechargeCurrentLimitA ()
 Gets the precharge current limit. More...
 
bool setTerminationCurrentThresholdA (float current_a)
 Sets the termination current threshold. More...
 
float getTerminationCurrentThresholdA ()
 Gets the termination current threshold. More...
 
bool setTrickleCurrent (bool use_40ma)
 Sets the trickle charging current. More...
 
bool getTrickleCurrent ()
 Gets the trickle charging current setting. More...
 
bool setEnableTermination (bool enable)
 Sets charge termination enable/disable. More...
 
bool getEnableTermination ()
 Gets charge termination enable/disable status. More...
 
bool setVINDPMbatTrack (bool enable)
 Sets VINDPM battery voltage tracking. More...
 
bool getVINDPMbatTrack ()
 Gets VINDPM battery voltage tracking status. More...
 
bool setEnableSafetyTimers (bool enable)
 Sets charge timer enable/disable. More...
 
bool getEnableSafetyTimers ()
 Gets charge timer enable/disable status. More...
 
bool setPrechargeTimer (bool short_timer)
 Sets precharge timer setting. More...
 
bool getPrechargeTimer ()
 Gets precharge timer setting. More...
 
bool setFastchargeTimer (bool long_timer)
 Sets fast charge timer setting. More...
 
bool getFastchargeTimer ()
 Gets fast charge timer setting. More...
 
bool setAutoBatteryDischarge (bool enable)
 Sets auto battery discharge during battery OVP. More...
 
bool getAutoBatteryDischarge ()
 Gets auto battery discharge setting. More...
 
bool setForceBatteryDischarge (bool enable)
 Forces battery discharge current (~30mA) More...
 
bool getForceBatteryDischarge ()
 Gets forced battery discharge status. More...
 
bool setEnableCharging (bool enable)
 Sets charger enable/disable. More...
 
bool getEnableCharging ()
 Gets charger enable status. More...
 
bool setHighZ (bool enable)
 Sets HIZ mode enable/disable. More...
 
bool getHighZ ()
 Gets HIZ mode status. More...
 
bool setForcePMIDDischarge (bool enable)
 Forces PMID discharge current (~30mA) More...
 
bool getForcePMIDDischarge ()
 Gets forced PMID discharge status. More...
 
bool resetWatchdog ()
 Resets the I2C watchdog timer. More...
 
bool setWatchdog (bq25628e_watchdog_t setting)
 Sets watchdog timer setting. More...
 
bq25628e_watchdog_t getWatchdog ()
 Gets watchdog timer setting. More...
 
bool reset ()
 Resets registers to default values and resets timer. More...
 
bool setThermalRegulation (bool temp_120c)
 Sets thermal regulation threshold. More...
 
bool getThermalRegulation ()
 Gets thermal regulation threshold setting. More...
 
bool setConverterFrequency (bq25628e_conv_freq_t frequency)
 Sets converter switching frequency. More...
 
bq25628e_conv_freq_t getConverterFrequency ()
 Gets converter switching frequency setting. More...
 
bool setVBUSOvervoltage (bool high_threshold)
 Sets VBUS overvoltage protection threshold. More...
 
bool getVBUSOvervoltage ()
 Gets VBUS overvoltage protection threshold setting. More...
 
bool setBATFETcontrol (bq25628e_batfet_ctrl_t control)
 Sets BATFET control mode. More...
 
bq25628e_batfet_ctrl_t getBATFETcontrol ()
 Gets BATFET control mode setting. More...
 
bool setPeakBattDischarge (bool peak_12a)
 Sets battery discharge peak current protection. More...
 
bool getPeakBattDischarge ()
 Gets battery discharge peak current protection setting. More...
 
bool setVBatUVLO (bool low_threshold)
 Sets VBAT UVLO threshold. More...
 
bool getVBatUVLO ()
 Gets VBAT UVLO threshold setting. More...
 
bool setChargeRate (bq25628e_charge_rate_t rate)
 Sets charge rate for fast charge stage. More...
 
bq25628e_charge_rate_t getChargeRate ()
 Gets charge rate setting. More...
 
bool setIgnoreThermistor (bool ignore)
 Sets thermistor feedback ignore. More...
 
bool getIgnoreThermistor ()
 Gets thermistor feedback ignore setting. More...
 
bool setCoolThermistorCurrent (bq25628e_therm_curr_t setting)
 Sets thermistor cool zone current setting. More...
 
bq25628e_therm_curr_t getCoolThermistorCurrent ()
 Gets thermistor cool zone current setting. More...
 
bool setWarmThermistorCurrent (bq25628e_therm_curr_t setting)
 Sets thermistor warm zone current setting. More...
 
bq25628e_therm_curr_t getWarmThermistorCurrent ()
 Gets thermistor warm zone current setting. More...
 
uint16_t getChargerStatusFlags ()
 Gets combined charger status flags from both status registers. More...
 
uint8_t getFaultStatusFlags ()
 Gets fault status flags from REG0x1F. More...
 
uint16_t getChargerFlags ()
 Gets combined charger flag registers (clears flags on read) More...
 
uint8_t getFaultFlags ()
 Gets fault flag register (clears flags on read) More...
 
bool setInterruptMask (uint32_t mask)
 Sets interrupt mask for all interrupt sources. More...
 
uint32_t getInterruptMask ()
 Gets interrupt mask for all interrupt sources. More...
 
bool setADCEnable (bool enable)
 Enables or disables ADC conversion. More...
 
bool getADCEnable ()
 Gets ADC enable status. More...
 
bool setADCOneShot (bool one_shot)
 Sets ADC conversion mode. More...
 
bool getADCOneShot ()
 Gets ADC conversion mode. More...
 
bool setADCSampleRate (bq25628e_adc_sample_t sample_rate)
 Sets ADC sample rate (bit resolution) More...
 
bq25628e_adc_sample_t getADCSampleRate ()
 Gets ADC sample rate setting. More...
 
bool setDisableADC (uint8_t disable_flags)
 Sets ADC function disable flags. More...
 
uint8_t getDisableADC ()
 Gets ADC function disable flags. More...
 
float getIBUScurrent ()
 Gets IBUS current measurement from ADC. More...
 
float getIBATcurrent ()
 Gets IBAT current measurement from ADC. More...
 
float getVBUSvoltage ()
 Gets VBUS voltage measurement from ADC. More...
 
float getVPMIDvoltage ()
 Gets VPMID voltage measurement from ADC. More...
 
float getVBATvoltage ()
 Gets VBAT voltage measurement from ADC. More...
 
float getVSYSvoltage ()
 Gets VSYS voltage measurement from ADC. More...
 
float getThermistorPercent ()
 Gets thermistor reading as percentage of bias reference. More...
 
float getDieTempC ()
 Gets die temperature measurement from ADC. More...
 
+

Detailed Description

+

Class that stores state and functions for interacting with the BQ25628E I2C Battery Charger.

+

Member Function Documentation

+ +

◆ begin()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool Adafruit_BQ25628E::begin (uint8_t i2c_addr = BQ25628E_DEFAULT_ADDR,
TwoWire * wire = &Wire 
)
+
+ +

Sets up the hardware and initializes I2C.

+
Parameters
+ + + +
i2c_addrThe I2C address to be used.
wireThe Wire object to be used for I2C connections.
+
+
+
Returns
True if initialization was successful, otherwise false.
+ +
+
+ +

◆ setChargeCurrentLimitA()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setChargeCurrentLimitA (float current_a)
+
+ +

Sets the charge current limit.

+
Parameters
+ + +
current_aCurrent in Amps (0.04A to 2.0A in 0.04A steps)
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getChargeCurrentLimitA()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getChargeCurrentLimitA ()
+
+ +

Gets the charge current limit.

+
Returns
Current limit in Amps
+ +
+
+ +

◆ setChargeVoltageLimitV()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setChargeVoltageLimitV (float voltage_v)
+
+ +

Sets the charge voltage limit.

+
Parameters
+ + +
voltage_vVoltage in Volts (3.5V to 4.8V in 0.01V steps)
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getChargeVoltageLimitV()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getChargeVoltageLimitV ()
+
+ +

Gets the charge voltage limit.

+
Returns
Voltage limit in Volts
+ +
+
+ +

◆ setInputCurrentLimitA()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setInputCurrentLimitA (float current_a)
+
+ +

Sets the input current limit.

+
Parameters
+ + +
current_aCurrent in Amps (0.1A to 3.2A in 0.02A steps)
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getInputCurrentLimitA()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getInputCurrentLimitA ()
+
+ +

Gets the input current limit.

+
Returns
Current limit in Amps
+ +
+
+ +

◆ setInputVoltageLimitV()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setInputVoltageLimitV (float voltage_v)
+
+ +

Sets the input voltage limit.

+
Parameters
+ + +
voltage_vVoltage in Volts (3.8V to 16.8V in 0.04V steps)
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getInputVoltageLimitV()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getInputVoltageLimitV ()
+
+ +

Gets the input voltage limit.

+
Returns
Voltage limit in Volts
+ +
+
+ +

◆ setMinimalSystemVoltageV()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setMinimalSystemVoltageV (float voltage_v)
+
+ +

Sets the minimal system voltage.

+
Parameters
+ + +
voltage_vVoltage in Volts (2.56V to 3.84V in 0.08V steps)
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getMinimalSystemVoltageV()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getMinimalSystemVoltageV ()
+
+ +

Gets the minimal system voltage.

+
Returns
Voltage in Volts
+ +
+
+ +

◆ setPrechargeCurrentLimitA()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setPrechargeCurrentLimitA (float current_a)
+
+ +

Sets the precharge current limit.

+
Parameters
+ + +
current_aCurrent in Amps (0.01A to 0.31A in 0.01A steps)
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getPrechargeCurrentLimitA()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getPrechargeCurrentLimitA ()
+
+ +

Gets the precharge current limit.

+
Returns
Current limit in Amps
+ +
+
+ +

◆ setTerminationCurrentThresholdA()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setTerminationCurrentThresholdA (float current_a)
+
+ +

Sets the termination current threshold.

+
Parameters
+ + +
current_aCurrent in Amps (0.005A to 0.31A in 0.005A steps)
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getTerminationCurrentThresholdA()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getTerminationCurrentThresholdA ()
+
+ +

Gets the termination current threshold.

+
Returns
Current threshold in Amps
+ +
+
+ +

◆ setTrickleCurrent()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setTrickleCurrent (bool use_40ma)
+
+ +

Sets the trickle charging current.

+
Parameters
+ + +
use_40maTrue for 40mA trickle current, false for 10mA trickle current
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getTrickleCurrent()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getTrickleCurrent ()
+
+ +

Gets the trickle charging current setting.

+
Returns
True if 40mA trickle current, false if 10mA trickle current
+ +
+
+ +

◆ setEnableTermination()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setEnableTermination (bool enable)
+
+ +

Sets charge termination enable/disable.

+
Parameters
+ + +
enableTrue to enable termination, false to disable
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getEnableTermination()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getEnableTermination ()
+
+ +

Gets charge termination enable/disable status.

+
Returns
True if termination enabled, false if disabled
+ +
+
+ +

◆ setVINDPMbatTrack()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setVINDPMbatTrack (bool enable)
+
+ +

Sets VINDPM battery voltage tracking.

+
Parameters
+ + +
enableTrue for VBAT + 400mV tracking, false for register-only VINDPM
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getVINDPMbatTrack()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getVINDPMbatTrack ()
+
+ +

Gets VINDPM battery voltage tracking status.

+
Returns
True if VBAT + 400mV tracking enabled, false if register-only VINDPM
+ +
+
+ +

◆ setEnableSafetyTimers()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setEnableSafetyTimers (bool enable)
+
+ +

Sets charge timer enable/disable.

+
Parameters
+ + +
enableTrue to enable safety timers, false to disable
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getEnableSafetyTimers()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getEnableSafetyTimers ()
+
+ +

Gets charge timer enable/disable status.

+
Returns
True if safety timers enabled, false if disabled
+ +
+
+ +

◆ setPrechargeTimer()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setPrechargeTimer (bool short_timer)
+
+ +

Sets precharge timer setting.

+
Parameters
+ + +
short_timerTrue for 0.62 hours, false for 2.5 hours (default)
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getPrechargeTimer()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getPrechargeTimer ()
+
+ +

Gets precharge timer setting.

+
Returns
True if 0.62 hours, false if 2.5 hours
+ +
+
+ +

◆ setFastchargeTimer()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setFastchargeTimer (bool long_timer)
+
+ +

Sets fast charge timer setting.

+
Parameters
+ + +
long_timerTrue for 28 hours, false for 14.5 hours (default)
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getFastchargeTimer()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getFastchargeTimer ()
+
+ +

Gets fast charge timer setting.

+
Returns
True if 28 hours, false if 14.5 hours
+ +
+
+ +

◆ setAutoBatteryDischarge()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setAutoBatteryDischarge (bool enable)
+
+ +

Sets auto battery discharge during battery OVP.

+
Parameters
+ + +
enableTrue to enable auto discharge during battery OVP, false to disable
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getAutoBatteryDischarge()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getAutoBatteryDischarge ()
+
+ +

Gets auto battery discharge setting.

+
Returns
True if auto discharge enabled, false if disabled
+ +
+
+ +

◆ setForceBatteryDischarge()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setForceBatteryDischarge (bool enable)
+
+ +

Forces battery discharge current (~30mA)

+
Parameters
+ + +
enableTrue to force discharge current, false for idle
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getForceBatteryDischarge()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getForceBatteryDischarge ()
+
+ +

Gets forced battery discharge status.

+
Returns
True if discharge current forced, false if idle
+ +
+
+ +

◆ setEnableCharging()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setEnableCharging (bool enable)
+
+ +

Sets charger enable/disable.

+
Parameters
+ + +
enableTrue to enable charging, false to disable
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getEnableCharging()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getEnableCharging ()
+
+ +

Gets charger enable status.

+
Returns
True if charging enabled, false if disabled
+ +
+
+ +

◆ setHighZ()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setHighZ (bool enable)
+
+ +

Sets HIZ mode enable/disable.

+
Parameters
+ + +
enableTrue to enable HIZ mode, false to disable
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getHighZ()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getHighZ ()
+
+ +

Gets HIZ mode status.

+
Returns
True if HIZ mode enabled, false if disabled
+ +
+
+ +

◆ setForcePMIDDischarge()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setForcePMIDDischarge (bool enable)
+
+ +

Forces PMID discharge current (~30mA)

+
Parameters
+ + +
enableTrue to force PMID discharge, false to disable
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getForcePMIDDischarge()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getForcePMIDDischarge ()
+
+ +

Gets forced PMID discharge status.

+
Returns
True if PMID discharge forced, false if disabled
+ +
+
+ +

◆ resetWatchdog()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::resetWatchdog ()
+
+ +

Resets the I2C watchdog timer.

+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ setWatchdog()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setWatchdog (bq25628e_watchdog_t setting)
+
+ +

Sets watchdog timer setting.

+
Parameters
+ + +
settingWatchdog timer setting from bq25628e_watchdog_t enum
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getWatchdog()

+ +
+
+ + + + + + + +
bq25628e_watchdog_t Adafruit_BQ25628E::getWatchdog ()
+
+ +

Gets watchdog timer setting.

+
Returns
Current watchdog timer setting
+ +
+
+ +

◆ reset()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::reset ()
+
+ +

Resets registers to default values and resets timer.

+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ setThermalRegulation()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setThermalRegulation (bool temp_120c)
+
+ +

Sets thermal regulation threshold.

+
Parameters
+ + +
temp_120cTrue for 120°C threshold, false for 60°C threshold
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getThermalRegulation()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getThermalRegulation ()
+
+ +

Gets thermal regulation threshold setting.

+
Returns
True if 120°C threshold, false if 60°C threshold
+ +
+
+ +

◆ setConverterFrequency()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setConverterFrequency (bq25628e_conv_freq_t frequency)
+
+ +

Sets converter switching frequency.

+
Parameters
+ + +
frequencyFrequency setting from bq25628e_conv_freq_t enum
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getConverterFrequency()

+ +
+
+ + + + + + + +
bq25628e_conv_freq_t Adafruit_BQ25628E::getConverterFrequency ()
+
+ +

Gets converter switching frequency setting.

+
Returns
Current frequency setting
+ +
+
+ +

◆ setVBUSOvervoltage()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setVBUSOvervoltage (bool high_threshold)
+
+ +

Sets VBUS overvoltage protection threshold.

+
Parameters
+ + +
high_thresholdTrue for 18.5V threshold, false for 6.3V threshold
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getVBUSOvervoltage()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getVBUSOvervoltage ()
+
+ +

Gets VBUS overvoltage protection threshold setting.

+
Returns
True if 18.5V threshold, false if 6.3V threshold
+ +
+
+ +

◆ setBATFETcontrol()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setBATFETcontrol (bq25628e_batfet_ctrl_t control)
+
+ +

Sets BATFET control mode.

+
Parameters
+ + +
controlBATFET control setting from bq25628e_batfet_ctrl_t enum
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getBATFETcontrol()

+ +
+
+ + + + + + + +
bq25628e_batfet_ctrl_t Adafruit_BQ25628E::getBATFETcontrol ()
+
+ +

Gets BATFET control mode setting.

+
Returns
Current BATFET control setting
+ +
+
+ +

◆ setPeakBattDischarge()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setPeakBattDischarge (bool peak_12a)
+
+ +

Sets battery discharge peak current protection.

+
Parameters
+ + +
peak_12aTrue for 12A peak current, false for 6A peak current
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getPeakBattDischarge()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getPeakBattDischarge ()
+
+ +

Gets battery discharge peak current protection setting.

+
Returns
True if 12A peak current, false if 6A peak current
+ +
+
+ +

◆ setVBatUVLO()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setVBatUVLO (bool low_threshold)
+
+ +

Sets VBAT UVLO threshold.

+
Parameters
+ + +
low_thresholdTrue for 1.8V UVLO/1.85V SHORT, false for 2.2V UVLO/2.05V SHORT
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getVBatUVLO()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getVBatUVLO ()
+
+ +

Gets VBAT UVLO threshold setting.

+
Returns
True if 1.8V UVLO/1.85V SHORT, false if 2.2V UVLO/2.05V SHORT
+ +
+
+ +

◆ setChargeRate()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setChargeRate (bq25628e_charge_rate_t rate)
+
+ +

Sets charge rate for fast charge stage.

+
Parameters
+ + +
rateCharge rate setting from bq25628e_charge_rate_t enum
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getChargeRate()

+ +
+
+ + + + + + + +
bq25628e_charge_rate_t Adafruit_BQ25628E::getChargeRate ()
+
+ +

Gets charge rate setting.

+
Returns
Current charge rate setting
+ +
+
+ +

◆ setIgnoreThermistor()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setIgnoreThermistor (bool ignore)
+
+ +

Sets thermistor feedback ignore.

+
Parameters
+ + +
ignoreTrue to ignore TS feedback, false to use TS feedback
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getIgnoreThermistor()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getIgnoreThermistor ()
+
+ +

Gets thermistor feedback ignore setting.

+
Returns
True if TS feedback ignored, false if TS feedback used
+ +
+
+ +

◆ setCoolThermistorCurrent()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setCoolThermistorCurrent (bq25628e_therm_curr_t setting)
+
+ +

Sets thermistor cool zone current setting.

+
Parameters
+ + +
settingCurrent setting from bq25628e_therm_curr_t enum
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getCoolThermistorCurrent()

+ +
+
+ + + + + + + +
bq25628e_therm_curr_t Adafruit_BQ25628E::getCoolThermistorCurrent ()
+
+ +

Gets thermistor cool zone current setting.

+
Returns
Current cool zone setting
+ +
+
+ +

◆ setWarmThermistorCurrent()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setWarmThermistorCurrent (bq25628e_therm_curr_t setting)
+
+ +

Sets thermistor warm zone current setting.

+
Parameters
+ + +
settingCurrent setting from bq25628e_therm_curr_t enum
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getWarmThermistorCurrent()

+ +
+
+ + + + + + + +
bq25628e_therm_curr_t Adafruit_BQ25628E::getWarmThermistorCurrent ()
+
+ +

Gets thermistor warm zone current setting.

+
Returns
Current warm zone setting
+ +
+
+ +

◆ getChargerStatusFlags()

+ +
+
+ + + + + + + +
uint16_t Adafruit_BQ25628E::getChargerStatusFlags ()
+
+ +

Gets combined charger status flags from both status registers.

+
Returns
16-bit status flags: bits 15:8 = REG0x1E, bits 7:0 = REG0x1D
+ +
+
+ +

◆ getFaultStatusFlags()

+ +
+
+ + + + + + + +
uint8_t Adafruit_BQ25628E::getFaultStatusFlags ()
+
+ +

Gets fault status flags from REG0x1F.

+
Returns
8-bit fault status flags from REG0x1F_FAULT_Status_0
+ +
+
+ +

◆ getChargerFlags()

+ +
+
+ + + + + + + +
uint16_t Adafruit_BQ25628E::getChargerFlags ()
+
+ +

Gets combined charger flag registers (clears flags on read)

+
Returns
16-bit flag values: bits 15:8 = REG0x21, bits 7:0 = REG0x20
+
Note
Reading this function clears all flag bits automatically
+ +
+
+ +

◆ getFaultFlags()

+ +
+
+ + + + + + + +
uint8_t Adafruit_BQ25628E::getFaultFlags ()
+
+ +

Gets fault flag register (clears flags on read)

+
Returns
8-bit fault flag values from REG0x22_FAULT_Flag_0
+
Note
Reading this function clears all fault flag bits automatically
+ +
+
+ +

◆ setInterruptMask()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setInterruptMask (uint32_t mask)
+
+ +

Sets interrupt mask for all interrupt sources.

+
Parameters
+ + +
mask32-bit mask value (1 = disable interrupt, 0 = enable interrupt)
+
+
+
Returns
True if successful, otherwise false.
+
Note
Use BQ25628E_INT_MASK_* defines to construct the mask
+ +
+
+ +

◆ getInterruptMask()

+ +
+
+ + + + + + + +
uint32_t Adafruit_BQ25628E::getInterruptMask ()
+
+ +

Gets interrupt mask for all interrupt sources.

+
Returns
32-bit mask value (1 = interrupt disabled, 0 = interrupt enabled)
+ +
+
+ +

◆ setADCEnable()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setADCEnable (bool enable)
+
+ +

Enables or disables ADC conversion.

+
Parameters
+ + +
enableTrue to enable ADC, false to disable
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getADCEnable()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getADCEnable ()
+
+ +

Gets ADC enable status.

+
Returns
True if ADC is enabled, false otherwise
+ +
+
+ +

◆ setADCOneShot()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setADCOneShot (bool one_shot)
+
+ +

Sets ADC conversion mode.

+
Parameters
+ + +
one_shotTrue for one-shot conversion, false for continuous conversion
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getADCOneShot()

+ +
+
+ + + + + + + +
bool Adafruit_BQ25628E::getADCOneShot ()
+
+ +

Gets ADC conversion mode.

+
Returns
True if one-shot mode, false if continuous mode
+ +
+
+ +

◆ setADCSampleRate()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setADCSampleRate (bq25628e_adc_sample_t sample_rate)
+
+ +

Sets ADC sample rate (bit resolution)

+
Parameters
+ + +
sample_rateSample rate setting (see bq25628e_adc_sample_t)
+
+
+
Returns
True if successful, otherwise false.
+ +
+
+ +

◆ getADCSampleRate()

+ +
+
+ + + + + + + +
bq25628e_adc_sample_t Adafruit_BQ25628E::getADCSampleRate ()
+
+ +

Gets ADC sample rate setting.

+
Returns
Current sample rate setting (see bq25628e_adc_sample_t)
+ +
+
+ +

◆ setDisableADC()

+ +
+
+ + + + + + + + +
bool Adafruit_BQ25628E::setDisableADC (uint8_t disable_flags)
+
+ +

Sets ADC function disable flags.

+
Parameters
+ + +
disable_flagsBitfield of ADC functions to disable (use BQ25628E_ADC_DIS_* flags) Setting a bit to 1 disables that ADC function Setting a bit to 0 enables that ADC function
+
+
+
Returns
True if successful, otherwise false.
+
Note
Use BQ25628E_ADC_DIS_* defines to construct the disable_flags
+ +
+
+ +

◆ getDisableADC()

+ +
+
+ + + + + + + +
uint8_t Adafruit_BQ25628E::getDisableADC ()
+
+ +

Gets ADC function disable flags.

+
Returns
Bitfield of disabled ADC functions (1 = disabled, 0 = enabled)
+
Note
Use BQ25628E_ADC_DIS_* defines to check individual flags
+ +
+
+ +

◆ getIBUScurrent()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getIBUScurrent ()
+
+ +

Gets IBUS current measurement from ADC.

+
Returns
Current in Amperes (positive = from VBUS to PMID, negative = reverse)
+
Note
Requires ADC to be enabled. Returns 2's complement 15-bit value converted to float with 2mA resolution
+ +
+
+ +

◆ getIBATcurrent()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getIBATcurrent ()
+
+ +

Gets IBAT current measurement from ADC.

+
Returns
Current in Amperes (positive = charging, negative = discharging)
+
Note
Requires ADC to be enabled. Returns 2's complement 14-bit value converted to float with 4mA resolution. Range: -7.5A to +4.0A
+ +
+
+ +

◆ getVBUSvoltage()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getVBUSvoltage ()
+
+ +

Gets VBUS voltage measurement from ADC.

+
Returns
Voltage in Volts. Range: 0V to 18V
+
Note
Requires ADC to be enabled. 3.97mV resolution
+ +
+
+ +

◆ getVPMIDvoltage()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getVPMIDvoltage ()
+
+ +

Gets VPMID voltage measurement from ADC.

+
Returns
Voltage in Volts. Range: 0V to 18V
+
Note
Requires ADC to be enabled. 3.97mV resolution
+ +
+
+ +

◆ getVBATvoltage()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getVBATvoltage ()
+
+ +

Gets VBAT voltage measurement from ADC.

+
Returns
Voltage in Volts. Range: 0V to 5.572V
+
Note
Requires ADC to be enabled. 1.99mV resolution
+ +
+
+ +

◆ getVSYSvoltage()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getVSYSvoltage ()
+
+ +

Gets VSYS voltage measurement from ADC.

+
Returns
Voltage in Volts. Range: 0V to 5.572V
+
Note
Requires ADC to be enabled. 1.99mV resolution
+ +
+
+ +

◆ getThermistorPercent()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getThermistorPercent ()
+
+ +

Gets thermistor reading as percentage of bias reference.

+
Returns
Percentage (0-100%). Range: 0% to 98.31%
+
Note
Requires ADC to be enabled and TS pin bias reference active Uses bits 11:0 with 0.0961% resolution
+ +
+
+ +

◆ getDieTempC()

+ +
+
+ + + + + + + +
float Adafruit_BQ25628E::getDieTempC ()
+
+ +

Gets die temperature measurement from ADC.

+
Returns
Temperature in Celsius. Range: -40°C to +140°C
+
Note
Requires ADC to be enabled. Returns 2's complement 12-bit value with 0.5°C resolution using bits 11:0
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/html/classes.html b/html/classes.html new file mode 100644 index 0000000..ab393db --- /dev/null +++ b/html/classes.html @@ -0,0 +1,82 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: Class Index + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+ + + + + + +
  a  
+
Adafruit_BQ25628E   
+ +
+ + + + diff --git a/html/closed.png b/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/html/doc.png b/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/html/doxygen.css b/html/doxygen.css new file mode 100644 index 0000000..4f1ab91 --- /dev/null +++ b/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/html/doxygen.png b/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 zcmV;!4m|ORP)tMIv#Q0*~7*`IBSO7_x;@a8#Zk6_PeKR_s92J&)(m+);m9Iz3blw)z#Gi zP!9lj4$%+*>Hz@HCmM9L9|8c+0u=!H$O3?R0Kgx|#WP<6fKfC8fM-CQZT|_r@`>VO zX^Hgb|9cJqpdJA5$MCEK`F_2@2Y@s>^+;pF`~jdI0Pvr|vl4`=C)EH@1IFe7pdJ8F zH(qGi004~QnF)Ggga~8v08kGAs2hKTATxr7pwfNk|4#_AaT>w8P6TV+R2kbS$v==} zAjf`s0g#V8lB+b3)5oEI*q+{Yt$MZDruD2^;$+(_%Qn+%v0X-bJO=;@kiJ^ygLBnC z?1OVv_%aex1M@jKU|Z~$eI?PoF4Vj>fDzyo zAiLfpXY*a^Sj-S5D0S3@#V$sRW)g)_1e#$%8xdM>Jm7?!h zu0P2X=xoN>^!4DoPRgph2(2va07yfpXF+WH7EOg1GY%Zn z7~1A<(z7Q$ktEXhW_?GMpHp9l_UL18F3KOsxu81pqoBiNbFSGsof-W z6~eloMoz=4?OOnl2J268x5rOY`dCk0us(uS#Ud4yqOr@?=Q57a}tit|BhY>}~frH1sP`ScHS_d)oqH^lYy zZ%VP`#10MlE~P?cE(%(#(AUSv_T{+;t@$U}El}(1ig`vZo`Rm;+5&(AYzJ^Ae=h2X z@Re%vHwZU>|f0NI&%$*4eJweC5OROQrpPMA@*w|o z()A==l}(@bv^&>H1Ob3C=<^|hob?0+xJ?QQ3-ueQC}zy&JQNib!OqSO@-=>XzxlSF zAZ^U*1l6EEmg3r};_HY>&Jo_{dOPEFTWPmt=U&F#+0(O59^UIlHbNX+eF8UzyDR*T z(=5X$VF3!gm@RooS-&iiUYGG^`hMR(07zr_xP`d!^BH?uD>Phl8Rdifx3Af^Zr`Ku ztL+~HkVeL#bJ)7;`=>;{KNRvjmc}1}c58Sr#Treq=4{xo!ATy|c>iRSp4`dzMMVd@ zL8?uwXDY}Wqgh4mH`|$BTXpUIu6A1-cSq%hJw;@^Zr8TP=GMh*p(m(tN7@!^D~sl$ zz^tf4II4|};+irE$Fnm4NTc5%p{PRA`%}Zk`CE5?#h3|xcyQsS#iONZ z6H(@^i9td!$z~bZiJLTax$o>r(p}3o@< zyD7%(>ZYvy=6$U3e!F{Z`uSaYy`xQyl?b{}eg|G3&fz*`QH@mDUn)1%#5u`0m$%D} z?;tZ0u(mWeMV0QtzjgN!lT*pNRj;6510Wwx?Yi_=tYw|J#7@(Xe7ifDzXuK;JB;QO z#bg~K$cgm$@{QiL_3yr}y&~wuv=P=#O&Tj=Sr)aCUlYmZMcw?)T?c%0rUe1cS+o!qs_ zQ6Gp)-{)V!;=q}llyK3|^WeLKyjf%y;xHku;9(vM!j|~<7w1c*Mk-;P{T&yG) z@C-8E?QPynNQ<8f01D`2qexcVEIOU?y}MG)TAE6&VT5`rK8s(4PE;uQ92LTXUQ<>^ ztyQ@=@kRdh@ebUG^Z6NWWIL;_IGJ2ST>$t!$m$qvtj0Qmw8moN6GUV^!QKNK zHBXCtUH8)RY9++gH_TUV4^=-j$t}dD3qsN7GclJ^Zc&(j6&a_!$jCf}%c5ey`pm~1)@{yI3 zTdWyB+*X{JFw#z;PwRr5evb2!ueWF;v`B0HoUu4-(~aL=z;OXUUEtG`_$)Oxw6FKg zEzY`CyKaSBK3xt#8gA|r_|Kehn_HYVBMpEwbn9-fI*!u*eTA1ef8Mkl1=!jV4oYwWYM}i`A>_F4nhmlCIC6WLa zY%;4&@AlnaG11ejl61Jev21|r*m+?Kru3;1tFDl}#!OzUp6c>go4{C|^erwpG*&h6bspUPJag}oOkN2912Y3I?(eRc@U9>z#HPBHC?nps7H5!zP``90!Q1n80jo+B3TWXp!8Pe zwuKuLLI6l3Gv@+QH*Y}2wPLPQ1^EZhT#+Ed8q8Wo z1pTmIBxv14-{l&QVKxAyQF#8Q@NeJwWdKk>?cpiJLkJr+aZ!Me+Cfp!?FWSRf^j2k z73BRR{WSKaMkJ>1Nbx5dan5hg^_}O{Tj6u%iV%#QGz0Q@j{R^Ik)Z*+(YvY2ziBG)?AmJa|JV%4UT$k`hcOg5r9R?5>?o~JzK zJCrj&{i#hG>N7!B4kNX(%igb%kDj0fOQThC-8mtfap82PNRXr1D>lbgg)dYTQ(kbx z`Ee5kXG~Bh+BHQBf|kJEy6(ga%WfhvdQNDuOfQoe377l#ht&DrMGeIsI5C<&ai zWG$|hop2@@q5YDa)_-A?B02W;#fH!%k`daQLEItaJJ8Yf1L%8x;kg?)k)00P-lH+w z)5$QNV6r2$YtnV(4o=0^3{kmaXn*Dm0F*fU(@o)yVVjk|ln8ea6BMy%vZAhW9|wvA z8RoDkVoMEz1d>|5(k0Nw>22ZT){V<3$^C-cN+|~hKt2)){+l-?3m@-$c?-dlzQ)q- zZ)j%n^gerV{|+t}9m1_&&Ly!9$rtG4XX|WQ8`xYzGC~U@nYh~g(z9)bdAl#xH)xd5a=@|qql z|FzEil{P5(@gy!4ek05i$>`E^G~{;pnf6ftpLh$h#W?^#4UkPfa;;?bsIe&kz!+40 zI|6`F2n020)-r`pFaZ38F!S-lJM-o&inOw|66=GMeP@xQU5ghQH{~5Uh~TMTd;I9` z>YhVB`e^EVj*S7JF39ZgNf}A-0DwOcTT63ydN$I3b?yBQtUI*_fae~kPvzoD$zjX3 zoqBe#>12im4WzZ=f^4+u=!lA|#r%1`WB0-6*3BL#at`47#ebPpR|D1b)3BjT34nYY z%Ds%d?5$|{LgOIaRO{{oC&RK`O91$fqwM0(C_TALcozu*fWHb%%q&p-q{_8*2Zsi^ zh1ZCnr^UYa;4vQEtHk{~zi>wwMC5o{S=$P0X681y`SXwFH?Ewn{x-MOZynmc)JT5v zuHLwh;tLfxRrr%|k370}GofLl7thg>ACWWY&msqaVu&ry+`7+Ss>NL^%T1|z{IGMA zW-SKl=V-^{(f!Kf^#3(|T2W47d(%JVCI4JgRrT1pNz>+ietmFToNv^`gzC@&O-)+i zPQ~RwK8%C_vf%;%e>NyTp~dM5;!C|N0Q^6|CEb7Bw=Vz~$1#FA;Z*?mKSC)Hl-20s t8QyHj(g6VK0RYbl8UjE)0O0w=e*@m04r>stuEhWV002ovPDHLkV1hl;dM*F} literal 0 HcmV?d00001 diff --git a/html/dynsections.js b/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +Adafruit BQ25628E Arduino Library: File List + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
+ + + + diff --git a/html/folderclosed.png b/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/html/functions.html b/html/functions.html new file mode 100644 index 0000000..885f4d6 --- /dev/null +++ b/html/functions.html @@ -0,0 +1,348 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+ + +

- b -

+ + +

- g -

+ + +

- r -

+ + +

- s -

+ + +

- ~ -

+
+ + + + diff --git a/html/functions_func.html b/html/functions_func.html new file mode 100644 index 0000000..d5f4f2c --- /dev/null +++ b/html/functions_func.html @@ -0,0 +1,348 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- g -

+ + +

- r -

+ + +

- s -

+ + +

- ~ -

+
+ + + + diff --git a/html/globals.html b/html/globals.html new file mode 100644 index 0000000..c13342f --- /dev/null +++ b/html/globals.html @@ -0,0 +1,514 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: File Members + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented file members with links to the documentation:
+ +

- b -

+
+ + + + diff --git a/html/globals_defs.html b/html/globals_defs.html new file mode 100644 index 0000000..c154c63 --- /dev/null +++ b/html/globals_defs.html @@ -0,0 +1,424 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: File Members + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/html/globals_enum.html b/html/globals_enum.html new file mode 100644 index 0000000..373deeb --- /dev/null +++ b/html/globals_enum.html @@ -0,0 +1,89 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: File Members + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/html/globals_eval.html b/html/globals_eval.html new file mode 100644 index 0000000..86ebb19 --- /dev/null +++ b/html/globals_eval.html @@ -0,0 +1,143 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: File Members + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/html/index.html b/html/index.html new file mode 100644 index 0000000..db437e6 --- /dev/null +++ b/html/index.html @@ -0,0 +1,86 @@ + + + + + + + +Adafruit BQ25628E Arduino Library: Adafruit BQ25628E I2C Battery Charger + + + + + + + + + +
+
+ + + + + + +
+
Adafruit BQ25628E Arduino Library +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Adafruit BQ25628E I2C Battery Charger
+
+
+

+Introduction

+

This is a library for the BQ25628E I2C Battery Charger

+

Designed specifically to work with the Adafruit BQ25628E Breakout -—> http://www.adafruit.com/products/

+

Pick one up today in the adafruit shop!

+

These chips use I2C to communicate, 2 pins are required to interface.

+

Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!

+

+Author

+

Limor 'ladyada' Fried with assistance from Claude Code

+

+License

+

MIT (see license.txt)

+
+ + + + diff --git a/html/jquery.js b/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('