### BQ28Z610 Driver Start Message Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/globals_8h_source.html Defines the constant string for the initial message displayed when the BQ28Z610 driver starts. Includes license and copyright information. ```c++ const char START_MESSAGE[] PROGMEM = "\n============ START: [BQ28Z610 Driver] ============\nLicense: MIT License\nCopyright (c) 2024 Oleksii Sylichenko\n==================================================\n"; ``` -------------------------------- ### Read Firmware Version Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the firmware version from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Firmware Version:"); Serial.print(readFirmwareVersion()); ``` -------------------------------- ### Read Hardware Version Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the hardware version from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Hardware Version:"); Serial.print(readHardwareVersion()); ``` -------------------------------- ### Read Device Name Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the device name from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Device Name:"); Serial.print(readDeviceName()); ``` -------------------------------- ### Read Battery Pack Configuration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack configuration from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Configuration:"); Serial.print(readBatteryPackConfiguration()); ``` -------------------------------- ### Print Data Flash Dump Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of printing a dump of the entire Data Flash content using the BQ28Z610 driver. Requires the device to be in an UNSEALED state. ```Arduino Serial.println("Data Flash Dump:"); Serial.print(printDataFlashDump()); ``` -------------------------------- ### Read Data Flash String Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading data from the Data Flash in String format. Requires the device to be in an UNSEALED state. ```Arduino Serial.println("Data Flash (String):"); Serial.print(readDataFlashString(0x4000)); ``` -------------------------------- ### Read and Print Data Flash by Name Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading a specific named value from the Data Flash using the BQ28Z610 driver. Requires the device to be in an UNSEALED state. ```Arduino Serial.println("Data Flash (e.g. RaTable):"); Serial.print(readDataFlashByName("RaTable")); ``` -------------------------------- ### Read and Print Battery Pack Configuration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery pack configuration using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Pack Configuration:"); Serial.print(readPackConfiguration()); ``` -------------------------------- ### Read Battery Pack Capacity Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack capacity from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Capacity:"); Serial.print(readBatteryPackCapacity()); ``` -------------------------------- ### Read Battery Temperature Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery temperature calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Temperature Calibration:"); Serial.print(readBatteryTemperatureCalibration()); ``` -------------------------------- ### Read Battery Capacity Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery capacity calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Capacity Calibration:"); Serial.print(readBatteryCapacityCalibration()); ``` -------------------------------- ### Read Data Flash Word Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading a word (2 bytes) from the Data Flash at a specified address. Requires the device to be in an UNSEALED state. ```Arduino Serial.println("Data Flash (word):"); Serial.print(readDataFlashWord(0x4000)); ``` -------------------------------- ### Read Battery Pack Configuration Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack configuration calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Configuration Calibration:"); Serial.print(readBatteryPackConfigurationCalibration()); ``` -------------------------------- ### Read Battery Voltage Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery voltage calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Voltage Calibration:"); Serial.print(readBatteryVoltageCalibration()); ``` -------------------------------- ### Write Data Flash by Name Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of writing a value to a named entry in the Data Flash using the BQ28Z610 driver. Requires the device to be in an UNSEALED state. Note that some addresses may be prohibited from writing. ```Arduino Serial.println("Write Data Flash (e.g. RaTable):"); Serial.print(writeDataFlashByName("RaTable", "0x0102")); ``` -------------------------------- ### Read and Print Battery Time to Full Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery time to full using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Time to Full:"); Serial.print(readTimeToFull()); Serial.println(" min"); ``` -------------------------------- ### learningCycleInit Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8h_source.html Initializes the Gas Gauging Device with learning cycle parameters. ```APIDOC ## learningCycleInit ### Description Initializes the Gas Gauging Device with learning cycle parameters. ### Method void ### Endpoint N/A (Function Call) ### Parameters - **designCapacityMah** (int) - The design capacity in mAh. - **designEnergyCwh** (int) - The design energy in cWh. - **qMaxCell0** (word) - The Qmax value for cell 0. - **qMaxCell1** (word) - The Qmax value for cell 1. - **cycleCount** (word) - The current cycle count. ``` -------------------------------- ### Initialize Learning Cycle Parameters Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8cpp.html Writes initial parameters to the Gas Gauging Device's Data Flash to set up the learning cycle. This includes design capacity, energy, Qmax values, and cycle count. ```cpp void learningCycleInit ( int _designCapacityMah_, int _designEnergyCwh_, word _qMaxCell0_, word _qMaxCell1_, word _cycleCount_ ) ``` -------------------------------- ### Checksum Calculation Example Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8h.html Illustrates the calculation of a checksum as the bitwise inversion of the sum of bytes. This example shows the expected calculation for a given set of bytes. ```c ~(0x35 + 0x00 + 0x23 + 0x01 + 0x67 + 0x45 + 0xAB + 0x89 + 0xEF + 0xCD) = ~(0xF5) = ~(0b11110101) = 0b00001010 = 0x0A ``` -------------------------------- ### composeWord Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8h_source.html Composes a word (2 bytes) from a byte buffer, with options for byte order and starting index. ```APIDOC ## composeWord ### Description Composes a word (2 bytes) from a byte buffer. ### Method `word composeWord(byte *buf, int lowerByteIndex = 0, bool littleEndian = true)` ### Parameters * `buf` (byte*) - The byte buffer to compose the word from. * `lowerByteIndex` (int) - The index of the lower byte in the buffer (default is 0). * `littleEndian` (bool) - Specifies if the byte order is little-endian (default is true). ``` -------------------------------- ### fullAccessDevice(u32 _key_) Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8cpp.html Transitions the device from UNSEALED to FULL ACCESS mode using a provided key. ```APIDOC ## fullAccessDevice(u32 _key_) ### Description Transitions the device from UNSEALED to FULL ACCESS mode. ### Parameters #### Path Parameters - **_key_** (u32) - Required - The key required to enter FULL ACCESS mode. ``` -------------------------------- ### fullAccessDevice Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8h.html Transitions the BQ28Z610 device from UNSEALED to FULL ACCESS state. Requires a security key. ```APIDOC ## fullAccessDevice ### Description Transitions the device from UNSEALED to FULL ACCESS state. ### Method (Not specified, likely a setter function) ### Endpoint (Not applicable for this SDK function) ### Parameters - **key** (u32) - Optional - The security key for full access. Defaults to DeviceSecurity::DEFAULT_FULL_ACCESS_KEY. ``` -------------------------------- ### Read Battery Status Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery status from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Status:"); Serial.print(readBatteryStatus()); ``` -------------------------------- ### Read Data Flash Array Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading an array of bytes (up to 32 bytes) from the Data Flash at a specified address. Requires the device to be in an UNSEALED state. ```Arduino Serial.println("Data Flash (array):"); Serial.print(readDataFlashArray(0x4000, 32)); ``` -------------------------------- ### Initialize Learning Cycle Parameters Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8h.html Writes initial parameters to the Gas Gauging Device's Data Flash to begin the learning cycle. This includes setting design capacity, energy, Qmax values, and cycle count. It also resets 'R_a flags' to default values. ```cpp void learningCycleInit ( int _designCapacityMah_, int _designEnergyCwh_, word _qMaxCell0_, word _qMaxCell1_, word _cycleCount_ ) ``` -------------------------------- ### Write Data Flash Word Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of writing a word (2 bytes) to the Data Flash at a specified address. Requires the device to be in an UNSEALED state. Note that some addresses may be prohibited from writing. ```Arduino Serial.println("Write Data Flash (word):"); Serial.print(writeDataFlashWord(0x4000, 0xAAAA)); ``` -------------------------------- ### learningCycleInit Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/globals_func_l.html Initializes the learning cycle for the BQ28Z610 fuel gauge. This function is declared in service.h and defined in service.cpp. ```APIDOC ## learningCycleInit() ### Description Initializes the learning cycle for the BQ28Z610 fuel gauge. ### Method Not specified (likely a C function call). ### Endpoint Not applicable (this is a library function). ### Parameters None explicitly documented. ### Response None explicitly documented. ``` -------------------------------- ### Read and Print Battery Nominal Available Capacity Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery nominal available capacity using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Nominal Available Capacity:"); Serial.print(readNominalAvailableCapacity()); Serial.println(" mAh"); ``` -------------------------------- ### fullAccessDevice Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8h_source.html Transitions the device from UNSEALED to FULL ACCESS mode using a provided key. ```APIDOC ## fullAccessDevice ### Description Transitions the device from UNSEALED to FULL ACCESS mode using a provided key. ### Method void ### Endpoint N/A (Function Call) ### Parameters - **key** (u32) - Optional. The key to unlock full access. Defaults to DeviceSecurity::DEFAULT_FULL_ACCESS_KEY. ``` -------------------------------- ### Read Manufacturer Name Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the manufacturer name from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Manufacturer Name:"); Serial.print(readManufacturerName()); ``` -------------------------------- ### learningCycleLog Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8h_source.html Prints important information for the Learning Cycle to the Serial port. ```APIDOC ## learningCycleLog ### Description Prints important information for the Learning Cycle to the Serial port. ### Method void ### Endpoint N/A (Function Call) ### Parameters None ### Response None (Prints log to serial output) ``` -------------------------------- ### Read Battery Pack Impedance Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack impedance from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Impedance:"); Serial.print(readBatteryPackImpedance()); ``` -------------------------------- ### fullAccessDevice Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/globals_func_f.html Enables full access to the BQ28Z610 device. This function is available in service.h and service.cpp. ```APIDOC ## fullAccessDevice() ### Description Enables full access to the BQ28Z610 device. ### Method Not specified in source. ### Endpoint Not specified in source. ### Parameters None specified in source. ### Request Example None specified in source. ### Response None specified in source. ``` -------------------------------- ### Read Battery Pack Lifetime Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack lifetime from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Lifetime:"); Serial.print(readBatteryPackLifetime()); ``` -------------------------------- ### Read Battery Pack Charge Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack charge from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Charge:"); Serial.print(readBatteryPackCharge()); ``` -------------------------------- ### Initialize Serial and I2C Interfaces Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md This code initializes the serial port and the I2C (Wire) interface. It includes a 5-second delay to prevent immediate execution upon reset. ```Arduino void setup() { // Wait 5 seconds to prevent launching the code when resetting while uploading new sketch to Arduino delay(5000); // Init Serial port Serial.begin(115200); while (!Serial) { ; // wait for serial port to connect. Needed for native USB } // Init Wire (I2C) interface Wire.begin(); } ``` -------------------------------- ### Read Battery Pack Current Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack current from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Current:"); Serial.print(readBatteryPackCurrent()); ``` -------------------------------- ### printBin() Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/globals_func_p.html Prints a value in binary format. ```APIDOC ## printBin() ### Description Prints a value in binary format. ### Method Not specified (likely a C++ function call). ### Endpoint Not applicable (Utility function). ### Parameters None specified. ### Response No specific return value is documented. Assumed to be a void function. ``` -------------------------------- ### Read Battery Pack Voltage Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack voltage from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Voltage:"); Serial.print(readBatteryPackVoltage()); ``` -------------------------------- ### AltManufacturerAccess (1/2) Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8cpp.html Sends a subcommand to the 0x3E AltManufacturerAccess register. This is a void function, indicating it's likely for commands that do not return data directly. ```APIDOC ## AltManufacturerAccess (1/2) ### Description Sends a subcommand to the 0x3E AltManufacturerAccess register. This function is used for commands that do not require a return value. ### Method void ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Parameters - **_MACSubcmd_** (word) - Description of the subcommand to be sent. ``` -------------------------------- ### Read Battery Impedance Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery impedance calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Impedance Calibration:"); Serial.print(readBatteryImpedanceCalibration()); ``` -------------------------------- ### unsealDevice Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8h.html Transitions the BQ28Z610 device from SEALED to UNSEALED state. Requires a security key. ```APIDOC ## unsealDevice ### Description Transitions the device from SEALED to UNSEALED state. ### Method (Not specified, likely a setter function) ### Endpoint (Not applicable for this SDK function) ### Parameters - **key** (u32) - Optional - The security key to unseal the device. Defaults to DeviceSecurity::DEFAULT_UNSEAL_KEY. ``` -------------------------------- ### FirmwareVersion() Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8cpp.html Retrieves the firmware version of the IC. The version is returned in a specific format (ddDDvvVVbbBBTTzzZZRREE) via MACData(). ```APIDOC ## FirmwareVersion() ### Description Retrieves the firmware version of the IC. The version is returned in a specific format (ddDDvvVVbbBBTTzzZZRREE) via MACData(). Format: * ddDD: Device Number * vvVV: Version * bbBB: build number * ttTT: Firmware type * zzZZ: Impedance Track Version * RR: Reserved * EE: Reserved ### Return values JBL * Device Number: 0x2610 * Version: 0x0017 * Build number: 0x0016 * Firmware type: 0x00 * Impedance Track Version: 0x0385 ``` -------------------------------- ### Read Battery Lifetime Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery lifetime calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Lifetime Calibration:"); Serial.print(readBatteryLifetimeCalibration()); ``` -------------------------------- ### dfReadFetOptions Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/data__flash__access_8h_source.html Reads the FET options byte from flash memory. ```APIDOC ## dfReadFetOptions ### Description Reads the FET options byte from flash memory. ### Method byte ### Parameters None ``` -------------------------------- ### Read Battery Charge Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery charge calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Charge Calibration:"); Serial.print(readBatteryChargeCalibration()); ``` -------------------------------- ### unsealDevice Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8cpp.html Transitions the device from SEALED to UNSEALED state using a provided key. ```APIDOC ## unsealDevice ### Description Transitions the device from SEALED to UNSEALED state. This corresponds to section 9.5.2 of the device's technical reference. ### Method N/A (Function call) ### Parameters - **key** (u32) - Required - The key required to unseal the device. ### Response None ``` -------------------------------- ### HardwareVersion Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8h_source.html Retrieves the hardware version of the device. This corresponds to AltManufacturerAccess command 0x0003. ```APIDOC ## HardwareVersion ### Description Retrieves the hardware version of the device. This corresponds to AltManufacturerAccess command 0x0003. ### Method `word HardwareVersion()` ### Returns - `word`: The hardware version of the device. ``` -------------------------------- ### Read Battery Current Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery current calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Current Calibration:"); Serial.print(readBatteryCurrentCalibration()); ``` -------------------------------- ### ITStatus3() Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8cpp.html Retrieves 20 bytes of Impedance Track (IT) data values. This command returns specific IT data including QMax and thermal model parameters. ```APIDOC ## ITStatus3() ### Description Retrieves 20 bytes of Impedance Track (IT) data values. This command returns specific IT data including QMax and thermal model parameters. ### Method AltManufacturerAccess(0x0075) ### Returns 20 bytes of IT data values on MACData() in the following format: aaAAbbBBccCCddDDeeEEffFFggGGhhHHIiiIIjjJJ - AAaa: QMax 1. QMax of Cell 1 - BBbb: QMax 2. QMax of Cell 2 - CCcc: QMaxDOD0_1. Cell 1 DOD for Qmax - DDdd: QMaxDOD0_2. Cell 2 DOD for Qmax - EEee: QMaxPassedQ. Passed charge since DOD for Qmax recorded (mAh) - FFff: QMaxTime. Time since DOD for Qmax recorded (hour / 16 units) - GGgg: Tk. Thermal model “k” - HHhh: Ta. Thermal model “a” - IIii: RawDOD0_1. Cell 1 raw DOD0 measurement - JJjj: RawDOD0_2. Cell 2 raw DOD0 measurement ``` -------------------------------- ### Get Overcurrent in Charge Threshold Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8cpp.html Retrieves the overcurrent in charge trip threshold. This value is used for protection against excessive current during charging. ```cpp int getOccThreshold ( ) ``` -------------------------------- ### HardwareVersion() Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8cpp.html Retrieves the hardware version of the IC. The hardware revision is read from MACData(). ```APIDOC ## HardwareVersion() ### Description Retrieves the hardware version of the IC. The hardware revision is read from MACData(). ### Returns word hardware revision ``` -------------------------------- ### Compose Value from Byte Array Segment Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8h_source.html Function to compose a 32-bit value from a segment of a byte array, specified by start and end indices. ```c++ u32 composeValue(byte *buf, int from, int till); ``` -------------------------------- ### Compose Word from Byte Array Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8h_source.html Function to compose a word (16-bit integer) from a byte array, with options for byte order and starting index. ```c++ word composeWord(byte *buf, int lowerByteIndex = 0, bool littleEndian = true); ``` -------------------------------- ### ITStatus3() Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8h.html Retrieves 20 bytes of IT data values, including QMax for both cells, QMax related to Depth of Discharge (DOD0), and thermal model parameters. ```APIDOC ## ITStatus3() ### Description Retrieves 20 bytes of IT data values on MACData() in the following format: aaAAbbBBccCCddDDeeEEffFFggGGhhHHIiiIIjjJJ. This function provides detailed information about the QMax values for each cell, their associated DOD0, and parameters for the thermal model. ### Method [Implicitly via AltManufacturerAccess] ### Endpoint [Implicitly via AltManufacturerAccess] ### Parameters #### Return Value - **retval** (byte*) - Pointer to a buffer that will be filled with 20 bytes of IT data. ### Response #### Success Response - **AAaa** (int) - QMax 1. QMax of Cell 1. - **BBbb** (int) - QMax 2. QMax of Cell 2. - **CCcc** (int) - QMaxDOD0_1. Cell 1 DOD for Qmax. - **DDdd** (int) - QMaxDOD0_2. Cell 2 DOD for Qmax. - **EEee** (int) - QMaxPassedQ. Passed charge since DOD for Qmax recorded (mAh). - **FFff** (int) - QMaxTime. Time since DOD for Qmax recorded (hour / 16 units). - **GGgg** (int) - Tk. Thermal model “k”. - **HHhh** (int) - Ta. Thermal model “a”. - **IIii** (int) - RawDOD0_1. Cell 1 raw DOD0 measurement. - **JJjj** (int) - RawDOD0_2. Cell 2 raw DOD0 measurement. ``` -------------------------------- ### Gauging Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8h_source.html Initiates the gauging process. This corresponds to AltManufacturerAccess command 0x0021. ```APIDOC ## Gauging ### Description Initiates the gauging process. This corresponds to AltManufacturerAccess command 0x0021. ### Method `void Gauging()` ### Returns None. ``` -------------------------------- ### Gauging() Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/globals_func_g.html Initiates or manages the battery gauging process. This function is typically used to start or check the status of the fuel gauge's calculations. ```APIDOC ## Gauging() ### Description Initiates or manages the battery gauging process. This function is typically used to start or check the status of the fuel gauge's calculations. ### Method Not specified (likely a function call within the driver). ### Endpoint Not applicable (this is a function within a library). ### Parameters None explicitly documented. ### Response Return type and specific success/error responses are not detailed in the provided source. ``` -------------------------------- ### Read Battery Pack Coulomb Counter Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack coulomb counter from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Coulomb Counter:"); Serial.print(readBatteryPackCoulombCounter()); ``` -------------------------------- ### printInteger() (3 overloads) Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8cpp.html Provides three overloads for printing integer values with optional units and captions, offering flexibility in output formatting. ```APIDOC ## void printInteger(int value, PGM_P units, bool newLine = `false`) ### Description Prints in the format: "value units". ### Parameters #### Path Parameters - **value** (int) - Description not available - **units** (PGM_P) - Description not available - **newLine** (bool) - Description not available (default: `false`) ``` ```APIDOC ## void printInteger(PGM_P caption, int value, bool newLine = `true`) ### Description Prints in the format: "Caption: value". ### Parameters #### Path Parameters - **caption** (PGM_P) - Description not available - **value** (int) - Description not available - **newLine** (bool) - Description not available (default: `true`) ``` ```APIDOC ## void printInteger(PGM_P caption, int value, PGM_P units, bool newLine = `true`) ### Description Prints in the format: "Caption: value units". ### Parameters #### Path Parameters - **caption** (PGM_P) - Description not available - **value** (int) - Description not available - **units** (PGM_P) - Description not available - **newLine** (bool) - Description not available (default: `true`) ``` -------------------------------- ### Print Premil with Caption and Units Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8h.html Prints a value in permil (parts per thousand) with a caption and units. Overloaded to accept a function pointer for units. ```c++ void printPremil (PGM_P caption, int value, PGM_P units) ``` ```c++ void printPremil (PGM_P caption, int value, PGM_P (*unitsFn)()) ``` -------------------------------- ### Read Data Flash Single Byte Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading a single byte from the Data Flash at a specified address. Requires the device to be in an UNSEALED state. ```Arduino Serial.println("Data Flash (single byte):"); Serial.print(readDataFlashByte(0x4000)); ``` -------------------------------- ### Log Learning Cycle Data Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8cpp.html Prints important information for the learning cycle to the serial port. This includes various voltage, current, temperature, and state of charge readings, along with QMax values and status updates. ```cpp void learningCycleLog ( ) ``` -------------------------------- ### Learning Cycle Functions Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/service_8h_source.html Functions related to the battery learning cycle initialization and logging. ```APIDOC ## learningCycleInit ### Description Initializes the learning cycle with specified design parameters. ### Method `void learningCycleInit(int designCapacityMah, int designEnergyCwh, word qMaxCell0, word qMaxCell1, word cycleCount)` ### Parameters * **designCapacityMah** (int) - The design capacity in mAh. * **designEnergyCwh** (int) - The design energy in cWh. * **qMaxCell0** (word) - The Qmax value for cell 0. * **qMaxCell1** (word) - The Qmax value for cell 1. * **cycleCount** (word) - The current cycle count. ## learningCycleLog ### Description Logs the current state of the learning cycle. ### Method `void learningCycleLog()` ``` -------------------------------- ### Read Battery Pack Impedance Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack impedance calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Impedance Calibration:"); Serial.print(readBatteryPackImpedanceCalibration()); ``` -------------------------------- ### FirmwareVersion Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8h_source.html Retrieves the firmware version of the device. This corresponds to AltManufacturerAccess command 0x0002. ```APIDOC ## FirmwareVersion ### Description Retrieves the firmware version of the device. This corresponds to AltManufacturerAccess command 0x0002. ### Method `void FirmwareVersion()` ### Returns None. ``` -------------------------------- ### Read Battery Pack Lifetime Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack lifetime calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Lifetime Calibration:"); Serial.print(readBatteryPackLifetimeCalibration()); ``` -------------------------------- ### DAStatus1() [2/2] Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8h.html Retrieves 32 bytes of data related to various status and power metrics from MACData(). ```APIDOC ## DAStatus1() [2/2] ### Description Returns 32 bytes of data on MACData() in the following format: aaAAbbBBccCCddDDeeEEffFFggGGhhHHiiIIjjJJkkKKllLLmmMMnnNNooOOppPP. This data includes Cell Voltage 1 & 2, BAT Voltage, PACK Voltage, Cell Current 1 & 2, Cell Power 1 & 2, and Average Power. ### Method void ### Endpoint AltManufacturerAccess() (0x0071) ### Returns 32 bytes of data on MACData() in the following format: * AAaa: Cell Voltage 1 * BBbb: Cell Voltage 2 * CCcc: * DDdd: * EEee: BAT Voltage. Voltage at the VC2 (BAT) terminal * FFff: PACK Voltage * GGgg: Cell Current 1. Simultaneous current measured during Cell Voltage1 measurement * HHhh: Cell Current 2. Simultaneous current measured during Cell Voltage2 measurement * IIii: * JJjj: * KKkk: Cell Power 1. Calculated using Cell Voltage1 and Cell Current 1 data * LLll: Cell Power 2. Calculated using Cell Voltage2 and Cell Current 2 data * MMmm: * NNnn: * OOoo: Power calculated by [Voltage()](std__data__commands_8cpp.html#aed0ec659e0cca636a716c482db4f560d "12.1.5 0x08/09 Voltage") × [Current()](std__data__commands_8cpp.html#ac56c1d075bdc355c84d8a341676a92c1 "12.1.7 0x0C/0D Current") * PPpp: Average Power. Calculated by [Voltage()](std__data__commands_8cpp.html#aed0ec659e0cca636a716c482db4f560d "12.1.5 0x08/09 Voltage") × [AverageCurrent()](std__data__commands_8cpp.html#ad2ecff5053257e61c28fbf42a48fff3e "12.1.11 0x14/15 AverageCurrent The value is updated every 1s. Units are mA.") ``` -------------------------------- ### Read Battery Pack Capacity Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack capacity calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Capacity Calibration:"); Serial.print(readBatteryPackCapacityCalibration()); ``` -------------------------------- ### DAStatus1 (2/2) Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8cpp.html Retrieves 32 bytes of data related to various voltage, current, and power measurements from MACData(). ```APIDOC ## DAStatus1(byte *retval) ### Description Returns 32 bytes of data on MACData() containing various electrical measurements. ### Method AltManufacturerAccess(0x0071) ### Returns byte*: 32 bytes of data with the following format: * AAaa: Cell Voltage 1 * BBbb: Cell Voltage 2 * CCcc: Reserved * DDdd: Reserved * EEee: BAT Voltage. Voltage at the VC2 (BAT) terminal * FFff: PACK Voltage * GGgg: Cell Current 1. Simultaneous current measured during Cell Voltage1 measurement * HHhh: Cell Current 2. Simultaneous current measured during Cell Voltage2 measurement * IIii: Reserved * JJjj: Reserved * KKkk: Cell Power 1. Calculated using Cell Voltage1 and Cell Current 1 data * LLll: Cell Power 2. Calculated using Cell Voltage2 and Cell Current 2 data * MMmm: Reserved * NNnn: Reserved * OOoo: Power calculated by Voltage() * Current() * PPpp: Average Power. Calculated by Voltage() * AverageCurrent() ``` -------------------------------- ### Read Battery Pack Charge Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack charge calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Charge Calibration:"); Serial.print(readBatteryPackChargeCalibration()); ``` -------------------------------- ### Read Battery Pack Current Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack current calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Current Calibration:"); Serial.print(readBatteryPackCurrentCalibration()); ``` -------------------------------- ### printBin Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8h.html Prints a value in binary format to the serial output. ```APIDOC ## printBin ### Description Prints a value in binary format to the serial output. ### Signature `void printBin(u32 val, int n, bool newLine=false)` ### Parameters * **val** (u32) - The unsigned 32-bit integer value to print. * **n** (int) - The number of bits to print. * **newLine** (bool, optional) - If `true`, a newline character is appended after printing. Defaults to `false`. ``` -------------------------------- ### Read Battery Pack Voltage Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack voltage calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Voltage Calibration:"); Serial.print(readBatteryPackVoltageCalibration()); ``` -------------------------------- ### sendCommand Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/globals_func_s.html Sends a command to the BQ28Z610 device. ```APIDOC ## sendCommand() ### Description Sends a generic command to the BQ28Z610 device. This is a utility function for low-level communication. ### Method Not specified (likely a function call within the Arduino environment). ### Endpoint N/A ### Parameters - **command** (type) - Required - The command to send. - **data** (type) - Optional - Data associated with the command. ### Request Example ```c++ sendCommand(command_code, command_data); ``` ### Response The result of the command execution. The exact return type is not specified. ### Response Example ```json // Response structure not detailed in source ``` ``` -------------------------------- ### PGM_PRINTLN Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8h.html Prints a string from program memory to the serial output, followed by a newline. ```APIDOC ## PGM_PRINTLN ### Description Prints a string from program memory to the serial output, followed by a newline. ### Macro `PGM_PRINTLN(s)` ### Parameters * **s** (string) - The string literal to print from program memory. ### Usage Similar to `PGM_PRINT`, but automatically appends a newline character after printing. ``` -------------------------------- ### Read Battery Coulomb Counter Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery coulomb counter calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Coulomb Counter Calibration:"); Serial.print(readBatteryCoulombCounterCalibration()); ``` -------------------------------- ### Read and Print Battery Data Flash Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing data from the Data Flash of the BQ28Z610 device. This requires the device to be in an UNSEALED state. ```Arduino Serial.println("Data Flash:"); Serial.print(readDataFlash()); ``` -------------------------------- ### printBin Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8h_source.html Prints a binary representation of an unsigned 32-bit integer. ```APIDOC ## printBin ### Description Prints the binary representation of an unsigned 32-bit integer. ### Method `void printBin(u32 val, int n, bool newLine = false)` ### Parameters * `val` (u32) - The unsigned 32-bit integer to print. * `n` (int) - The number of bits to print. * `newLine` (bool) - Whether to append a newline character after printing (default is false). ``` -------------------------------- ### Read and Print Battery Lifetime Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery lifetime using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Lifetime:"); Serial.print(readLifetime()); ``` -------------------------------- ### Read and Print Battery Impedance Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery impedance using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Impedance:"); Serial.print(readImpedance()); ``` -------------------------------- ### HardwareVersion Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8h_source.html Retrieves the hardware version of the BQ28Z610 fuel gauge. ```APIDOC ## HardwareVersion ### Description Gets the hardware version of the BQ28Z610 fuel gauge. ### Signature `word HardwareVersion()` ### Returns * (word) - The hardware version. ``` -------------------------------- ### Read and Print Battery Voltage Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/md__r_e_a_d_m_e.html Example of reading the battery voltage using a function from the standard data commands section and printing it to the serial port. ```Arduino // Example of calling read and print functions from different sections Serial.println("Battery Voltage:"); Serial.println(readVoltage()); ``` -------------------------------- ### Read and Print Battery Current Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery current using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Current:"); Serial.print(readCurrent()); Serial.println(" mA"); ``` -------------------------------- ### SealDevice Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8h_source.html Initiates the device sealing process. This corresponds to AltManufacturerAccess command 0x0030. ```APIDOC ## SealDevice ### Description Initiates the device sealing process. This corresponds to AltManufacturerAccess command 0x0030. ### Method `void SealDevice()` ### Returns None. ``` -------------------------------- ### DEVICE_NAME Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/class_d_f___a_d_d_r.html Stores the name or model of the device. ```APIDOC ## DEVICE_NAME ### Description Stores the name or model of the device. ### Address `0x4080` ### Return Values * **JBL:** `ID1019-A-M26-28z610` ``` -------------------------------- ### Read and Print Battery Temperature Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery temperature using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Temperature:"); Serial.print(readTemperature()); Serial.println(" C"); ``` -------------------------------- ### stringFromProgmem() Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8cpp.html Reads a string from program memory (PROGMEM) and returns it as a standard String object in RAM. ```APIDOC ## String stringFromProgmem(PGM_P stringPtr) ### Description Read string from PROGMEM and return as String in RAM. ### Parameters #### Path Parameters - **stringPtr** (PGM_P) - Description not available ``` -------------------------------- ### Read and Print Battery Voltage Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery voltage using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Voltage:"); Serial.print(readVoltage()); Serial.println(" mV"); ``` -------------------------------- ### PFStatus Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8h_source.html Retrieves the PFStatus of the device. This corresponds to AltManufacturerAccess command 0x0053. ```APIDOC ## PFStatus ### Description Retrieves the PFStatus of the device. This corresponds to AltManufacturerAccess command 0x0053. ### Method `u32 PFStatus()` ### Returns - `u32`: The PFStatus. ``` -------------------------------- ### dfWriteSocFlagConfigA Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/data__flash__access_8h_source.html Writes the SOC flag configuration A word to flash memory. ```APIDOC ## dfWriteSocFlagConfigA ### Description Writes the SOC flag configuration A word to flash memory. ### Method void ### Parameters #### Path Parameters - **socFlagConfigA** (word) - Description: The SOC flag configuration A value to write. ``` -------------------------------- ### DAStatus1 (with retval) Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8cpp.html Retrieves DAStatus1 and stores it in the provided byte array. This function is associated with AltManufacturerAccess command 0x0071. ```APIDOC ## DAStatus1 (with retval) ### Description Retrieves DAStatus1 and stores it in the provided byte array. This function is associated with AltManufacturerAccess command 0x0071. ### Method void ### Endpoint N/A (Function Call) ### Parameters - **retval** (byte *) - Pointer to a byte array to store the status. ### Response None ``` -------------------------------- ### Read and Print Battery Charge Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery charge level using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Charge:"); Serial.print(readCharge()); Serial.println(" mAh"); ``` -------------------------------- ### AltManufacturerAccess (Write/Control) Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8cpp.html This function is used to send commands to the device for control operations. It supports subcommands for device reset and FET control. ```APIDOC ## AltManufacturerAccess (Write/Control) ### Description Sends commands to the BQ28Z610 fuel gauge for control operations using manufacturer-specific commands (0x3E/0x3F). ### Function Signature `void AltManufacturerAccess(const word MACSubcmd)` ### Parameters * `MACSubcmd` (word): The manufacturer access subcommand to execute. ### Supported Subcommands: * `0x0012`: Device Reset * `0x001F`: Charge FET Control * `0x0020`: Discharge FET Control * `0x0021`: Gauging Control * `0x0022`: FET Control (General) * `0x0028`: Lifetime Data Reset ``` -------------------------------- ### Read Battery Pack Coulomb Counter Calibration Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading the battery pack coulomb counter calibration value from the BQ28Z610 device using the AltManufacturerAccess function. ```Arduino Serial.println("Battery Pack Coulomb Counter Calibration:"); Serial.print(readBatteryPackCoulombCounterCalibration()); ``` -------------------------------- ### FirmwareVersion Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/alt__manufacturer__access_8h.html Retrieves the firmware version of the IC. The revision is available on MACData(). ```APIDOC ## FirmwareVersion() ### Description Retrieves the firmware version of the IC. The revision is available on MACData(). ### Method void ### Endpoint N/A (Function Call) ### Parameters None ### Returns The firmware revision in the format ddDDvvVVbbBBTTzzZZRREE, where: * ddDD: Device Number * vvVV: Version * bbBB: build number * ttTT: Firmware type * zzZZ: Impedance Track Version * RR: Reserved * EE: Reserved ### Example Return Value * Device Number: 0x2610 * Version: 0x0017 * Build number: 0x0016 * Firmware type: 0x00 * Impedance Track Version: 0x0385 ``` -------------------------------- ### Device Security Key Constants Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/globals_8h_source.html Defines constants for default keys used for unsealing and full access to the BQ28Z610 device. ```c++ class DeviceSecurity { public: static const u32 DEFAULT_UNSEAL_KEY = 0x36720414; static const u32 DEFAULT_FULL_ACCESS_KEY = 0xFFFFFFFF; }; ``` -------------------------------- ### Read and Print Battery Cell Voltage Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery cell voltage using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Cell Voltage:"); Serial.print(readCellVoltage()); Serial.println(" mV"); ``` -------------------------------- ### requestBlock() Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/utils_8cpp.html Requests 36 bytes of data from the device using the Block Protocol, which includes address, data, checksum, and total length. ```APIDOC ## int requestBlock(byte * buf) ### Description Request the device for 36 bytes per multiple requests using the Block Protocol. * The first 2 bytes represent the requested address. * 32 bytes contain data. * 1 byte is allocated for the checksum. * 1 byte denotes the total length. ### Parameters #### Path Parameters - **buf** (byte *) - Description not available ``` -------------------------------- ### Read and Print Battery Internal Temperature Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery internal temperature using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Internal Temperature:"); Serial.print(readInternalTemperature()); Serial.println(" C"); ``` -------------------------------- ### Read and Print Battery Average Power Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/README.md Example of reading and printing the battery average power using the BQ28Z610 driver. This function is part of the standard data commands. ```Arduino Serial.println("Battery Average Power:"); Serial.print(readAveragePower()); Serial.println(" mW"); ``` -------------------------------- ### dfPrintRaTable Source: https://github.com/asilichenko/bq28z610-arduino-driver/blob/master/docs/html/data__flash__access_8h_source.html Prints the contents of the RA table from flash memory. ```APIDOC ## dfPrintRaTable ### Description Prints the contents of the RA table from flash memory. ### Method void ### Parameters None ```