From b45a1af9cfc9ad8e584450bf690c9ab27e7e7f1e Mon Sep 17 00:00:00 2001
From: schneider <schneider@blinkenlichts.net>
Date: Sun, 5 May 2019 22:23:03 +0200
Subject: [PATCH] fix(MAX77651): Make it a C library

---
 ...Library.cpp => MAX77650-Arduino-Library.c} | 737 ++++++++----------
 .../MAX77650-Arduino-Library.h                | 437 +++++------
 2 files changed, 551 insertions(+), 623 deletions(-)
 rename lib/maxim/MAX77650-Arduino-Library/{MAX77650-Arduino-Library.cpp => MAX77650-Arduino-Library.c} (60%)

diff --git a/lib/maxim/MAX77650-Arduino-Library/MAX77650-Arduino-Library.cpp b/lib/maxim/MAX77650-Arduino-Library/MAX77650-Arduino-Library.c
similarity index 60%
rename from lib/maxim/MAX77650-Arduino-Library/MAX77650-Arduino-Library.cpp
rename to lib/maxim/MAX77650-Arduino-Library/MAX77650-Arduino-Library.c
index 3fa4edd9..967a2d57 100644
--- a/lib/maxim/MAX77650-Arduino-Library/MAX77650-Arduino-Library.cpp
+++ b/lib/maxim/MAX77650-Arduino-Library/MAX77650-Arduino-Library.c
@@ -28,10 +28,10 @@
 * trademarks, maskwork rights, or any other form of intellectual
 * property whatsoever. Maxim Integrated Products, Inc. retains all
 * ownership rights.
-* 
-* Authors: 
+*
+* Authors:
 * Ole Dreessen; ole.dreessen@maximintegrated.com
-* 
+*
 **********************************************************************/
 
 
@@ -40,567 +40,500 @@
 
 
 /**********************************************************************
-*@brief MAX77650 - The MAX77650/MAX77651 provide highly-integrated battery charging and 
-*power supply solutions for low-power wearable applications where size and efficiency 
-*are critical. Both devices feature a SIMO buck-boost regulator that provides three 
-*independently programmable power rails from a single inductor to minimize total solution 
-*size. A 150mA LDO provides ripple rejection for audio and other noise-sensitive applications. 
-*A highly configurable linear charger supports a wide range of Li+ battery capacities and 
+*@brief MAX77650 - The MAX77650/MAX77651 provide highly-integrated battery charging and
+*power supply solutions for low-power wearable applications where size and efficiency
+*are critical. Both devices feature a SIMO buck-boost regulator that provides three
+*independently programmable power rails from a single inductor to minimize total solution
+*size. A 150mA LDO provides ripple rejection for audio and other noise-sensitive applications.
+*A highly configurable linear charger supports a wide range of Li+ battery capacities and
 *includes battery temperature monitoring for additional safety (JEITA).
 *
-*The devices include other features such as current sinks for driving LED indicators and 
-*an analog multiplexer that switches several internal voltage and current signals to an 
-*external node for monitoring with an external ADC. A bidirectional I2C interface allows 
-*for configuring and checking the status of the devices. An internal on/off controller 
-*provides a controlled startup sequence for the regulators and provides supervisory 
-*functionality when the devices are on. Numerous factory programmable options allow the 
+*The devices include other features such as current sinks for driving LED indicators and
+*an analog multiplexer that switches several internal voltage and current signals to an
+*external node for monitoring with an external ADC. A bidirectional I2C interface allows
+*for configuring and checking the status of the devices. An internal on/off controller
+*provides a controlled startup sequence for the regulators and provides supervisory
+*functionality when the devices are on. Numerous factory programmable options allow the
 *device to be tailored for many applications, enabling faster time to market.
 *
 *Ressources can be found at
 *https://www.maximintegrated.com/en/products/power/battery-management/MAX77650.html
 *https://www.maximintegrated.com/en/app-notes/index.mvp/id/6428
 **********************************************************************/
-   
-   
-boolean MAX77650_init(void){
-   Serial.println(MAX77650_I2C_port);
-   //Init I2C Interface 
-    #if  MAX77650_I2C_port == 0
-	 Wire.begin();
-	#elif MAX77650_I2C_port == 1
-	 Wire1.begin();
-	#elif MAX77650_I2C_port == 2
-	 Wire2.begin();		
-	#else   
-	 Wire.begin();
-	#endif  
-}
 
 int MAX77650_read_register(int ADDR){
-  int retval = -1;   
-    #if  MAX77650_I2C_port == 0
+#if 0
+    int retval = -1;
     Wire.beginTransmission(MAX77650_ADDR);
     Wire.write(ADDR);
     Wire.endTransmission();
     Wire.requestFrom(MAX77650_ADDR,1);
     if (Wire.available()<=1)
-     retval = (Wire.read());  	
-	#elif MAX77650_I2C_port == 1
-    Wire1.beginTransmission(MAX77650_ADDR);
-    Wire1.write(ADDR);
-    Wire1.endTransmission();
-    Wire1.requestFrom(MAX77650_ADDR,1);
-    if (Wire1.available()<=1)
-     retval = (Wire1.read());
-	#elif MAX77650_I2C_port == 2
-    Wire2.beginTransmission(MAX77650_ADDR);
-    Wire2.write(ADDR);
-    Wire2.endTransmission();
-    Wire2.requestFrom(MAX77650_ADDR,1);
-    if (Wire2.available()<=1)
-     retval = (Wire2.read());   
-	#else  
+        retval = (Wire.read());
+#endif
+}
+
+uint8_t MAX77650_write_register(int ADDR, int data){
+#if 0
+    int retval = -1;
     Wire.beginTransmission(MAX77650_ADDR);
     Wire.write(ADDR);
+    Wire.write(data);
     Wire.endTransmission();
-    Wire.requestFrom(MAX77650_ADDR,1);
-    if (Wire.available()<=1)
-     retval = (Wire.read());  	
-	#endif 
-}
-
-byte MAX77650_write_register(int ADDR, int data){
-  int retval = -1;   
-  if (MAX77650_I2C_port == 0){  
-   Wire.beginTransmission(MAX77650_ADDR);
-   Wire.write(ADDR); 
-   Wire.write(data); 
-   Wire.endTransmission();
-  }  
-  if (MAX77650_I2C_port == 1){  
-   Wire1.beginTransmission(MAX77650_ADDR);
-   Wire1.write(ADDR); 
-   Wire1.write(data); 
-   Wire1.endTransmission();
-  }  
-  if (MAX77650_I2C_port == 2){  
-   Wire2.beginTransmission(MAX77650_ADDR);
-   Wire2.write(ADDR); 
-   Wire2.write(data); 
-   Wire2.endTransmission();
-  }
-
-    #if  MAX77650_I2C_port == 0
-    Wire.beginTransmission(MAX77650_ADDR);
-    Wire.write(ADDR); 
-    Wire.write(data); 
-    Wire.endTransmission();
-	#elif MAX77650_I2C_port == 1
-    Wire1.beginTransmission(MAX77650_ADDR);
-    Wire1.write(ADDR); 
-    Wire1.write(data); 
-    Wire1.endTransmission();
-	#elif MAX77650_I2C_port == 2
-    Wire2.beginTransmission(MAX77650_ADDR);
-    Wire2.write(ADDR); 
-    Wire2.write(data); 
-    Wire2.endTransmission();
-	#else   
+
     Wire.beginTransmission(MAX77650_ADDR);
-    Wire.write(ADDR); 
-    Wire.write(data); 
+    Wire.write(ADDR);
+    Wire.write(data);
     Wire.endTransmission();
-	#endif    
-  
-  
+#endif
 }
 
-boolean MAX77650_getDIDM(void){
-  return ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 6) & 0b00000011);   
+bool MAX77650_getDIDM(void){
+  return ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 6) & 0b00000011);
 }
 
-boolean MAX77650_getLDO_DropoutDetector(void){ //Returns wheather the LDO is in Dropout or not; Return Value: 0=LDO is not in dropout; 1=LDO is in dropout
-  byte retval;
-  retval = ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 5) & 0b00000001);  
+bool MAX77650_getLDO_DropoutDetector(void){ //Returns wheather the LDO is in Dropout or not; Return Value: 0=LDO is not in dropout; 1=LDO is in dropout
+  uint8_t retval;
+  retval = ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 5) & 0b00000001);
   return retval;
 }
 
-boolean MAX77650_getThermalAlarm1(void){ //Returns Thermal Alarm (TJA1 limit); Return Value: 0=Tj<TJA1; 1=Tj>TJA1
-  return ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 3) & 0b00000001);  
+bool MAX77650_getThermalAlarm1(void){ //Returns Thermal Alarm (TJA1 limit); Return Value: 0=Tj<TJA1; 1=Tj>TJA1
+  return ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 3) & 0b00000001);
 }
 
-boolean MAX77650_getThermalAlarm2(void){ //Returns Therma2 Alarm (TJA2 limit); Return Value: 0=Tj<TJA2; 1=Tj>TJA2
-  return ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 4) & 0b00000001);  
+bool MAX77650_getThermalAlarm2(void){ //Returns Therma2 Alarm (TJA2 limit); Return Value: 0=Tj<TJA2; 1=Tj>TJA2
+  return ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 4) & 0b00000001);
 }
 
-boolean MAX77650_getDebounceStatusnEN0(void){ //Returns Debounced Status of nEN input; Return Value: 0=nEN0 is not active; 1=nEN0 is active
-  return ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 2) & 0b00000001);  
+bool MAX77650_getDebounceStatusnEN0(void){ //Returns Debounced Status of nEN input; Return Value: 0=nEN0 is not active; 1=nEN0 is active
+  return ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 2) & 0b00000001);
 }
 
-boolean MAX77650_getDebounceStatusPWR_HLD(void){ //Returns Debounced Status of PWR_HLD input; Return Value: 0=logic low; 1=logic high
-  return ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 1) & 0b00000001);  
+bool MAX77650_getDebounceStatusPWR_HLD(void){ //Returns Debounced Status of PWR_HLD input; Return Value: 0=logic low; 1=logic high
+  return ((MAX77650_read_register(MAX77650_STAT_GLBL_ADDR) >> 1) & 0b00000001);
 }
 
-byte MAX77650_getERCFLAG(void){ //Returns the ERCFLAG Register 0x04
+uint8_t MAX77650_getERCFLAG(void){ //Returns the ERCFLAG Register 0x04
  return MAX77650_read_register(MAX77650_ERCFLAG_ADDR);
 }
 
-byte MAX77650_getChipID(void){ // Return Value regaring OTP parts of the MAX77650
-  return (MAX77650_read_register(MAX77650_CID_ADDR) & 0b00001111);      
+uint8_t MAX77650_getChipID(void){ // Return Value regaring OTP parts of the MAX77650
+  return (MAX77650_read_register(MAX77650_CID_ADDR) & 0b00001111);
 }
 
-boolean MAX77650_VCHGIN_MIN_STAT(void){ //Returns Minimum Input Voltage Regulation Loop Status; Return Value: 0=no event; 1=The minimum CHGIN voltage regulation loop has engaged to regulate VCHGIN >= VCHGIN-MIN
+bool MAX77650_VCHGIN_MIN_STAT(void){ //Returns Minimum Input Voltage Regulation Loop Status; Return Value: 0=no event; 1=The minimum CHGIN voltage regulation loop has engaged to regulate VCHGIN >= VCHGIN-MIN
   return ((MAX77650_read_register(MAX77650_STAT_CHG_A_ADDR) >> 6) & 0b00000001);
 }
 
-boolean MAX77650_getICHGIN_LIM_STAT(void){ //Returns Input Current Limit Loop Status; Return Value: 0=no event; 1=The CHGIN current limit loop has engaged to regulate ICHGIN <= ICHGIN-LIM
+bool MAX77650_getICHGIN_LIM_STAT(void){ //Returns Input Current Limit Loop Status; Return Value: 0=no event; 1=The CHGIN current limit loop has engaged to regulate ICHGIN <= ICHGIN-LIM
   return ((MAX77650_read_register(MAX77650_STAT_CHG_A_ADDR) >> 5) & 0b00000001);
 }
 
-boolean MAX77650_getVSYS_MIN_STAT(void){ //Returns Minimum System Voltage Regulation Loop Status; Return Value: 0=no event; 1=The minimum system voltage regulation loop is engaged to regulate VSYS >= VSYS-MIN
+bool MAX77650_getVSYS_MIN_STAT(void){ //Returns Minimum System Voltage Regulation Loop Status; Return Value: 0=no event; 1=The minimum system voltage regulation loop is engaged to regulate VSYS >= VSYS-MIN
   return ((MAX77650_read_register(MAX77650_STAT_CHG_A_ADDR) >> 4) & 0b00000001);
 }
 
-boolean MAX77650_getTJ_REG_STAT(void){ //Returns Maximum Junction Temperature Regulation Loop Status; Return Value: 0=no event; 1=The maximum junction temperature regulation loop has engaged to regulate the junction temperature less than TJ-REG
+bool MAX77650_getTJ_REG_STAT(void){ //Returns Maximum Junction Temperature Regulation Loop Status; Return Value: 0=no event; 1=The maximum junction temperature regulation loop has engaged to regulate the junction temperature less than TJ-REG
   return ((MAX77650_read_register(MAX77650_STAT_CHG_A_ADDR) >> 3) & 0b00000001);
 }
 
-byte MAX77650_getTHM_DTLS(void){ //Returns Battery Temperature Details; Return Value: Battery Temperature Details
+uint8_t MAX77650_getTHM_DTLS(void){ //Returns Battery Temperature Details; Return Value: Battery Temperature Details
   return (MAX77650_read_register(MAX77650_STAT_CHG_A_ADDR) & 0b00000111);
 }
 
-byte MAX77650_getCHG_DTLS(void){ //Returns Charger Details
-  return ((MAX77650_read_register(MAX77650_STAT_CHG_B_ADDR) >> 4) & 0b00001111);  
+uint8_t MAX77650_getCHG_DTLS(void){ //Returns Charger Details
+  return ((MAX77650_read_register(MAX77650_STAT_CHG_B_ADDR) >> 4) & 0b00001111);
 }
 
-byte MAX77650_getCHGIN_DTLS(void){ //Returns CHGIN Status Details
-  return ((MAX77650_read_register(MAX77650_STAT_CHG_B_ADDR) >> 2) & 0b00000011);  
+uint8_t MAX77650_getCHGIN_DTLS(void){ //Returns CHGIN Status Details
+  return ((MAX77650_read_register(MAX77650_STAT_CHG_B_ADDR) >> 2) & 0b00000011);
 }
 
-boolean MAX77650_getCHG(void){ //Returns Quick Charger Status
-  return ((MAX77650_read_register(MAX77650_STAT_CHG_B_ADDR) >> 1) & 0b00000001);    
+bool MAX77650_getCHG(void){ //Returns Quick Charger Status
+  return ((MAX77650_read_register(MAX77650_STAT_CHG_B_ADDR) >> 1) & 0b00000001);
 }
 
-boolean MAX77650_getTIME_SUS(void){ //Returns Time Suspend Indicator
-  return (MAX77650_read_register(MAX77650_STAT_CHG_B_ADDR) & 0b00000001);    
+bool MAX77650_getTIME_SUS(void){ //Returns Time Suspend Indicator
+  return (MAX77650_read_register(MAX77650_STAT_CHG_B_ADDR) & 0b00000001);
 }
 
 
 
-byte MAX77650_getLED_FS0(void){ //Returns LED0 Full Scale Range
-  return ((MAX77650_read_register(MAX77650_CNFG_LED0_A_ADDR) >> 6) & 0b00000011);      
+uint8_t MAX77650_getLED_FS0(void){ //Returns LED0 Full Scale Range
+  return ((MAX77650_read_register(MAX77650_CNFG_LED0_A_ADDR) >> 6) & 0b00000011);
 }
 
-boolean MAX77650_getINV_LED0(void){ //Returns LED0 Invert
-  return ((MAX77650_read_register(MAX77650_CNFG_LED0_A_ADDR) >> 5) & 0b00000001);      
+bool MAX77650_getINV_LED0(void){ //Returns LED0 Invert
+  return ((MAX77650_read_register(MAX77650_CNFG_LED0_A_ADDR) >> 5) & 0b00000001);
 }
 
-byte MAX77650_getBRT_LED0(void){ //Returns LED0 Brightness Control
-  return (MAX77650_read_register(MAX77650_CNFG_LED0_A_ADDR) & 0b00011111);      
+uint8_t MAX77650_getBRT_LED0(void){ //Returns LED0 Brightness Control
+  return (MAX77650_read_register(MAX77650_CNFG_LED0_A_ADDR) & 0b00011111);
 }
 
-byte MAX77650_getP_LED0(void){ //Returns LED0 Period Settings
-  return ((MAX77650_read_register(MAX77650_CNFG_LED0_B_ADDR) >> 4) & 0b00001111);      
+uint8_t MAX77650_getP_LED0(void){ //Returns LED0 Period Settings
+  return ((MAX77650_read_register(MAX77650_CNFG_LED0_B_ADDR) >> 4) & 0b00001111);
 }
 
-byte MAX77650_getD_LED0(void){ //Returns LED0 On Duty-Cycle Settings
-  return (MAX77650_read_register(MAX77650_CNFG_LED0_B_ADDR) & 0b00001111);     
+uint8_t MAX77650_getD_LED0(void){ //Returns LED0 On Duty-Cycle Settings
+  return (MAX77650_read_register(MAX77650_CNFG_LED0_B_ADDR) & 0b00001111);
 }
 
 
 
-byte MAX77650_getLED_FS1(void){ //Returns LED1 Full Scale Range
-  return ((MAX77650_read_register(MAX77650_CNFG_LED1_A_ADDR) >> 6) & 0b00000011);      
+uint8_t MAX77650_getLED_FS1(void){ //Returns LED1 Full Scale Range
+  return ((MAX77650_read_register(MAX77650_CNFG_LED1_A_ADDR) >> 6) & 0b00000011);
 }
 
-boolean MAX77650_getINV_LED1(void){ //Returns LED1 Invert
-  return ((MAX77650_read_register(MAX77650_CNFG_LED1_A_ADDR) >> 5) & 0b00000001);      
+bool MAX77650_getINV_LED1(void){ //Returns LED1 Invert
+  return ((MAX77650_read_register(MAX77650_CNFG_LED1_A_ADDR) >> 5) & 0b00000001);
 }
 
-byte MAX77650_getBRT_LED1(void){ //Returns LED1 Brightness Control
-  return (MAX77650_read_register(MAX77650_CNFG_LED1_A_ADDR) & 0b00011111);      
+uint8_t MAX77650_getBRT_LED1(void){ //Returns LED1 Brightness Control
+  return (MAX77650_read_register(MAX77650_CNFG_LED1_A_ADDR) & 0b00011111);
 }
 
-byte MAX77650_getP_LED1(void){ //Returns LED1 Period Settings
-  return ((MAX77650_read_register(MAX77650_CNFG_LED1_B_ADDR) >> 4) & 0b00001111);      
+uint8_t MAX77650_getP_LED1(void){ //Returns LED1 Period Settings
+  return ((MAX77650_read_register(MAX77650_CNFG_LED1_B_ADDR) >> 4) & 0b00001111);
 }
 
-byte MAX77650_getD_LED1(void){ //Returns LED1 On Duty-Cycle Settings
-  return (MAX77650_read_register(MAX77650_CNFG_LED1_B_ADDR) & 0b00001111);     
+uint8_t MAX77650_getD_LED1(void){ //Returns LED1 On Duty-Cycle Settings
+  return (MAX77650_read_register(MAX77650_CNFG_LED1_B_ADDR) & 0b00001111);
 }
 
-byte MAX77650_getLED_FS2(void){ //Returns LED0 Full Scale Range
-  return ((MAX77650_read_register(MAX77650_CNFG_LED2_A_ADDR) >> 6) & 0b00000011);      
+uint8_t MAX77650_getLED_FS2(void){ //Returns LED0 Full Scale Range
+  return ((MAX77650_read_register(MAX77650_CNFG_LED2_A_ADDR) >> 6) & 0b00000011);
 }
 
-boolean MAX77650_getINV_LED2(void){ //Returns LED2 Invert
-  return ((MAX77650_read_register(MAX77650_CNFG_LED2_A_ADDR) >> 5) & 0b00000001);      
+bool MAX77650_getINV_LED2(void){ //Returns LED2 Invert
+  return ((MAX77650_read_register(MAX77650_CNFG_LED2_A_ADDR) >> 5) & 0b00000001);
 }
 
-byte MAX77650_getBRT_LED2(void){ //Returns LED2 Brightness Control
-  return (MAX77650_read_register(MAX77650_CNFG_LED2_A_ADDR) & 0b00011111);      
+uint8_t MAX77650_getBRT_LED2(void){ //Returns LED2 Brightness Control
+  return (MAX77650_read_register(MAX77650_CNFG_LED2_A_ADDR) & 0b00011111);
 }
 
-byte MAX77650_getP_LED2(void){ //Returns LED2 Period Settings
-  return ((MAX77650_read_register(MAX77650_CNFG_LED2_B_ADDR) >> 4) & 0b00001111);      
+uint8_t MAX77650_getP_LED2(void){ //Returns LED2 Period Settings
+  return ((MAX77650_read_register(MAX77650_CNFG_LED2_B_ADDR) >> 4) & 0b00001111);
 }
 
-byte MAX77650_getD_LED2(void){ //Returns LED2 On Duty-Cycle Settings
-  return (MAX77650_read_register(MAX77650_CNFG_LED2_B_ADDR) & 0b00001111);     
+uint8_t MAX77650_getD_LED2(void){ //Returns LED2 On Duty-Cycle Settings
+  return (MAX77650_read_register(MAX77650_CNFG_LED2_B_ADDR) & 0b00001111);
 }
 
-boolean MAX77650_getBOK(void){ //Returns Main Bias Okay Status Bit
-  return ((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) >> 6) & 0b00000001);        
+bool MAX77650_getBOK(void){ //Returns Main Bias Okay Status Bit
+  return ((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) >> 6) & 0b00000001);
 }
 
-boolean MAX77650_getSBIA_LPM(void){ //Returns Main Bias Low-Power Mode software request
-  return ((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) >> 5) & 0b00000001);        
+bool MAX77650_getSBIA_LPM(void){ //Returns Main Bias Low-Power Mode software request
+  return ((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) >> 5) & 0b00000001);
 }
 
-boolean MAX77650_getSBIA_EN(void){ //Returns Main Bias Enable Software Request
-  return ((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) >> 4) & 0b00000001);        
+bool MAX77650_getSBIA_EN(void){ //Returns Main Bias Enable Software Request
+  return ((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) >> 4) & 0b00000001);
 }
 
-boolean MAX77650_getnEN_MODE(void){ //Returns nEN Input (ONKEY) Default Configuration Mode
-  return ((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) >> 3) & 0b00000001);          
+bool MAX77650_getnEN_MODE(void){ //Returns nEN Input (ONKEY) Default Configuration Mode
+  return ((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) >> 3) & 0b00000001);
 }
 
-boolean MAX77650_getDBEN_nEN(void){ //Returns Debounce Timer Enable for the nEN Pin
-  return ((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) >> 2) & 0b00000001);          
+bool MAX77650_getDBEN_nEN(void){ //Returns Debounce Timer Enable for the nEN Pin
+  return ((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) >> 2) & 0b00000001);
 }
 
-byte MAX77650_getSFT_RST(void){ //Returns Software Reset Functions.
-  return (MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) & 0b00000011);          
+uint8_t MAX77650_getSFT_RST(void){ //Returns Software Reset Functions.
+  return (MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) & 0b00000011);
 }
 
 
-byte MAX77650_getINT_GLBL(void){ //Returns Interrupt Status Register 0x00
-  return MAX77650_read_register(MAX77650_INT_GLBL_ADDR);          
+uint8_t MAX77650_getINT_GLBL(void){ //Returns Interrupt Status Register 0x00
+  return MAX77650_read_register(MAX77650_INT_GLBL_ADDR);
 }
 
-byte MAX77650_getINT_M_GLBL(void){ //Returns Global Interrupt Mask Register
-   return (MAX77650_read_register(MAX77650_INTM_GLBL_ADDR) & 0b01111111);  
+uint8_t MAX77650_getINT_M_GLBL(void){ //Returns Global Interrupt Mask Register
+   return (MAX77650_read_register(MAX77650_INTM_GLBL_ADDR) & 0b01111111);
 }
 
-boolean MAX77650_getDBEN_GPI(void){ //Returns General Purpose Input Debounce Timer Enable
-   return ((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) >> 4) & 0b00000001);  
+bool MAX77650_getDBEN_GPI(void){ //Returns General Purpose Input Debounce Timer Enable
+   return ((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) >> 4) & 0b00000001);
 }
-boolean MAX77650_getDO(void){ //Returns General Purpose Output Data Output
-   return ((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) >> 3) & 0b00000001);  
+bool MAX77650_getDO(void){ //Returns General Purpose Output Data Output
+   return ((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) >> 3) & 0b00000001);
 }
-boolean MAX77650_getDRV(void){ //Returns General Purpose Output Driver Type
-   return ((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) >> 2) & 0b00000001);  
+bool MAX77650_getDRV(void){ //Returns General Purpose Output Driver Type
+   return ((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) >> 2) & 0b00000001);
 }
-boolean MAX77650_getDI(void){ //Returns GPIO Digital Input Value
-   return ((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) >> 1) & 0b00000001);  
+bool MAX77650_getDI(void){ //Returns GPIO Digital Input Value
+   return ((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) >> 1) & 0b00000001);
 }
-boolean MAX77650_getDIR(void){ //Returns GPIO Direction
-   return (MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) & 0b00000001);  
+bool MAX77650_getDIR(void){ //Returns GPIO Direction
+   return (MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) & 0b00000001);
 }
 
 //Charger Interrupt Status Register 0x01
-byte MAX77650_getINT_CHG(void){ //Returns Charger Interrupt Status Register 0x01
- return MAX77650_read_register(MAX77650_INT_CHG_ADDR);    
+uint8_t MAX77650_getINT_CHG(void){ //Returns Charger Interrupt Status Register 0x01
+ return MAX77650_read_register(MAX77650_INT_CHG_ADDR);
 }
 
 //Charger Interrupt Mask Register 0x07
-byte MAX77650_getINT_M_CHG(void){ //Returns Global Interrupt Mask Register
-   return (MAX77650_read_register(MAX77650_INT_M_CHG_ADDR) & 0b01111111);  
+uint8_t MAX77650_getINT_M_CHG(void){ //Returns Global Interrupt Mask Register
+   return (MAX77650_read_register(MAX77650_INT_M_CHG_ADDR) & 0b01111111);
 }
 
 //Charger Configuration Register A 0x18
-byte MAX77650_getTHM_HOT(void){ //Returns the VHOT JEITA Temperature Threshold
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_A_ADDR) >> 6) & 0b00000011);  
+uint8_t MAX77650_getTHM_HOT(void){ //Returns the VHOT JEITA Temperature Threshold
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_A_ADDR) >> 6) & 0b00000011);
 }
-byte MAX77650_getTHM_WARM(void){ //Returns the VWARM JEITA Temperature Threshold
+uint8_t MAX77650_getTHM_WARM(void){ //Returns the VWARM JEITA Temperature Threshold
   return ((MAX77650_read_register(MAX77650_CNFG_CHG_A_ADDR) >> 4) & 0b00000011);
 }
-byte MAX77650_getTHM_COOL(void){ //Returns the VCOOL JEITA Temperature Threshold
+uint8_t MAX77650_getTHM_COOL(void){ //Returns the VCOOL JEITA Temperature Threshold
   return ((MAX77650_read_register(MAX77650_CNFG_CHG_A_ADDR) >> 2) & 0b00000011);
 }
-byte MAX77650_getTHM_COLD(void){ //Returns the VCOLD JEITA Temperature Threshold
+uint8_t MAX77650_getTHM_COLD(void){ //Returns the VCOLD JEITA Temperature Threshold
   return (MAX77650_read_register(MAX77650_CNFG_CHG_A_ADDR) & 0b00000011);
 }
 
 //Charger Configuration Register B 0x19
-byte MAX77650_getVCHGIN_MIN(void){ //Returns the Minimum CHGIN regulation voltage (VCHGIN-MIN)
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) >> 5) & 0b00000111);  
+uint8_t MAX77650_getVCHGIN_MIN(void){ //Returns the Minimum CHGIN regulation voltage (VCHGIN-MIN)
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) >> 5) & 0b00000111);
 }
-byte MAX77650_getICHGIN_LIM(void){ //Returns the CHGIN Input Current Limit (ICHGIN-LIM)
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) >> 2) & 0b00000111);  
+uint8_t MAX77650_getICHGIN_LIM(void){ //Returns the CHGIN Input Current Limit (ICHGIN-LIM)
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) >> 2) & 0b00000111);
 }
-boolean MAX77650_getI_PQ(void){ //Returns the prequalification charge current (IPQ) as a percentage of IFAST-CHG
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) >> 1) & 0b00000001);  
+bool MAX77650_getI_PQ(void){ //Returns the prequalification charge current (IPQ) as a percentage of IFAST-CHG
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) >> 1) & 0b00000001);
 }
-boolean MAX77650_getCHG_EN(void){ //Returns Charger Enable
+bool MAX77650_getCHG_EN(void){ //Returns Charger Enable
   return (MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) & 0b00000001);
 }
 
 //Charger Configuration Register C 0x1A
-byte MAX77650_getCHG_PQ(void){ //Returns the Battery prequalification voltage threshold (VPQ)
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_C_ADDR) >> 5) & 0b00000111);    
+uint8_t MAX77650_getCHG_PQ(void){ //Returns the Battery prequalification voltage threshold (VPQ)
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_C_ADDR) >> 5) & 0b00000111);
 }
-byte MAX77650_getI_TERM(void){ //Returns the Charger Termination Current (ITERM). I_TERM[1:0] sets the charger termination current as a percentage of the fast charge current IFAST-CHG.
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_C_ADDR) >> 3) & 0b00000011);    
+uint8_t MAX77650_getI_TERM(void){ //Returns the Charger Termination Current (ITERM). I_TERM[1:0] sets the charger termination current as a percentage of the fast charge current IFAST-CHG.
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_C_ADDR) >> 3) & 0b00000011);
 }
-byte MAX77650_getT_TOPOFF(void){ //Returns the Topoff timer value (tTO)
-  return (MAX77650_read_register(MAX77650_CNFG_CHG_C_ADDR) & 0b00000111);    
+uint8_t MAX77650_getT_TOPOFF(void){ //Returns the Topoff timer value (tTO)
+  return (MAX77650_read_register(MAX77650_CNFG_CHG_C_ADDR) & 0b00000111);
 }
 
 //Charger Configuration Register D 0x1B
-byte MAX77650_getTJ_REG(void){ //Returns the die junction temperature regulation point, TJ-REG
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_D_ADDR) >> 5) & 0b00000111);    
+uint8_t MAX77650_getTJ_REG(void){ //Returns the die junction temperature regulation point, TJ-REG
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_D_ADDR) >> 5) & 0b00000111);
 }
-byte MAX77650_getVSYS_REG(void){ //Returns the System voltage regulation (VSYS-REG)
-  return (MAX77650_read_register(MAX77650_CNFG_CHG_D_ADDR) & 0b00011111);   
+uint8_t MAX77650_getVSYS_REG(void){ //Returns the System voltage regulation (VSYS-REG)
+  return (MAX77650_read_register(MAX77650_CNFG_CHG_D_ADDR) & 0b00011111);
 }
 
 //Charger Configuration Register E 0x1C
-byte MAX77650_getCHG_CC(void){ //Returns the fast-charge constant current value, IFAST-CHG.
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_E_ADDR) >> 2) & 0b00111111);    
+uint8_t MAX77650_getCHG_CC(void){ //Returns the fast-charge constant current value, IFAST-CHG.
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_E_ADDR) >> 2) & 0b00111111);
 }
-byte MAX77650_getT_FAST_CHG(void){ //Returns the fast-charge safety timer, tFC.
-  return (MAX77650_read_register(MAX77650_CNFG_CHG_E_ADDR) & 0b00000011);  
+uint8_t MAX77650_getT_FAST_CHG(void){ //Returns the fast-charge safety timer, tFC.
+  return (MAX77650_read_register(MAX77650_CNFG_CHG_E_ADDR) & 0b00000011);
 }
 
 //Charger Configuration Register F 0x1D
-byte MAX77650_getCHG_CC_JEITA(void){ //Returns the IFAST-CHG_JEITA for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_F_ADDR) >> 2) & 0b00111111);  
+uint8_t MAX77650_getCHG_CC_JEITA(void){ //Returns the IFAST-CHG_JEITA for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_F_ADDR) >> 2) & 0b00111111);
 }
-byte MAX77650_getTHM_EN(void){ //Returns the Thermistor enable bit
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_F_ADDR) >> 1) & 0b00000001);  
+uint8_t MAX77650_getTHM_EN(void){ //Returns the Thermistor enable bit
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_F_ADDR) >> 1) & 0b00000001);
 }
 
 //Charger Configuration Register G 0x1E
-byte MAX77650_getCHG_CV(void){ //Returns the fast-charge battery regulation voltage, VFAST-CHG.
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_G_ADDR) >> 2) & 0b00111111);  
+uint8_t MAX77650_getCHG_CV(void){ //Returns the fast-charge battery regulation voltage, VFAST-CHG.
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_G_ADDR) >> 2) & 0b00111111);
 }
-boolean MAX77650_getUSBS(void){ //this bit places CHGIN in USB suspend mode
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_G_ADDR) >> 1) & 0b00000001);  
+bool MAX77650_getUSBS(void){ //this bit places CHGIN in USB suspend mode
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_G_ADDR) >> 1) & 0b00000001);
 }
 
 //Charger Configuration Register H 0x1F
-byte MAX77650_getCHG_CV_JEITA(void){ //Returns the modified VFAST-CHG for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_H_ADDR) >> 2) & 0b00111111);  
+uint8_t MAX77650_getCHG_CV_JEITA(void){ //Returns the modified VFAST-CHG for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_H_ADDR) >> 2) & 0b00111111);
 }
 
 //Charger Configuration Register I 0x20
-byte MAX77650_getIMON_DISCHG_SCALE(void){ //Returns the Selects the battery discharge current full-scale current value This 4-bit configuration starts at 7.5mA and ends at 300mA.
-  return ((MAX77650_read_register(MAX77650_CNFG_CHG_I_ADDR) >> 4) & 0b00001111);  
+uint8_t MAX77650_getIMON_DISCHG_SCALE(void){ //Returns the Selects the battery discharge current full-scale current value This 4-bit configuration starts at 7.5mA and ends at 300mA.
+  return ((MAX77650_read_register(MAX77650_CNFG_CHG_I_ADDR) >> 4) & 0b00001111);
 }
-byte MAX77650_getMUX_SEL(void){ //Returns the analog channel to connect to AMUX configuration
-  return (MAX77650_read_register(MAX77650_CNFG_CHG_I_ADDR) & 0b00001111);  
+uint8_t MAX77650_getMUX_SEL(void){ //Returns the analog channel to connect to AMUX configuration
+  return (MAX77650_read_register(MAX77650_CNFG_CHG_I_ADDR) & 0b00001111);
 }
 
 //LDO Configuration Register A 0x38
-byte MAX77650_getTV_LDO(void){ //Returns the LDO Target Output Voltage
-  return (MAX77650_read_register(MAX77650_CNFG_LDO_A_ADDR) & 0b01111111);    
+uint8_t MAX77650_getTV_LDO(void){ //Returns the LDO Target Output Voltage
+  return (MAX77650_read_register(MAX77650_CNFG_LDO_A_ADDR) & 0b01111111);
 }
 
 //LDO Configuration Register B 0x39
-boolean MAX77650_getADE_LDO(void){ //Returns LDO active-Discharge Enable
-  return ((MAX77650_read_register(MAX77650_CNFG_LDO_B_ADDR) >> 3) & 0b00000001);    
+bool MAX77650_getADE_LDO(void){ //Returns LDO active-Discharge Enable
+  return ((MAX77650_read_register(MAX77650_CNFG_LDO_B_ADDR) >> 3) & 0b00000001);
 }
-byte MAX77650_getEN_LDO(void){ //Enable Control for LDO.
-  return (MAX77650_read_register(MAX77650_CNFG_LDO_B_ADDR) & 0b00000111);    
+uint8_t MAX77650_getEN_LDO(void){ //Enable Control for LDO.
+  return (MAX77650_read_register(MAX77650_CNFG_LDO_B_ADDR) & 0b00000111);
 }
 
 //SIMO Buck-Boost Global Configuration Register 0x28
-boolean MAX77650_getMRT_OTP(void){ //Returns Manual Reset Time Configuration
-  return ((MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) >> 6) & 0b00000001);  
+bool MAX77650_getMRT_OTP(void){ //Returns Manual Reset Time Configuration
+  return ((MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) >> 6) & 0b00000001);
 }
-boolean MAX77650_getSBIA_LPM_DEF(void){ //Returns Default voltage of the SBIA_LPM bit
-  return ((MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) >> 5) & 0b00000001);  
+bool MAX77650_getSBIA_LPM_DEF(void){ //Returns Default voltage of the SBIA_LPM bit
+  return ((MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) >> 5) & 0b00000001);
 }
-boolean MAX77650_getDBNC_nEN_DEF(void){ //Returns Default Value of the DBNC_nEN bit
-  return ((MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) >> 4) & 0b00000001);  
+bool MAX77650_getDBNC_nEN_DEF(void){ //Returns Default Value of the DBNC_nEN bit
+  return ((MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) >> 4) & 0b00000001);
 }
-byte MAX77650_getDRV_SBB(void){ //Returns the SIMO Buck-Boost (all channels) Drive Strength Trim.
-  return (MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) & 0b00000011);  
+uint8_t MAX77650_getDRV_SBB(void){ //Returns the SIMO Buck-Boost (all channels) Drive Strength Trim.
+  return (MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) & 0b00000011);
 }
 
 //SIMO Buck-Boost 0 Configuration Register A 0x29
-byte MAX77650_getIP_SBB0(void){ //Returns the SIMO Buck-Boost Channel 1 Peak Current Limit
-  return ((MAX77650_read_register(MAX77650_CNFG_SBB0_A_ADDR) >> 6) & 0b00000011);  
+uint8_t MAX77650_getIP_SBB0(void){ //Returns the SIMO Buck-Boost Channel 1 Peak Current Limit
+  return ((MAX77650_read_register(MAX77650_CNFG_SBB0_A_ADDR) >> 6) & 0b00000011);
 }
-byte MAX77650_getTV_SBB0(void){ //Returns the SIMO Buck-Boost Channel 0 Target Output Voltage
-  return (MAX77650_read_register(MAX77650_CNFG_SBB0_A_ADDR) & 0b00111111);  
+uint8_t MAX77650_getTV_SBB0(void){ //Returns the SIMO Buck-Boost Channel 0 Target Output Voltage
+  return (MAX77650_read_register(MAX77650_CNFG_SBB0_A_ADDR) & 0b00111111);
 }
 
 //SIMO Buck-Boost 0 Configuration Register B 0x2A
-boolean MAX77650_getADE_SBB0(void){ //Returns SIMO Buck-Boost Channel 0 Active-Discharge Enable
-  return ((MAX77650_read_register(MAX77650_CNFG_SBB0_B_ADDR) >> 3) & 0b00000001);  
+bool MAX77650_getADE_SBB0(void){ //Returns SIMO Buck-Boost Channel 0 Active-Discharge Enable
+  return ((MAX77650_read_register(MAX77650_CNFG_SBB0_B_ADDR) >> 3) & 0b00000001);
 }
-byte MAX77650_getEN_SBB0(void){ //Returns the Enable Control for SIMO Buck-Boost Channel 0.
-  return (MAX77650_read_register(MAX77650_CNFG_SBB0_B_ADDR) & 0b00000111);  
+uint8_t MAX77650_getEN_SBB0(void){ //Returns the Enable Control for SIMO Buck-Boost Channel 0.
+  return (MAX77650_read_register(MAX77650_CNFG_SBB0_B_ADDR) & 0b00000111);
 }
 
 //SIMO Buck-Boost 1 Configuration Register A 0x2B
-byte MAX77650_getIP_SBB1(void){ //Returns the SIMO Buck-Boost Channel 1 Peak Current Limit
-  return ((MAX77650_read_register(MAX77650_CNFG_SBB1_A_ADDR) >> 6) & 0b00000011);  
+uint8_t MAX77650_getIP_SBB1(void){ //Returns the SIMO Buck-Boost Channel 1 Peak Current Limit
+  return ((MAX77650_read_register(MAX77650_CNFG_SBB1_A_ADDR) >> 6) & 0b00000011);
 }
-byte MAX77650_getTV_SBB1(void){ //Returns the SIMO Buck-Boost Channel 1 Target Output Voltage
-  return (MAX77650_read_register(MAX77650_CNFG_SBB1_A_ADDR) & 0b00111111);    
+uint8_t MAX77650_getTV_SBB1(void){ //Returns the SIMO Buck-Boost Channel 1 Target Output Voltage
+  return (MAX77650_read_register(MAX77650_CNFG_SBB1_A_ADDR) & 0b00111111);
 }
 
 //SIMO Buck-Boost 1 Configuration Register B 0x2C
-boolean MAX77650_getADE_SBB1(void){ //Returns SIMO Buck-Boost Channel 1 Active-Discharge Enable
-  return ((MAX77650_read_register(MAX77650_CNFG_SBB1_B_ADDR) >> 3) & 0b00000001);   
+bool MAX77650_getADE_SBB1(void){ //Returns SIMO Buck-Boost Channel 1 Active-Discharge Enable
+  return ((MAX77650_read_register(MAX77650_CNFG_SBB1_B_ADDR) >> 3) & 0b00000001);
 }
-byte MAX77650_getEN_SBB1(void){ //Returns the Enable Control for SIMO Buck-Boost Channel 1.
-  return (MAX77650_read_register(MAX77650_CNFG_SBB1_B_ADDR) & 0b00000111);  
+uint8_t MAX77650_getEN_SBB1(void){ //Returns the Enable Control for SIMO Buck-Boost Channel 1.
+  return (MAX77650_read_register(MAX77650_CNFG_SBB1_B_ADDR) & 0b00000111);
 }
 
 //SIMO Buck-Boost 2 Configuration Register A 0x2D
-byte MAX77650_getIP_SBB2(void){ //Returns the SIMO Buck-Boost Channel 2 Peak Current Limit
-  return ((MAX77650_read_register(MAX77650_CNFG_SBB2_A_ADDR) >> 6) & 0b00000011);  
+uint8_t MAX77650_getIP_SBB2(void){ //Returns the SIMO Buck-Boost Channel 2 Peak Current Limit
+  return ((MAX77650_read_register(MAX77650_CNFG_SBB2_A_ADDR) >> 6) & 0b00000011);
 }
-byte MAX77650_getTV_SBB2(void){ //Returns the SIMO Buck-Boost Channel 2 Target Output Voltage
-  return (MAX77650_read_register(MAX77650_CNFG_SBB2_A_ADDR) & 0b00111111);  
+uint8_t MAX77650_getTV_SBB2(void){ //Returns the SIMO Buck-Boost Channel 2 Target Output Voltage
+  return (MAX77650_read_register(MAX77650_CNFG_SBB2_A_ADDR) & 0b00111111);
 }
 
 //SIMO Buck-Boost 2 Configuration Register B 0x2E
-boolean MAX77650_getADE_SBB2(void){ //Returns SIMO Buck-Boost Channel 2 Active-Discharge Enable
-  return ((MAX77650_read_register(MAX77650_CNFG_SBB2_B_ADDR) >> 3) & 0b00000001);  
+bool MAX77650_getADE_SBB2(void){ //Returns SIMO Buck-Boost Channel 2 Active-Discharge Enable
+  return ((MAX77650_read_register(MAX77650_CNFG_SBB2_B_ADDR) >> 3) & 0b00000001);
 }
-byte MAX77650_getEN_SBB2(void){ //Returns the Enable Control for SIMO Buck-Boost Channel 2.
-  return (MAX77650_read_register(MAX77650_CNFG_SBB2_B_ADDR) & 0b00000111);  
+uint8_t MAX77650_getEN_SBB2(void){ //Returns the Enable Control for SIMO Buck-Boost Channel 2.
+  return (MAX77650_read_register(MAX77650_CNFG_SBB2_B_ADDR) & 0b00000111);
 }
 
-boolean MAX77650_getCLK_64_S(void){ //Returns 64Hz Clock Status
-  return ((MAX77650_read_register(MAX77650_CNFG_LED_TOP_ADDR) >> 1) & 0b00000001);  
+bool MAX77650_getCLK_64_S(void){ //Returns 64Hz Clock Status
+  return ((MAX77650_read_register(MAX77650_CNFG_LED_TOP_ADDR) >> 1) & 0b00000001);
 }
-boolean MAX77650_getEN_LED_MSTR(void){ //Returns Master LED Enable Bit
-  return (MAX77650_read_register(MAX77650_CNFG_LED_TOP_ADDR) & 0b00000001);  
+bool MAX77650_getEN_LED_MSTR(void){ //Returns Master LED Enable Bit
+  return (MAX77650_read_register(MAX77650_CNFG_LED_TOP_ADDR) & 0b00000001);
 }
 
 
 //CID Register
-byte MAX77650_getCID(void){ // Returns the OTP programmed Chip Identification Code
-  return (MAX77650_read_register(MAX77650_CID_ADDR) & 0b00001111); 
+uint8_t MAX77650_getCID(void){ // Returns the OTP programmed Chip Identification Code
+  return (MAX77650_read_register(MAX77650_CID_ADDR) & 0b00001111);
 }
 
 
 //***** Register writes *****
 
-boolean MAX77650_setTV_LDO(byte target_val){ //Sets the LDO Target Output Voltage
+bool MAX77650_setTV_LDO(uint8_t target_val){ //Sets the LDO Target Output Voltage
   MAX77650_write_register(MAX77650_CNFG_LDO_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_LDO_A_ADDR) & 0b10000000) | ((target_val & 0b01111111) << 0)));
   if(MAX77650_getTV_LDO()==target_val)
    return true;
   else
-   return false; 
+   return false;
 }
 
 //LDO Configuration Register B 0x39
-boolean MAX77650_setADE_LDO(byte target_val){ //Sets LDO active-Discharge Enable
+bool MAX77650_setADE_LDO(uint8_t target_val){ //Sets LDO active-Discharge Enable
   MAX77650_write_register(MAX77650_CNFG_LDO_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_LDO_B_ADDR) & 0b11110111) | ((target_val & 0b00000001) << 3)));
   if(MAX77650_getADE_LDO()==target_val)
    return true;
   else
-   return false; 
+   return false;
 }
 
-boolean MAX77650_setEN_LDO(byte target_val){ //Enable LDO
+bool MAX77650_setEN_LDO(uint8_t target_val){ //Enable LDO
   MAX77650_write_register(MAX77650_CNFG_LDO_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_LDO_B_ADDR) & 0b11111000) | ((target_val & 0b00000111) << 0)));
   if(MAX77650_getEN_LDO()==target_val)
    return true;
   else
-   return false; 
+   return false;
 }
 
 //Charger Configuration Register A 0x18
-boolean MAX77650_setTHM_HOT(byte target_val){ //Returns the VHOT JEITA Temperature Threshold
+bool MAX77650_setTHM_HOT(uint8_t target_val){ //Returns the VHOT JEITA Temperature Threshold
   MAX77650_write_register(MAX77650_CNFG_CHG_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_A_ADDR) & 0b00111111) | ((target_val & 0b00000011) << 6)));
   if(MAX77650_getTHM_HOT()==target_val)
    return true;
   else
-   return false;   
+   return false;
 }
-boolean MAX77650_setTHM_WARM(byte target_val){ //Returns the VWARM JEITA Temperature Threshold
+bool MAX77650_setTHM_WARM(uint8_t target_val){ //Returns the VWARM JEITA Temperature Threshold
   MAX77650_write_register(MAX77650_CNFG_CHG_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_A_ADDR) & 0b11001111) | ((target_val & 0b00000011) << 4)));
   if(MAX77650_getTHM_WARM()==target_val)
    return true;
   else
-   return false;     
+   return false;
 }
-boolean MAX77650_setTHM_COOL(byte target_val){ //Returns the VCOOL JEITA Temperature Threshold
+bool MAX77650_setTHM_COOL(uint8_t target_val){ //Returns the VCOOL JEITA Temperature Threshold
   MAX77650_write_register(MAX77650_CNFG_CHG_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_A_ADDR) & 0b11110011) | ((target_val & 0b00000011) << 2)));
   if(MAX77650_getTHM_COOL()==target_val)
    return true;
   else
-   return false;       
+   return false;
 }
-boolean MAX77650_setTHM_COLD(byte target_val){ //Returns the VCOLD JEITA Temperature Threshold
+bool MAX77650_setTHM_COLD(uint8_t target_val){ //Returns the VCOLD JEITA Temperature Threshold
   MAX77650_write_register(MAX77650_CNFG_CHG_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_A_ADDR) & 0b11111100) | ((target_val & 0b00000011) << 0)));
   if(MAX77650_getTHM_COLD()==target_val)
    return true;
   else
-   return false;       
+   return false;
 }
 
 //Charger Configuration Register B 0x19
-boolean MAX77650_setVCHGIN_MIN(byte target_val){ //Returns the Minimum CHGIN regulation voltage (VCHGIN-MIN)
+bool MAX77650_setVCHGIN_MIN(uint8_t target_val){ //Returns the Minimum CHGIN regulation voltage (VCHGIN-MIN)
   MAX77650_write_register(MAX77650_CNFG_CHG_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) & 0b00011111) | ((target_val & 0b00000111) << 5)));
   if(MAX77650_getVCHGIN_MIN()==target_val)
    return true;
   else
-   return false;       
+   return false;
 }
-boolean MAX77650_setICHGIN_LIM(byte target_val){ //Returns the CHGIN Input Current Limit (ICHGIN-LIM)
+bool MAX77650_setICHGIN_LIM(uint8_t target_val){ //Returns the CHGIN Input Current Limit (ICHGIN-LIM)
   MAX77650_write_register(MAX77650_CNFG_CHG_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) & 0b11100011) | ((target_val & 0b00000111) << 2)));
   if(MAX77650_getICHGIN_LIM()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setI_PQ(boolean target_val){ //Returns the prequalification charge current (IPQ) as a percentage of IFAST-CHG
+bool MAX77650_setI_PQ(bool target_val){ //Returns the prequalification charge current (IPQ) as a percentage of IFAST-CHG
   MAX77650_write_register(MAX77650_CNFG_CHG_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) & 0b11111101) | ((target_val & 0b00000001) << 1)));
   if(MAX77650_getI_PQ()==target_val)
    return true;
   else
    return false;
 }
-boolean MAX77650_setCHG_EN(boolean target_val){ //Returns Charger Enable
+bool MAX77650_setCHG_EN(bool target_val){ //Returns Charger Enable
   MAX77650_write_register(MAX77650_CNFG_CHG_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_B_ADDR) & 0b11111110) | ((target_val & 0b00000001) << 0)));
   if(MAX77650_getCHG_EN()==target_val)
    return true;
@@ -609,446 +542,446 @@ boolean MAX77650_setCHG_EN(boolean target_val){ //Returns Charger Enable
 }
 
 //Charger Configuration Register C 0x1A
-boolean MAX77650_setCHG_PQ(byte target_val){ //Returns the Battery prequalification voltage threshold (VPQ)
+bool MAX77650_setCHG_PQ(uint8_t target_val){ //Returns the Battery prequalification voltage threshold (VPQ)
   MAX77650_write_register(MAX77650_CNFG_CHG_C_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_C_ADDR) & 0b00011111) | ((target_val & 0b00000111) << 5)));
   if(MAX77650_getCHG_PQ()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setI_TERM(byte target_val){ //Returns the Charger Termination Current (ITERM). I_TERM[1:0] sets the charger termination current as a percentage of the fast charge current IFAST-CHG.
+bool MAX77650_setI_TERM(uint8_t target_val){ //Returns the Charger Termination Current (ITERM). I_TERM[1:0] sets the charger termination current as a percentage of the fast charge current IFAST-CHG.
   MAX77650_write_register(MAX77650_CNFG_CHG_C_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_C_ADDR) & 0b11100111) | ((target_val & 0b00000011) << 3)));
   if(MAX77650_getI_TERM()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setT_TOPOFF(byte target_val){ //Returns the Topoff timer value (tTO)
+bool MAX77650_setT_TOPOFF(uint8_t target_val){ //Returns the Topoff timer value (tTO)
   MAX77650_write_register(MAX77650_CNFG_CHG_C_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_C_ADDR) & 0b11111000) | ((target_val & 0b00000111) << 0)));
   if(MAX77650_getT_TOPOFF()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
 
 //Charger Configuration Register D 0x1B
-boolean MAX77650_setTJ_REG(byte target_val){ //Returns the die junction temperature regulation point, TJ-REG
+bool MAX77650_setTJ_REG(uint8_t target_val){ //Returns the die junction temperature regulation point, TJ-REG
   MAX77650_write_register(MAX77650_CNFG_CHG_D_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_D_ADDR) & 0b00011111) | ((target_val & 0b00000111) << 5)));
   if(MAX77650_getTJ_REG()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setVSYS_REG(byte target_val){ //Returns the System voltage regulation (VSYS-REG)
+bool MAX77650_setVSYS_REG(uint8_t target_val){ //Returns the System voltage regulation (VSYS-REG)
   MAX77650_write_register(MAX77650_CNFG_CHG_D_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_D_ADDR) & 0b11100000) | ((target_val & 0b00011111) << 0)));
   if(MAX77650_getVSYS_REG()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
 
 //Charger Configuration Register E 0x1C
-boolean MAX77650_setCHG_CC(byte target_val){ //Returns the fast-charge constant current value, IFAST-CHG.
+bool MAX77650_setCHG_CC(uint8_t target_val){ //Returns the fast-charge constant current value, IFAST-CHG.
   MAX77650_write_register(MAX77650_CNFG_CHG_E_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_E_ADDR) & 0b00000011) | ((target_val & 0b00111111) << 2)));
   if(MAX77650_getCHG_CC()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setT_FAST_CHG(byte target_val){ //Returns the fast-charge safety timer, tFC.
+bool MAX77650_setT_FAST_CHG(uint8_t target_val){ //Returns the fast-charge safety timer, tFC.
   MAX77650_write_register(MAX77650_CNFG_CHG_E_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_E_ADDR) & 0b11111100) | ((target_val & 0b00000011) << 0)));
   if(MAX77650_getT_FAST_CHG()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
 
 //Charger Configuration Register F 0x1D
-boolean MAX77650_setCHG_CC_JEITA(byte target_val){ //Returns the IFAST-CHG_JEITA for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
+bool MAX77650_setCHG_CC_JEITA(uint8_t target_val){ //Returns the IFAST-CHG_JEITA for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
   MAX77650_write_register(MAX77650_CNFG_CHG_F_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_F_ADDR) & 0b00000011) | ((target_val & 0b00111111) << 2)));
   if(MAX77650_getCHG_CC_JEITA()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setTHM_EN(boolean target_val){ //Returns the Thermistor enable bit
+bool MAX77650_setTHM_EN(bool target_val){ //Returns the Thermistor enable bit
   MAX77650_write_register(MAX77650_CNFG_CHG_F_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_F_ADDR) & 0b11111101) | ((target_val & 0b00000001) << 1)));
   if(MAX77650_getTHM_EN()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //Charger Configuration Register G 0x1E
-boolean MAX77650_setCHG_CV(byte target_val){ //Returns the fast-charge battery regulation voltage, VFAST-CHG.
+bool MAX77650_setCHG_CV(uint8_t target_val){ //Returns the fast-charge battery regulation voltage, VFAST-CHG.
   MAX77650_write_register(MAX77650_CNFG_CHG_G_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_G_ADDR) & 0b00000011) | ((target_val & 0b00111111) << 2)));
   if(MAX77650_getCHG_CV()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setUSBS(boolean target_val){ //this bit places CHGIN in USB suspend mode
+bool MAX77650_setUSBS(bool target_val){ //this bit places CHGIN in USB suspend mode
   MAX77650_write_register(MAX77650_CNFG_CHG_G_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_G_ADDR) & 0b11111101) | ((target_val & 0b00000001) << 1)));
   if(MAX77650_getUSBS()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //Charger Configuration Register H 0x1F
-boolean MAX77650_setCHG_CV_JEITA(byte target_val){ //Returns the modified VFAST-CHG for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
+bool MAX77650_setCHG_CV_JEITA(uint8_t target_val){ //Returns the modified VFAST-CHG for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
   MAX77650_write_register(MAX77650_CNFG_CHG_H_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_H_ADDR) & 0b00000011) | ((target_val & 0b00111111) << 2)));
   if(MAX77650_getCHG_CV_JEITA()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //Charger Configuration Register I 0x20
-boolean MAX77650_setIMON_DISCHG_SCALE(byte target_val){ //Returns the Selects the battery discharge current full-scale current value This 4-bit configuration starts at 7.5mA and ends at 300mA.
+bool MAX77650_setIMON_DISCHG_SCALE(uint8_t target_val){ //Returns the Selects the battery discharge current full-scale current value This 4-bit configuration starts at 7.5mA and ends at 300mA.
   MAX77650_write_register(MAX77650_CNFG_CHG_I_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_I_ADDR) & 0b00001111) | ((target_val & 0b00001111) << 4)));
   if(MAX77650_getIMON_DISCHG_SCALE()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setMUX_SEL(byte target_val){ //Returns the analog channel to connect to AMUX configuration
+bool MAX77650_setMUX_SEL(uint8_t target_val){ //Returns the analog channel to connect to AMUX configuration
   MAX77650_write_register(MAX77650_CNFG_CHG_I_ADDR,((MAX77650_read_register(MAX77650_CNFG_CHG_I_ADDR) & 0b11110000) | ((target_val & 0b00001111) << 0)));
   if(MAX77650_getMUX_SEL()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //SIMO Buck-Boost Global Configuration Register 0x28
-boolean MAX77650_setMRT_OTP(boolean target_val){ //Returns Manual Reset Time Configuration
+bool MAX77650_setMRT_OTP(bool target_val){ //Returns Manual Reset Time Configuration
   MAX77650_write_register(MAX77650_CNFG_SBB_TOP_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) & 0b10111111) | ((target_val & 0b00000001) << 6)));
   if(MAX77650_getMRT_OTP()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setSBIA_LPM_DEF(boolean target_val){ //Returns Default voltage of the SBIA_LPM bit
+bool MAX77650_setSBIA_LPM_DEF(bool target_val){ //Returns Default voltage of the SBIA_LPM bit
   MAX77650_write_register(MAX77650_CNFG_SBB_TOP_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) & 0b11011111) | ((target_val & 0b00000001) << 5)));
   if(MAX77650_getSBIA_LPM_DEF()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setDBNC_nEN_DEF(boolean target_val){ //Returns Default Value of the DBNC_nEN bit
+bool MAX77650_setDBNC_nEN_DEF(bool target_val){ //Returns Default Value of the DBNC_nEN bit
   MAX77650_write_register(MAX77650_CNFG_SBB_TOP_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) & 0b11101111) | ((target_val & 0b00000001) << 4)));
   if(MAX77650_getDBNC_nEN_DEF()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setDRV_SBB(byte target_val){ //Returns the SIMO Buck-Boost (all channels) Drive Strength Trim.
+bool MAX77650_setDRV_SBB(uint8_t target_val){ //Returns the SIMO Buck-Boost (all channels) Drive Strength Trim.
   MAX77650_write_register(MAX77650_CNFG_SBB_TOP_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB_TOP_ADDR) & 0b11111100) | ((target_val & 0b00000011) << 0)));
   if(MAX77650_getDRV_SBB()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
 
 //SIMO Buck-Boost 0 Configuration Register A 0x29
-boolean MAX77650_setIP_SBB0(byte target_val){ //Returns the SIMO Buck-Boost Channel 0 Peak Current Limit
+bool MAX77650_setIP_SBB0(uint8_t target_val){ //Returns the SIMO Buck-Boost Channel 0 Peak Current Limit
   MAX77650_write_register(MAX77650_CNFG_SBB0_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB0_A_ADDR) & 0b00111111) | ((target_val & 0b00000011) << 6)));
   if(MAX77650_getIP_SBB0()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setTV_SBB0(byte target_val){ //Returns the SIMO Buck-Boost Channel 0 Target Output Voltage
+bool MAX77650_setTV_SBB0(uint8_t target_val){ //Returns the SIMO Buck-Boost Channel 0 Target Output Voltage
   MAX77650_write_register(MAX77650_CNFG_SBB0_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB0_A_ADDR) & 0b11000000) | ((target_val & 0b00111111) << 0)));
   if(MAX77650_getTV_SBB0()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //SIMO Buck-Boost 0 Configuration Register B 0x2A
-boolean MAX77650_setADE_SBB0(boolean target_val){ //Returns SIMO Buck-Boost Channel 0 Active-Discharge Enable
+bool MAX77650_setADE_SBB0(bool target_val){ //Returns SIMO Buck-Boost Channel 0 Active-Discharge Enable
   MAX77650_write_register(MAX77650_CNFG_SBB0_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB0_B_ADDR) & 0b11110111) | ((target_val & 0b00000001) << 3)));
   if(MAX77650_getADE_SBB0()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setEN_SBB0(byte target_val){ //Returns the Enable Control for SIMO Buck-Boost Channel 0.
+bool MAX77650_setEN_SBB0(uint8_t target_val){ //Returns the Enable Control for SIMO Buck-Boost Channel 0.
   MAX77650_write_register(MAX77650_CNFG_SBB0_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB0_B_ADDR) & 0b11111000) | ((target_val & 0b00000111) << 0)));
   if(MAX77650_getEN_SBB0()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //SIMO Buck-Boost 1 Configuration Register A 0x2B
-boolean MAX77650_setIP_SBB1(byte target_val){ //Returns the SIMO Buck-Boost Channel 1 Peak Current Limit
+bool MAX77650_setIP_SBB1(uint8_t target_val){ //Returns the SIMO Buck-Boost Channel 1 Peak Current Limit
   MAX77650_write_register(MAX77650_CNFG_SBB1_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB1_A_ADDR) & 0b00111111) | ((target_val & 0b00000011) << 6)));
   if(MAX77650_getIP_SBB1()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setTV_SBB1(byte target_val){ //Returns the SIMO Buck-Boost Channel 1 Target Output Voltage
+bool MAX77650_setTV_SBB1(uint8_t target_val){ //Returns the SIMO Buck-Boost Channel 1 Target Output Voltage
   MAX77650_write_register(MAX77650_CNFG_SBB1_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB1_A_ADDR) & 0b11000000) | ((target_val & 0b00111111) << 0)));
   if(MAX77650_getTV_SBB1()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //SIMO Buck-Boost 1 Configuration Register B 0x2C
-boolean MAX77650_setADE_SBB1(boolean target_val){ //Returns SIMO Buck-Boost Channel 1 Active-Discharge Enable
+bool MAX77650_setADE_SBB1(bool target_val){ //Returns SIMO Buck-Boost Channel 1 Active-Discharge Enable
   MAX77650_write_register(MAX77650_CNFG_SBB1_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB1_B_ADDR) & 0b11110111) | ((target_val & 0b00000001) << 3)));
   if(MAX77650_getADE_SBB1()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setEN_SBB1(byte target_val){ //Returns the Enable Control for SIMO Buck-Boost Channel 1.
+bool MAX77650_setEN_SBB1(uint8_t target_val){ //Returns the Enable Control for SIMO Buck-Boost Channel 1.
   MAX77650_write_register(MAX77650_CNFG_SBB1_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB1_B_ADDR) & 0b11111000) | ((target_val & 0b00000111) << 0)));
   if(MAX77650_getEN_SBB1()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //SIMO Buck-Boost 2 Configuration Register A 0x2D
-boolean MAX77650_setIP_SBB2(byte target_val){ //Returns the SIMO Buck-Boost Channel 2 Peak Current Limit
+bool MAX77650_setIP_SBB2(uint8_t target_val){ //Returns the SIMO Buck-Boost Channel 2 Peak Current Limit
   MAX77650_write_register(MAX77650_CNFG_SBB2_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB2_A_ADDR) & 0b00111111) | ((target_val & 0b00000011) << 6)));
   if(MAX77650_getIP_SBB2()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setTV_SBB2(byte target_val){ //Returns the SIMO Buck-Boost Channel 2 Target Output Voltage
+bool MAX77650_setTV_SBB2(uint8_t target_val){ //Returns the SIMO Buck-Boost Channel 2 Target Output Voltage
   MAX77650_write_register(MAX77650_CNFG_SBB2_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB2_A_ADDR) & 0b11000000) | ((target_val & 0b00111111) << 0)));
   if(MAX77650_getTV_SBB2()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //SIMO Buck-Boost 2 Configuration Register B 0x2E
-boolean MAX77650_setADE_SBB2(boolean target_val){ //Returns SIMO Buck-Boost Channel 2 Active-Discharge Enable
+bool MAX77650_setADE_SBB2(bool target_val){ //Returns SIMO Buck-Boost Channel 2 Active-Discharge Enable
   MAX77650_write_register(MAX77650_CNFG_SBB2_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB2_B_ADDR) & 0b11110111) | ((target_val & 0b00000001) << 3)));
   if(MAX77650_getADE_SBB2()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setEN_SBB2(byte target_val){ //Returns the Enable Control for SIMO Buck-Boost Channel 2.
+bool MAX77650_setEN_SBB2(uint8_t target_val){ //Returns the Enable Control for SIMO Buck-Boost Channel 2.
   MAX77650_write_register(MAX77650_CNFG_SBB2_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_SBB2_B_ADDR) & 0b11111000) | ((target_val & 0b00000111) << 0)));
   if(MAX77650_getEN_SBB2()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //LED related registers
-boolean MAX77650_setEN_LED_MSTR(boolean target_val){ //Returns Master LED Enable Bit
+bool MAX77650_setEN_LED_MSTR(bool target_val){ //Returns Master LED Enable Bit
   MAX77650_write_register(MAX77650_CNFG_LED_TOP_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED_TOP_ADDR) & 0b11111110) | ((target_val & 0b00000001) << 0)));
   if(MAX77650_getEN_LED_MSTR()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //Register LED0
-boolean MAX77650_setLED_FS0(byte target_val){ //Returns LED0 Full Scale Range
+bool MAX77650_setLED_FS0(uint8_t target_val){ //Returns LED0 Full Scale Range
   MAX77650_write_register(MAX77650_CNFG_LED0_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED0_A_ADDR) & 0b00111111) | ((target_val & 0b00000011) << 6)));
   if(MAX77650_getLED_FS0()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setINV_LED0(boolean target_val){ //Returns LED0 Invert
+bool MAX77650_setINV_LED0(bool target_val){ //Returns LED0 Invert
   MAX77650_write_register(MAX77650_CNFG_LED0_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED0_A_ADDR) & 0b11011111) | ((target_val & 0b00000001) << 5)));
   if(MAX77650_getINV_LED0()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setBRT_LED0(byte target_val){ //Returns LED0 Brightness Control
+bool MAX77650_setBRT_LED0(uint8_t target_val){ //Returns LED0 Brightness Control
   MAX77650_write_register(MAX77650_CNFG_LED0_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED0_A_ADDR) & 0b11100000) | ((target_val & 0b00011111) << 0)));
   if(MAX77650_getBRT_LED0()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setP_LED0(byte target_val){ //Returns LED0 Period Settings
+bool MAX77650_setP_LED0(uint8_t target_val){ //Returns LED0 Period Settings
   MAX77650_write_register(MAX77650_CNFG_LED0_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED0_B_ADDR) & 0b00001111) | ((target_val & 0b00001111) << 4)));
   if(MAX77650_getP_LED0()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setD_LED0(byte target_val){ //Returns LED0 On Duty-Cycle Settings
+bool MAX77650_setD_LED0(uint8_t target_val){ //Returns LED0 On Duty-Cycle Settings
   MAX77650_write_register(MAX77650_CNFG_LED0_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED0_B_ADDR) & 0b11110000) | ((target_val & 0b00001111) << 0)));
   if(MAX77650_getD_LED0()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //Register LED1
-boolean MAX77650_setLED_FS1(byte target_val){ //Returns LED1 Full Scale Range
+bool MAX77650_setLED_FS1(uint8_t target_val){ //Returns LED1 Full Scale Range
   MAX77650_write_register(MAX77650_CNFG_LED1_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED1_A_ADDR) & 0b00111111) | ((target_val & 0b00000011) << 6)));
   if(MAX77650_getLED_FS1()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setINV_LED1(boolean target_val){ //Returns LED1 Invert
+bool MAX77650_setINV_LED1(bool target_val){ //Returns LED1 Invert
   MAX77650_write_register(MAX77650_CNFG_LED1_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED1_A_ADDR) & 0b11011111) | ((target_val & 0b00000001) << 5)));
   if(MAX77650_getINV_LED1()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setBRT_LED1(byte target_val){ //Returns LED1 Brightness Control
+bool MAX77650_setBRT_LED1(uint8_t target_val){ //Returns LED1 Brightness Control
   MAX77650_write_register(MAX77650_CNFG_LED1_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED1_A_ADDR) & 0b11100000) | ((target_val & 0b00011111) << 0)));
   if(MAX77650_getBRT_LED1()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setP_LED1(byte target_val){ //Returns LED1 Period Settings
+bool MAX77650_setP_LED1(uint8_t target_val){ //Returns LED1 Period Settings
   MAX77650_write_register(MAX77650_CNFG_LED1_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED1_B_ADDR) & 0b00001111) | ((target_val & 0b00001111) << 4)));
   if(MAX77650_getP_LED1()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setD_LED1(byte target_val){ //Returns LED1 On Duty-Cycle Settings
+bool MAX77650_setD_LED1(uint8_t target_val){ //Returns LED1 On Duty-Cycle Settings
   MAX77650_write_register(MAX77650_CNFG_LED1_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED1_B_ADDR) & 0b11110000) | ((target_val & 0b00001111) << 0)));
   if(MAX77650_getD_LED1()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //Register LED2
-boolean MAX77650_setLED_FS2(byte target_val){ //Returns LED2 Full Scale Range
+bool MAX77650_setLED_FS2(uint8_t target_val){ //Returns LED2 Full Scale Range
   MAX77650_write_register(MAX77650_CNFG_LED2_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED2_A_ADDR) & 0b00111111) | ((target_val & 0b00000011) << 6)));
   if(MAX77650_getLED_FS2()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setINV_LED2(boolean target_val){ //Returns LED2 Invert
+bool MAX77650_setINV_LED2(bool target_val){ //Returns LED2 Invert
   MAX77650_write_register(MAX77650_CNFG_LED2_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED2_A_ADDR) & 0b11011111) | ((target_val & 0b00000001) << 5)));
   if(MAX77650_getINV_LED2()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setBRT_LED2(byte target_val){ //Returns LED2 Brightness Control
+bool MAX77650_setBRT_LED2(uint8_t target_val){ //Returns LED2 Brightness Control
   MAX77650_write_register(MAX77650_CNFG_LED2_A_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED2_A_ADDR) & 0b11100000) | ((target_val & 0b00011111) << 0)));
   if(MAX77650_getBRT_LED2()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setP_LED2(byte target_val){ //Returns LED2 Period Settings
+bool MAX77650_setP_LED2(uint8_t target_val){ //Returns LED2 Period Settings
   MAX77650_write_register(MAX77650_CNFG_LED2_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED2_B_ADDR) & 0b00001111) | ((target_val & 0b00001111) << 4)));
   if(MAX77650_getP_LED2()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
-boolean MAX77650_setD_LED2(byte target_val){ //Returns LED2 On Duty-Cycle Settings
+bool MAX77650_setD_LED2(uint8_t target_val){ //Returns LED2 On Duty-Cycle Settings
   MAX77650_write_register(MAX77650_CNFG_LED2_B_ADDR,((MAX77650_read_register(MAX77650_CNFG_LED2_B_ADDR) & 0b11110000) | ((target_val & 0b00001111) << 0)));
   if(MAX77650_getD_LED2()==target_val)
    return true;
   else
-   return false;    
+   return false;
 }
 
 //Global Configuration register 0x10
-boolean MAX77650_setBOK(boolean target_val){ //Returns Main Bias Okay Status Bit
+bool MAX77650_setBOK(bool target_val){ //Returns Main Bias Okay Status Bit
   MAX77650_write_register(MAX77650_CNFG_GLBL_ADDR,((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) & 0b10111111) | ((target_val & 0b00000001) << 6)));
   if(MAX77650_getBOK()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setSBIA_LPM(boolean target_val){ //Returns Main Bias Low-Power Mode software request
+bool MAX77650_setSBIA_LPM(bool target_val){ //Returns Main Bias Low-Power Mode software request
   MAX77650_write_register(MAX77650_CNFG_GLBL_ADDR,((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) & 0b11011111) | ((target_val & 0b00000001) << 5)));
   if(MAX77650_getSBIA_LPM()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setSBIA_EN(boolean target_val){ //Returns Main Bias Enable Software Request
+bool MAX77650_setSBIA_EN(bool target_val){ //Returns Main Bias Enable Software Request
   MAX77650_write_register(MAX77650_CNFG_GLBL_ADDR,((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) & 0b11101111) | ((target_val & 0b00000001) << 4)));
   if(MAX77650_getSBIA_EN()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setnEN_MODE(boolean target_val){ //Returns nEN Input (ONKEY) Default Configuration Mode
+bool MAX77650_setnEN_MODE(bool target_val){ //Returns nEN Input (ONKEY) Default Configuration Mode
   MAX77650_write_register(MAX77650_CNFG_GLBL_ADDR,((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) & 0b11110111) | ((target_val & 0b00000001) << 3)));
   if(MAX77650_getnEN_MODE()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setDBEN_nEN(boolean target_val){ //Returns Debounce Timer Enable for the nEN Pin
+bool MAX77650_setDBEN_nEN(bool target_val){ //Returns Debounce Timer Enable for the nEN Pin
   MAX77650_write_register(MAX77650_CNFG_GLBL_ADDR,((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) & 0b11111011) | ((target_val & 0b00000001) << 2)));
   if(MAX77650_getDBEN_nEN()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
-boolean MAX77650_setSFT_RST(byte target_val){ //Returns Software Reset Functions.
+bool MAX77650_setSFT_RST(uint8_t target_val){ //Returns Software Reset Functions.
   MAX77650_write_register(MAX77650_CNFG_GLBL_ADDR,((MAX77650_read_register(MAX77650_CNFG_GLBL_ADDR) & 0b11111100) | ((target_val & 0b00000011) << 0)));
   if(MAX77650_getSFT_RST()==target_val)
    return true;
   else
-   return false;  
+   return false;
 }
 
 //Global Interrupt Mask Register 0x06
-boolean MAX77650_setINT_M_GLBL(byte target_val){ //Sets Global Interrupt Mask Register
+bool MAX77650_setINT_M_GLBL(uint8_t target_val){ //Sets Global Interrupt Mask Register
   MAX77650_write_register(MAX77650_INTM_GLBL_ADDR,(target_val & 0b01111111));
   if(MAX77650_getINT_M_GLBL()==(target_val & 0b01111111))
    return true;
   else
-   return false;   
+   return false;
 }
 
 //GPIO Configuration Register
-boolean MAX77650_setDBEN_GPI(boolean target_val){ //Returns General Purpose Input Debounce Timer Enable
+bool MAX77650_setDBEN_GPI(bool target_val){ //Returns General Purpose Input Debounce Timer Enable
   MAX77650_write_register(MAX77650_CNFG_GPIO_ADDR,((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) & 0b11101111) | ((target_val & 0b00000001) << 4)));
   if(MAX77650_getDBEN_GPI()==target_val)
    return true;
   else
    return false;
 }
-boolean MAX77650_setDO(boolean target_val){ //Returns General Purpose Output Data Output
+bool MAX77650_setDO(bool target_val){ //Returns General Purpose Output Data Output
   MAX77650_write_register(MAX77650_CNFG_GPIO_ADDR,((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) & 0b11110111) | ((target_val & 0b00000001) << 3)));
   if(MAX77650_getDO()==target_val)
    return true;
   else
    return false;
 }
-boolean MAX77650_setDRV(boolean target_val){ //Returns General Purpose Output Driver Type
+bool MAX77650_setDRV(bool target_val){ //Returns General Purpose Output Driver Type
   MAX77650_write_register(MAX77650_CNFG_GPIO_ADDR,((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) & 0b11111011) | ((target_val & 0b00000001) << 2)));
   if(MAX77650_getDRV()==target_val)
    return true;
   else
    return false;
 }
-boolean MAX77650_setDI(boolean target_val){ //Returns GPIO Digital Input Value
+bool MAX77650_setDI(bool target_val){ //Returns GPIO Digital Input Value
   MAX77650_write_register(MAX77650_CNFG_GPIO_ADDR,((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) & 0b11111101) | ((target_val & 0b00000001) << 1)));
   if(MAX77650_getDI()==target_val)
    return true;
   else
    return false;
 }
-boolean MAX77650_setDIR(boolean target_val){ //Returns GPIO Direction
+bool MAX77650_setDIR(bool target_val){ //Returns GPIO Direction
   MAX77650_write_register(MAX77650_CNFG_GPIO_ADDR,((MAX77650_read_register(MAX77650_CNFG_GPIO_ADDR) & 0b11111110) | ((target_val & 0b00000001) << 0)));
   if(MAX77650_getDIR()==target_val)
    return true;
@@ -1057,12 +990,12 @@ boolean MAX77650_setDIR(boolean target_val){ //Returns GPIO Direction
 }
 
 //Charger Interrupt Mask Register 0x07
-boolean MAX77650_setINT_M_CHG(byte target_val){ //Sets Global Interrupt Mask Register
+bool MAX77650_setINT_M_CHG(uint8_t target_val){ //Sets Global Interrupt Mask Register
   MAX77650_write_register(MAX77650_INT_M_CHG_ADDR,(target_val & 0b01111111));
   if(MAX77650_getINT_M_CHG()==(target_val & 0b01111111))
    return true;
   else
-   return false;   
+   return false;
 }
 
 
diff --git a/lib/maxim/MAX77650-Arduino-Library/MAX77650-Arduino-Library.h b/lib/maxim/MAX77650-Arduino-Library/MAX77650-Arduino-Library.h
index be4999b1..2ceb38bd 100644
--- a/lib/maxim/MAX77650-Arduino-Library/MAX77650-Arduino-Library.h
+++ b/lib/maxim/MAX77650-Arduino-Library/MAX77650-Arduino-Library.h
@@ -28,10 +28,10 @@
 * trademarks, maskwork rights, or any other form of intellectual
 * property whatsoever. Maxim Integrated Products, Inc. retains all
 * ownership rights.
-* 
-* Authors: 
+*
+* Authors:
 * Ole Dreessen; ole.dreessen@maximintegrated.com
-* 
+*
 * Revisions:
 * 0.1.0       21.11.2017      initial code
 * 0.2.0       27.11.2017      added functions
@@ -39,31 +39,28 @@
 * 0.4.0       14.03.2018      bugfixes: Interrupt registers are RC (read-clear) and cannot be read bit-by-bit; this is valid for register 0x00, 0x01 and 0x04; corrected wrong register-address in function read CID; cleaned init-function (deleted baseline-init - see examples)
 * 1.0.0	   14.03.2018	     code-review and finished work
 * 1.0.1	   22.03.2018      bugfix: fixed address of register in function MAX77650_getCID; added two more examples
-* 1.0.2       23.09.2018      changed wire-calls to preprocessor directives; 
-* 
+* 1.0.2       23.09.2018      changed wire-calls to preprocessor directives;
+*
 **********************************************************************/
 
 #ifndef MAX77650_H
 #define MAX77650_H
 
-#include "Arduino.h"
-#include <Wire.h>
-
 /**********************************************************************
-*@brief MAX77650 - The MAX77650/MAX77651 provide highly-integrated battery charging and 
-*power supply solutions for low-power wearable applications where size and efficiency 
-*are critical. Both devices feature a SIMO buck-boost regulator that provides three 
-*independently programmable power rails from a single inductor to minimize total solution 
-*size. A 150mA LDO provides ripple rejection for audio and other noise-sensitive applications. 
-*A highly configurable linear charger supports a wide range of Li+ battery capacities and 
+*@brief MAX77650 - The MAX77650/MAX77651 provide highly-integrated battery charging and
+*power supply solutions for low-power wearable applications where size and efficiency
+*are critical. Both devices feature a SIMO buck-boost regulator that provides three
+*independently programmable power rails from a single inductor to minimize total solution
+*size. A 150mA LDO provides ripple rejection for audio and other noise-sensitive applications.
+*A highly configurable linear charger supports a wide range of Li+ battery capacities and
 *includes battery temperature monitoring for additional safety (JEITA).
 *
-*The devices include other features such as current sinks for driving LED indicators and 
-*an analog multiplexer that switches several internal voltage and current signals to an 
-*external node for monitoring with an external ADC. A bidirectional I2C interface allows 
-*for configuring and checking the status of the devices. An internal on/off controller 
-*provides a controlled startup sequence for the regulators and provides supervisory 
-*functionality when the devices are on. Numerous factory programmable options allow the 
+*The devices include other features such as current sinks for driving LED indicators and
+*an analog multiplexer that switches several internal voltage and current signals to an
+*external node for monitoring with an external ADC. A bidirectional I2C interface allows
+*for configuring and checking the status of the devices. An internal on/off controller
+*provides a controlled startup sequence for the regulators and provides supervisory
+*functionality when the devices are on. Numerous factory programmable options allow the
 *device to be tailored for many applications, enabling faster time to market.
 *
 *Ressources can be found at
@@ -76,325 +73,323 @@
 #define PMIC_partnumber 0x00  //placed PMIC part-numer on the board: MAX77650 or MAX77651
 #define MAX77650_CID 0x78     //OTP option
 #define MAX77650_ADDR 0x48    //alternate ADDR is 0x40
+
 #ifndef MAX77650_debug
 #define MAX77650_debug false
 #endif
-#ifndef MAX77650_I2C_port
-#define MAX77650_I2C_port 2     //I2C port of the host µC
-#endif
 
 //***** Begin MAX77650 Register Definitions *****
-#define MAX77650_CNFG_GLBL_ADDR 0x10     //Global Configuration Register; Reset Value OTP                           
-#define MAX77650_INT_GLBL_ADDR 0x00      //Interrupt; Reset Value 0x00                                              
-#define MAX77650_INTM_GLBL_ADDR 0x06     //Interrupt Mask; Reset Value 0xFF                                         
-#define MAX77650_STAT_GLBL_ADDR 0x05     //Global Status Register; Reset Value OTP                                  
-#define MAX77650_ERCFLAG_ADDR 0x04       //Flags; Reset Value 0x00                                                  
-#define MAX77650_CNFG_GPIO_ADDR 0x12     //GPIO Configuration Register; Reset Value 0x01                            
-#define MAX77650_CID_ADDR 0x11           //Chip ID Register; Reset Value OTP; Read only                             
-#define MAX77650_INT_CHG_ADDR 0x01       //Charger Interrupt Register; Reset Value 0x00; RC                         
-#define MAX77650_INT_M_CHG_ADDR 0x07     //Charger Interrupt Mask Register; Reset Value 0xFF; Read/Write            
-#define MAX77650_STAT_CHG_A_ADDR 0x02    //Charger Status Register A; Reset Value 0x00; Read only                   
-#define MAX77650_STAT_CHG_B_ADDR 0x03    //Charger Status Register B; Reset Value 0x00; Read only                  
-#define MAX77650_CNFG_CHG_A_ADDR 0x018   //Charger Configuration Register A; Reset Value 0x0F; Read/Write          
-#define MAX77650_CNFG_CHG_B_ADDR 0x019   //Charger Configuration Register B; Reset Value OTP; Read/Write            
-#define MAX77650_CNFG_CHG_C_ADDR 0x01A   //Charger Configuration Register C; Reset Value 0xF8; Read/Write           
-#define MAX77650_CNFG_CHG_D_ADDR 0x01B   //Charger Configuration Register D; Reset Value 0x10; Read/Write           
-#define MAX77650_CNFG_CHG_E_ADDR 0x01C   //Charger Configuration Register E; Reset Value 0x05; Read/Write           
-#define MAX77650_CNFG_CHG_F_ADDR 0x01D   //Charger Configuration Register F; Reset Value 0x04; Read/Write           
-#define MAX77650_CNFG_CHG_G_ADDR 0x01E   //Charger Configuration Register G; Reset Value 0x00; Read/Write           
-#define MAX77650_CNFG_CHG_H_ADDR 0x01F   //Charger Configuration Register H; Reset Value 0x00; Read/Write           
-#define MAX77650_CNFG_CHG_I_ADDR 0x020   //Charger Configuration Register I; Reset Value 0xF0; Read/Write           
-#define MAX77650_CNFG_LDO_A_ADDR 0x38    //LDO Configuration Register A; Reset Value OTP; Read/Write                
-#define MAX77650_CNFG_LDO_B_ADDR 0x39    //LDO Configuration Register B; Reset Value OTP; Read/Write                
-#define MAX77650_CNFG_SBB_TOP_ADDR 0x28  //SIMO Buck-Boost Configuration Register; Reset Value OTP; Read/Write      
-#define MAX77650_CNFG_SBB0_A_ADDR 0x29   //SIMO Buck-Boost 0 Configuration Register A; Reset Value OTP; Read/Write  
-#define MAX77650_CNFG_SBB0_B_ADDR 0x2A   //SIMO Buck-Boost 0 Configuration Register B; Reset Value OTP; Read/Write  
-#define MAX77650_CNFG_SBB1_A_ADDR 0x2B   //SIMO Buck-Boost 1 Configuration Register A; Reset Value OTP; Read/Write  
-#define MAX77650_CNFG_SBB1_B_ADDR 0x2C   //SIMO Buck-Boost 1 Configuration Register B; Reset Value OTP; Read/Write  
-#define MAX77650_CNFG_SBB2_A_ADDR 0x2D   //SIMO Buck-Boost 2 Configuration Register A; Reset Value OTP; Read/Write  
-#define MAX77650_CNFG_SBB2_B_ADDR 0x2E   //SIMO Buck-Boost 2 Configuration Register B; Reset Value OTP; Read/Write  
-#define MAX77650_CNFG_LED0_A_ADDR 0x40   //LED 0 Configuration Register A; Reset Value 0x04; Read/Write             
-#define MAX77650_CNFG_LED0_B_ADDR 0x43   //LED 0 Configuration Register B; Reset Value 0x0F; Read/Write             
-#define MAX77650_CNFG_LED1_A_ADDR 0x41   //LED 1 Configuration Register A; Reset Value 0x04; Read/Write            
-#define MAX77650_CNFG_LED1_B_ADDR 0x44   //LED 1 Configuration Register B; Reset Value 0x0F; Read/Write             
-#define MAX77650_CNFG_LED2_A_ADDR 0x42   //LED 2 Configuration Register A; Reset Value 0x04; Read/Write             
-#define MAX77650_CNFG_LED2_B_ADDR 0x45   //LED 2 Configuration Register A; Reset Value 0x0F; Read/Write             
+#define MAX77650_CNFG_GLBL_ADDR 0x10     //Global Configuration Register; Reset Value OTP
+#define MAX77650_INT_GLBL_ADDR 0x00      //Interrupt; Reset Value 0x00
+#define MAX77650_INTM_GLBL_ADDR 0x06     //Interrupt Mask; Reset Value 0xFF
+#define MAX77650_STAT_GLBL_ADDR 0x05     //Global Status Register; Reset Value OTP
+#define MAX77650_ERCFLAG_ADDR 0x04       //Flags; Reset Value 0x00
+#define MAX77650_CNFG_GPIO_ADDR 0x12     //GPIO Configuration Register; Reset Value 0x01
+#define MAX77650_CID_ADDR 0x11           //Chip ID Register; Reset Value OTP; Read only
+#define MAX77650_INT_CHG_ADDR 0x01       //Charger Interrupt Register; Reset Value 0x00; RC
+#define MAX77650_INT_M_CHG_ADDR 0x07     //Charger Interrupt Mask Register; Reset Value 0xFF; Read/Write
+#define MAX77650_STAT_CHG_A_ADDR 0x02    //Charger Status Register A; Reset Value 0x00; Read only
+#define MAX77650_STAT_CHG_B_ADDR 0x03    //Charger Status Register B; Reset Value 0x00; Read only
+#define MAX77650_CNFG_CHG_A_ADDR 0x018   //Charger Configuration Register A; Reset Value 0x0F; Read/Write
+#define MAX77650_CNFG_CHG_B_ADDR 0x019   //Charger Configuration Register B; Reset Value OTP; Read/Write
+#define MAX77650_CNFG_CHG_C_ADDR 0x01A   //Charger Configuration Register C; Reset Value 0xF8; Read/Write
+#define MAX77650_CNFG_CHG_D_ADDR 0x01B   //Charger Configuration Register D; Reset Value 0x10; Read/Write
+#define MAX77650_CNFG_CHG_E_ADDR 0x01C   //Charger Configuration Register E; Reset Value 0x05; Read/Write
+#define MAX77650_CNFG_CHG_F_ADDR 0x01D   //Charger Configuration Register F; Reset Value 0x04; Read/Write
+#define MAX77650_CNFG_CHG_G_ADDR 0x01E   //Charger Configuration Register G; Reset Value 0x00; Read/Write
+#define MAX77650_CNFG_CHG_H_ADDR 0x01F   //Charger Configuration Register H; Reset Value 0x00; Read/Write
+#define MAX77650_CNFG_CHG_I_ADDR 0x020   //Charger Configuration Register I; Reset Value 0xF0; Read/Write
+#define MAX77650_CNFG_LDO_A_ADDR 0x38    //LDO Configuration Register A; Reset Value OTP; Read/Write
+#define MAX77650_CNFG_LDO_B_ADDR 0x39    //LDO Configuration Register B; Reset Value OTP; Read/Write
+#define MAX77650_CNFG_SBB_TOP_ADDR 0x28  //SIMO Buck-Boost Configuration Register; Reset Value OTP; Read/Write
+#define MAX77650_CNFG_SBB0_A_ADDR 0x29   //SIMO Buck-Boost 0 Configuration Register A; Reset Value OTP; Read/Write
+#define MAX77650_CNFG_SBB0_B_ADDR 0x2A   //SIMO Buck-Boost 0 Configuration Register B; Reset Value OTP; Read/Write
+#define MAX77650_CNFG_SBB1_A_ADDR 0x2B   //SIMO Buck-Boost 1 Configuration Register A; Reset Value OTP; Read/Write
+#define MAX77650_CNFG_SBB1_B_ADDR 0x2C   //SIMO Buck-Boost 1 Configuration Register B; Reset Value OTP; Read/Write
+#define MAX77650_CNFG_SBB2_A_ADDR 0x2D   //SIMO Buck-Boost 2 Configuration Register A; Reset Value OTP; Read/Write
+#define MAX77650_CNFG_SBB2_B_ADDR 0x2E   //SIMO Buck-Boost 2 Configuration Register B; Reset Value OTP; Read/Write
+#define MAX77650_CNFG_LED0_A_ADDR 0x40   //LED 0 Configuration Register A; Reset Value 0x04; Read/Write
+#define MAX77650_CNFG_LED0_B_ADDR 0x43   //LED 0 Configuration Register B; Reset Value 0x0F; Read/Write
+#define MAX77650_CNFG_LED1_A_ADDR 0x41   //LED 1 Configuration Register A; Reset Value 0x04; Read/Write
+#define MAX77650_CNFG_LED1_B_ADDR 0x44   //LED 1 Configuration Register B; Reset Value 0x0F; Read/Write
+#define MAX77650_CNFG_LED2_A_ADDR 0x42   //LED 2 Configuration Register A; Reset Value 0x04; Read/Write
+#define MAX77650_CNFG_LED2_B_ADDR 0x45   //LED 2 Configuration Register A; Reset Value 0x0F; Read/Write
 #define MAX77650_CNFG_LED_TOP_ADDR 0x46  //LED Configuration Register; Reset Value 0x0D; Read/Write
 //***** End MAX77650 Register Definitions *****
 
-boolean MAX77650_init(void);
+bool MAX77650_init(void);
 int MAX77650_read_register(int);
-byte MAX77650_write_register(int, int);
+uint8_t MAX77650_write_register(int, int);
 
 //Status Register (STAT_GLBL) related reads
-boolean MAX77650_getDIDM(void); //Returns Part Number; Return Value: 1=MAX77650; 2=MAX77651; -1=error reading DeviceID
-boolean MAX77650_getLDO_DropoutDetector(void); //Returns whether the LDO is in Dropout or not; Return Value: 0=LDO is not in dropout; 1=LDO is in dropout
-boolean MAX77650_getThermalAlarm1(void); //Returns Thermal Alarm (TJA1 limit); Return Value: 0=Tj<TJA1; 1=Tj>TJA1
-boolean MAX77650_getThermalAlarm2(void); //Returns Therma2 Alarm (TJA2 limit); Return Value: 0=Tj<TJA2; 1=Tj>TJA2
-boolean MAX77650_getDebounceStatusnEN0(void); //Returns Debounced Status of nEN input; Return Value: 0=nEN0 is not active; 1=nEN0 is active
-boolean MAX77650_getDebounceStatusPWR_HLD(void); //Returns Debounced Status of PWR_HLD input; Return Value: 0=logic low; 1=logic high
+bool MAX77650_getDIDM(void); //Returns Part Number; Return Value: 1=MAX77650; 2=MAX77651; -1=error reading DeviceID
+bool MAX77650_getLDO_DropoutDetector(void); //Returns whether the LDO is in Dropout or not; Return Value: 0=LDO is not in dropout; 1=LDO is in dropout
+bool MAX77650_getThermalAlarm1(void); //Returns Thermal Alarm (TJA1 limit); Return Value: 0=Tj<TJA1; 1=Tj>TJA1
+bool MAX77650_getThermalAlarm2(void); //Returns Therma2 Alarm (TJA2 limit); Return Value: 0=Tj<TJA2; 1=Tj>TJA2
+bool MAX77650_getDebounceStatusnEN0(void); //Returns Debounced Status of nEN input; Return Value: 0=nEN0 is not active; 1=nEN0 is active
+bool MAX77650_getDebounceStatusPWR_HLD(void); //Returns Debounced Status of PWR_HLD input; Return Value: 0=logic low; 1=logic high
 
 //Flag Register (ERCFLAG) related reads
-byte MAX77650_getERCFLAG(void); //Returns the ERCFLAG Register 0x04
+uint8_t MAX77650_getERCFLAG(void); //Returns the ERCFLAG Register 0x04
 
 //Register reads related to ChipID
-byte MAX77650_getChipID(void); // Return Value: 1=MAX77650; 2=MAX77651; -1=error reading ChipID
+uint8_t MAX77650_getChipID(void); // Return Value: 1=MAX77650; 2=MAX77651; -1=error reading ChipID
 
 //CID Register
-byte MAX77650_getCID(void); // Returns the OTP programmed Chip Identification Code
+uint8_t MAX77650_getCID(void); // Returns the OTP programmed Chip Identification Code
 
 //Charger Status Register (STAT_CHG_A and B) related reads
-boolean MAX77650_getVCHGIN_MIN_STAT(void); //Returns Minimum Input Voltage Regulation Loop Status; Return Value: 0=no event; 1=The minimum CHGIN voltage regulation loop has engaged to regulate VCHGIN >= VCHGIN-MIN
-boolean MAX77650_getICHGIN_LIM_STAT(void); //Returns Input Current Limit Loop Status; Return Value: 0=no event; 1=The CHGIN current limit loop has engaged to regulate ICHGIN <= ICHGIN-LIM
-boolean MAX77650_getVSYS_MIN_STAT(void); //Returns Minimum System Voltage Regulation Loop Status; Return Value: 0=no event; 1=The minimum system voltage regulation loop is engaged to regulate VSYS >= VSYS-MIN
-boolean MAX77650_getTJ_REG_STAT(void); //Returns Maximum Junction Temperature Regulation Loop Status; Return Value: 0=no event; 1=The maximum junction temperature regulation loop has engaged to regulate the junction temperature less than TJ-REG
-byte MAX77650_getTHM_DTLS(void); //Returns Battery Temperature Details; Return Value: Battery Temperature Details
-byte MAX77650_getCHG_DTLS(void); //Returns Charger Details
-byte MAX77650_getCHGIN_DTLS(void); //Returns Charger Input Status Details
-boolean MAX77650_getCHG(void); //Returns Quick Charger Status
-boolean MAX77650_getTIME_SUS(void); //Returns Time Suspend Indicator
+bool MAX77650_getVCHGIN_MIN_STAT(void); //Returns Minimum Input Voltage Regulation Loop Status; Return Value: 0=no event; 1=The minimum CHGIN voltage regulation loop has engaged to regulate VCHGIN >= VCHGIN-MIN
+bool MAX77650_getICHGIN_LIM_STAT(void); //Returns Input Current Limit Loop Status; Return Value: 0=no event; 1=The CHGIN current limit loop has engaged to regulate ICHGIN <= ICHGIN-LIM
+bool MAX77650_getVSYS_MIN_STAT(void); //Returns Minimum System Voltage Regulation Loop Status; Return Value: 0=no event; 1=The minimum system voltage regulation loop is engaged to regulate VSYS >= VSYS-MIN
+bool MAX77650_getTJ_REG_STAT(void); //Returns Maximum Junction Temperature Regulation Loop Status; Return Value: 0=no event; 1=The maximum junction temperature regulation loop has engaged to regulate the junction temperature less than TJ-REG
+uint8_t MAX77650_getTHM_DTLS(void); //Returns Battery Temperature Details; Return Value: Battery Temperature Details
+uint8_t MAX77650_getCHG_DTLS(void); //Returns Charger Details
+uint8_t MAX77650_getCHGIN_DTLS(void); //Returns Charger Input Status Details
+bool MAX77650_getCHG(void); //Returns Quick Charger Status
+bool MAX77650_getTIME_SUS(void); //Returns Time Suspend Indicator
 
 //LED related registers
-boolean MAX77650_getCLK_64_S(void); //Returns 64Hz Clock Status
-boolean MAX77650_getEN_LED_MSTR(void); //Returns Master LED Enable Bit
-byte MAX77650_getLED_FS0(void); //Returns LED0 Full Scale Range
-boolean MAX77650_getINV_LED0(void); //Returns LED0 Invert
-byte MAX77650_getBRT_LED0(void); //Returns LED0 Brightness Control
-byte MAX77650_getP_LED0(void); //Returns LED0 Period Settings
-byte MAX77650_getD_LED0(void); //Returns LED0 On Duty-Cycle Settings
-byte MAX77650_getLED_FS1(void); //Returns LED1 Full Scale Range
-boolean MAX77650_getINV_LED1(void); //Returns LED1 Invert
-byte MAX77650_getBRT_LED1(void); //Returns LED1 Brightness Control
-byte MAX77650_getP_LED1(void); //Returns LED1 Period Settings
-byte MAX77650_getD_LED1(void); //Returns LED1 On Duty-Cycle Settings
-byte MAX77650_getLED_FS2(void); //Returns LED2 Full Scale Range
-boolean MAX77650_getINV_LED2(void); //Returns LED2 Invert
-byte MAX77650_getBRT_LED2(void); //Returns LED2 Brightness Control
-byte MAX77650_getP_LED2(void); //Returns LED2 Period Settings
-byte MAX77650_getD_LED2(void); //Returns LED2 On Duty-Cycle Settings
+bool MAX77650_getCLK_64_S(void); //Returns 64Hz Clock Status
+bool MAX77650_getEN_LED_MSTR(void); //Returns Master LED Enable Bit
+uint8_t MAX77650_getLED_FS0(void); //Returns LED0 Full Scale Range
+bool MAX77650_getINV_LED0(void); //Returns LED0 Invert
+uint8_t MAX77650_getBRT_LED0(void); //Returns LED0 Brightness Control
+uint8_t MAX77650_getP_LED0(void); //Returns LED0 Period Settings
+uint8_t MAX77650_getD_LED0(void); //Returns LED0 On Duty-Cycle Settings
+uint8_t MAX77650_getLED_FS1(void); //Returns LED1 Full Scale Range
+bool MAX77650_getINV_LED1(void); //Returns LED1 Invert
+uint8_t MAX77650_getBRT_LED1(void); //Returns LED1 Brightness Control
+uint8_t MAX77650_getP_LED1(void); //Returns LED1 Period Settings
+uint8_t MAX77650_getD_LED1(void); //Returns LED1 On Duty-Cycle Settings
+uint8_t MAX77650_getLED_FS2(void); //Returns LED2 Full Scale Range
+bool MAX77650_getINV_LED2(void); //Returns LED2 Invert
+uint8_t MAX77650_getBRT_LED2(void); //Returns LED2 Brightness Control
+uint8_t MAX77650_getP_LED2(void); //Returns LED2 Period Settings
+uint8_t MAX77650_getD_LED2(void); //Returns LED2 On Duty-Cycle Settings
 
 //Global Configuration register 0x10
-boolean MAX77650_getBOK(void); //Returns Main Bias Okay Status Bit
-boolean MAX77650_getSBIA_LPM(void); //Returns Main Bias Low-Power Mode software request
-boolean MAX77650_getSBIA_EN(void); //Returns Main Bias Enable Software Request
-boolean MAX77650_getnEN_MODE(void); //Returns nEN Input (ONKEY) Default Configuration Mode
-boolean MAX77650_getDBEN_nEN(void); //Returns Debounce Timer Enable for the nEN Pin
-byte MAX77650_getSFT_RST(void); //Returns Software Reset Functions.
+bool MAX77650_getBOK(void); //Returns Main Bias Okay Status Bit
+bool MAX77650_getSBIA_LPM(void); //Returns Main Bias Low-Power Mode software request
+bool MAX77650_getSBIA_EN(void); //Returns Main Bias Enable Software Request
+bool MAX77650_getnEN_MODE(void); //Returns nEN Input (ONKEY) Default Configuration Mode
+bool MAX77650_getDBEN_nEN(void); //Returns Debounce Timer Enable for the nEN Pin
+uint8_t MAX77650_getSFT_RST(void); //Returns Software Reset Functions.
 
 //Global Interrupt Status Register 0x00
-byte MAX77650_getINT_GLBL(void); //Returns Interrupt Status Register 0x00
+uint8_t MAX77650_getINT_GLBL(void); //Returns Interrupt Status Register 0x00
 
 //Global Interrupt Mask Register 0x06
-byte MAX77650_getINT_M_GLBL(void); //Returns Global Interrupt Mask Register
+uint8_t MAX77650_getINT_M_GLBL(void); //Returns Global Interrupt Mask Register
 
 //GPIO Configuration Register
-boolean MAX77650_getDBEN_GPI(void); //Returns General Purpose Input Debounce Timer Enable
-boolean MAX77650_getDO(void); //Returns General Purpose Output Data Output
-boolean MAX77650_getDRV(void); //Returns General Purpose Output Driver Type
-boolean MAX77650_getDI(void); //Returns GPIO Digital Input Value
-boolean MAX77650_getDIR(void); //Returns GPIO Direction
+bool MAX77650_getDBEN_GPI(void); //Returns General Purpose Input Debounce Timer Enable
+bool MAX77650_getDO(void); //Returns General Purpose Output Data Output
+bool MAX77650_getDRV(void); //Returns General Purpose Output Driver Type
+bool MAX77650_getDI(void); //Returns GPIO Digital Input Value
+bool MAX77650_getDIR(void); //Returns GPIO Direction
 
 //Charger Interrupt Status Register 0x01
-byte MAX77650_getINT_CHG(void); //Returns Charger Interrupt Status Register 0x01
+uint8_t MAX77650_getINT_CHG(void); //Returns Charger Interrupt Status Register 0x01
 
 //Charger Interrupt Mask Register 0x07
-byte MAX77650_getINT_M_CHG(void); //Returns Global Interrupt Mask Register
+uint8_t MAX77650_getINT_M_CHG(void); //Returns Global Interrupt Mask Register
 
 //Charger Configuration Register A 0x18
-byte MAX77650_getTHM_HOT(void); //Returns the VHOT JEITA Temperature Threshold
-byte MAX77650_getTHM_WARM(void); //Returns the VWARM JEITA Temperature Threshold
-byte MAX77650_getTHM_COOL(void); //Returns the VCOOL JEITA Temperature Threshold
-byte MAX77650_getTHM_COLD(void); //Returns the VCOLD JEITA Temperature Threshold
+uint8_t MAX77650_getTHM_HOT(void); //Returns the VHOT JEITA Temperature Threshold
+uint8_t MAX77650_getTHM_WARM(void); //Returns the VWARM JEITA Temperature Threshold
+uint8_t MAX77650_getTHM_COOL(void); //Returns the VCOOL JEITA Temperature Threshold
+uint8_t MAX77650_getTHM_COLD(void); //Returns the VCOLD JEITA Temperature Threshold
 
 //Charger Configuration Register B 0x19
-byte MAX77650_getVCHGIN_MIN(void); //Returns the Minimum CHGIN regulation voltage (VCHGIN-MIN)
-byte MAX77650_getICHGIN_LIM(void); //Returns the CHGIN Input Current Limit (ICHGIN-LIM)
-boolean MAX77650_getI_PQ(void); //Returns the prequalification charge current (IPQ) as a percentage of IFAST-CHG
-boolean MAX77650_getCHG_EN(void); //Returns Charger Enable
+uint8_t MAX77650_getVCHGIN_MIN(void); //Returns the Minimum CHGIN regulation voltage (VCHGIN-MIN)
+uint8_t MAX77650_getICHGIN_LIM(void); //Returns the CHGIN Input Current Limit (ICHGIN-LIM)
+bool MAX77650_getI_PQ(void); //Returns the prequalification charge current (IPQ) as a percentage of IFAST-CHG
+bool MAX77650_getCHG_EN(void); //Returns Charger Enable
 
 //Charger Configuration Register C 0x1A
-byte MAX77650_getCHG_PQ(void); //Returns the Battery prequalification voltage threshold (VPQ)
-byte MAX77650_getI_TERM(void); //Returns the Charger Termination Current (ITERM). I_TERM[1:0] sets the charger termination current as a percentage of the fast charge current IFAST-CHG.
-byte MAX77650_getT_TOPOFF(void); //Returns the Topoff timer value (tTO)
+uint8_t MAX77650_getCHG_PQ(void); //Returns the Battery prequalification voltage threshold (VPQ)
+uint8_t MAX77650_getI_TERM(void); //Returns the Charger Termination Current (ITERM). I_TERM[1:0] sets the charger termination current as a percentage of the fast charge current IFAST-CHG.
+uint8_t MAX77650_getT_TOPOFF(void); //Returns the Topoff timer value (tTO)
 
 //Charger Configuration Register D 0x1B
-byte MAX77650_getTJ_REG(void); //Returns the die junction temperature regulation point, TJ-REG
-byte MAX77650_getVSYS_REG(void); //Returns the System voltage regulation (VSYS-REG)
+uint8_t MAX77650_getTJ_REG(void); //Returns the die junction temperature regulation point, TJ-REG
+uint8_t MAX77650_getVSYS_REG(void); //Returns the System voltage regulation (VSYS-REG)
 
 //Charger Configuration Register E 0x1C
-byte MAX77650_getCHG_CC(void); //Returns the fast-charge constant current value, IFAST-CHG.
-byte MAX77650_getT_FAST_CHG(void); //Returns the fast-charge safety timer, tFC.
+uint8_t MAX77650_getCHG_CC(void); //Returns the fast-charge constant current value, IFAST-CHG.
+uint8_t MAX77650_getT_FAST_CHG(void); //Returns the fast-charge safety timer, tFC.
 
 //Charger Configuration Register F 0x1D
-byte MAX77650_getCHG_CC_JEITA(void); //Returns the IFAST-CHG_JEITA for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
-byte MAX77650_getTHM_EN(void); //Returns the Thermistor enable bit
+uint8_t MAX77650_getCHG_CC_JEITA(void); //Returns the IFAST-CHG_JEITA for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
+uint8_t MAX77650_getTHM_EN(void); //Returns the Thermistor enable bit
 
 //Charger Configuration Register G 0x1E
-byte MAX77650_getCHG_CV(void); //Returns the fast-charge battery regulation voltage, VFAST-CHG.
-boolean MAX77650_getUSBS(void); //this bit places CHGIN in USB suspend mode
+uint8_t MAX77650_getCHG_CV(void); //Returns the fast-charge battery regulation voltage, VFAST-CHG.
+bool MAX77650_getUSBS(void); //this bit places CHGIN in USB suspend mode
 
 //Charger Configuration Register H 0x1F
-byte MAX77650_getCHG_CV_JEITA(void); //Returns the modified VFAST-CHG for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
+uint8_t MAX77650_getCHG_CV_JEITA(void); //Returns the modified VFAST-CHG for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
 
 //Charger Configuration Register I 0x20
-byte MAX77650_getIMON_DISCHG_SCALE(void); //Returns the Selects the battery discharge current full-scale current value This 4-bit configuration starts at 7.5mA and ends at 300mA.
-byte MAX77650_getMUX_SEL(void); //Returns the analog channel to connect to AMUX configuration
+uint8_t MAX77650_getIMON_DISCHG_SCALE(void); //Returns the Selects the battery discharge current full-scale current value This 4-bit configuration starts at 7.5mA and ends at 300mA.
+uint8_t MAX77650_getMUX_SEL(void); //Returns the analog channel to connect to AMUX configuration
 
 //LDO Configuration Register A 0x38
-byte MAX77650_getTV_LDO(void); //Returns the LDO Target Output Voltage
+uint8_t MAX77650_getTV_LDO(void); //Returns the LDO Target Output Voltage
 
 //LDO Configuration Register B 0x39
-boolean MAX77650_getADE_LDO(void); //Returns LDO active-Discharge Enable
-byte MAX77650_getEN_LDO(void); //Enable Control for LDO.
+bool MAX77650_getADE_LDO(void); //Returns LDO active-Discharge Enable
+uint8_t MAX77650_getEN_LDO(void); //Enable Control for LDO.
 
 //SIMO Buck-Boost Global Configuration Register 0x28
-boolean MAX77650_getMRT_OTP(void); //Returns Manual Reset Time Configuration
-boolean MAX77650_getSBIA_LPM_DEF(void); //Returns Default voltage of the SBIA_LPM bit
-boolean MAX77650_getDBNC_nEN_DEF(void); //Returns Default Value of the DBNC_nEN bit
-byte MAX77650_getDRV_SBB(void); //Returns the SIMO Buck-Boost (all channels) Drive Strength Trim.
+bool MAX77650_getMRT_OTP(void); //Returns Manual Reset Time Configuration
+bool MAX77650_getSBIA_LPM_DEF(void); //Returns Default voltage of the SBIA_LPM bit
+bool MAX77650_getDBNC_nEN_DEF(void); //Returns Default Value of the DBNC_nEN bit
+uint8_t MAX77650_getDRV_SBB(void); //Returns the SIMO Buck-Boost (all channels) Drive Strength Trim.
 
 //SIMO Buck-Boost 0 Configuration Register A 0x29
-byte MAX77650_getIP_SBB0(void); //Returns the SIMO Buck-Boost Channel 0 Peak Current Limit
-byte MAX77650_getTV_SBB0(void); //Returns the SIMO Buck-Boost Channel 0 Target Output Voltage
+uint8_t MAX77650_getIP_SBB0(void); //Returns the SIMO Buck-Boost Channel 0 Peak Current Limit
+uint8_t MAX77650_getTV_SBB0(void); //Returns the SIMO Buck-Boost Channel 0 Target Output Voltage
 
 //SIMO Buck-Boost 0 Configuration Register B 0x2A
-boolean MAX77650_getADE_SBB0(void); //Returns SIMO Buck-Boost Channel 0 Active-Discharge Enable
-byte MAX77650_getEN_SBB0(void); //Returns the Enable Control for SIMO Buck-Boost Channel 0.
+bool MAX77650_getADE_SBB0(void); //Returns SIMO Buck-Boost Channel 0 Active-Discharge Enable
+uint8_t MAX77650_getEN_SBB0(void); //Returns the Enable Control for SIMO Buck-Boost Channel 0.
 
 //SIMO Buck-Boost 1 Configuration Register A 0x2B
-byte MAX77650_getIP_SBB1(void); //Returns the SIMO Buck-Boost Channel 1 Peak Current Limit
-byte MAX77650_getTV_SBB1(void); //Returns the SIMO Buck-Boost Channel 1 Target Output Voltage
+uint8_t MAX77650_getIP_SBB1(void); //Returns the SIMO Buck-Boost Channel 1 Peak Current Limit
+uint8_t MAX77650_getTV_SBB1(void); //Returns the SIMO Buck-Boost Channel 1 Target Output Voltage
 
 //SIMO Buck-Boost 1 Configuration Register B 0x2C
-boolean MAX77650_getADE_SBB1(void); //Returns SIMO Buck-Boost Channel 1 Active-Discharge Enable
-byte MAX77650_getEN_SBB1(void); //Returns the Enable Control for SIMO Buck-Boost Channel 1.
+bool MAX77650_getADE_SBB1(void); //Returns SIMO Buck-Boost Channel 1 Active-Discharge Enable
+uint8_t MAX77650_getEN_SBB1(void); //Returns the Enable Control for SIMO Buck-Boost Channel 1.
 
 //SIMO Buck-Boost 2 Configuration Register A 0x2D
-byte MAX77650_getIP_SBB2(void); //Returns the SIMO Buck-Boost Channel 2 Peak Current Limit
-byte MAX77650_getTV_SBB2(void); //Returns the SIMO Buck-Boost Channel 2 Target Output Voltage
+uint8_t MAX77650_getIP_SBB2(void); //Returns the SIMO Buck-Boost Channel 2 Peak Current Limit
+uint8_t MAX77650_getTV_SBB2(void); //Returns the SIMO Buck-Boost Channel 2 Target Output Voltage
 
 //SIMO Buck-Boost 2 Configuration Register B 0x2E
-boolean MAX77650_getADE_SBB2(void); //Returns SIMO Buck-Boost Channel 2 Active-Discharge Enable
-byte MAX77650_getEN_SBB2(void); //Returns the Enable Control for SIMO Buck-Boost Channel 2.
+bool MAX77650_getADE_SBB2(void); //Returns SIMO Buck-Boost Channel 2 Active-Discharge Enable
+uint8_t MAX77650_getEN_SBB2(void); //Returns the Enable Control for SIMO Buck-Boost Channel 2.
 
 
 //***** Register writes *****
 
 //LDO Configuration Register A 0x38
-boolean MAX77650_setTV_LDO(byte); //Sets the LDO Target Output Voltage
+bool MAX77650_setTV_LDO(uint8_t); //Sets the LDO Target Output Voltage
 
 //LDO Configuration Register B 0x39
-boolean MAX77650_setADE_LDO(byte); //Sets LDO active-Discharge Enable
-boolean MAX77650_setEN_LDO(byte); //Enable LDO
+bool MAX77650_setADE_LDO(uint8_t); //Sets LDO active-Discharge Enable
+bool MAX77650_setEN_LDO(uint8_t); //Enable LDO
 
 //Charger Configuration Register A 0x18
-boolean MAX77650_setTHM_HOT(byte); //Sets the VHOT JEITA Temperature Threshold
-boolean MAX77650_setTHM_WARM(byte); //Sets the VWARM JEITA Temperature Threshold
-boolean MAX77650_setTHM_COOL(byte); //Sets the VCOOL JEITA Temperature Threshold
-boolean MAX77650_setTHM_COLD(byte); //Sets the VCOLD JEITA Temperature Threshold
+bool MAX77650_setTHM_HOT(uint8_t); //Sets the VHOT JEITA Temperature Threshold
+bool MAX77650_setTHM_WARM(uint8_t); //Sets the VWARM JEITA Temperature Threshold
+bool MAX77650_setTHM_COOL(uint8_t); //Sets the VCOOL JEITA Temperature Threshold
+bool MAX77650_setTHM_COLD(uint8_t); //Sets the VCOLD JEITA Temperature Threshold
 
 //Charger Configuration Register B 0x19
-boolean MAX77650_setVCHGIN_MIN(byte); //Sets the Minimum CHGIN regulation voltage (VCHGIN-MIN)
-boolean MAX77650_setICHGIN_LIM(byte); //Sets the CHGIN Input Current Limit (ICHGIN-LIM)
-boolean MAX77650_setI_PQ(boolean); //Sets the prequalification charge current (IPQ) as a percentage of IFAST-CHG
-boolean MAX77650_setCHG_EN(boolean); //Sets Charger Enable
+bool MAX77650_setVCHGIN_MIN(uint8_t); //Sets the Minimum CHGIN regulation voltage (VCHGIN-MIN)
+bool MAX77650_setICHGIN_LIM(uint8_t); //Sets the CHGIN Input Current Limit (ICHGIN-LIM)
+bool MAX77650_setI_PQ(bool); //Sets the prequalification charge current (IPQ) as a percentage of IFAST-CHG
+bool MAX77650_setCHG_EN(bool); //Sets Charger Enable
 
 //Charger Configuration Register C 0x1A
-boolean MAX77650_setCHG_PQ(byte); //Sets the Battery prequalification voltage threshold (VPQ)
-boolean MAX77650_setI_TERM(byte); //Sets the Charger Termination Current (ITERM). I_TERM[1:0] sets the charger termination current as a percentage of the fast charge current IFAST-CHG.
-boolean MAX77650_setT_TOPOFF(byte); //Sets the Topoff timer value (tTO)
+bool MAX77650_setCHG_PQ(uint8_t); //Sets the Battery prequalification voltage threshold (VPQ)
+bool MAX77650_setI_TERM(uint8_t); //Sets the Charger Termination Current (ITERM). I_TERM[1:0] sets the charger termination current as a percentage of the fast charge current IFAST-CHG.
+bool MAX77650_setT_TOPOFF(uint8_t); //Sets the Topoff timer value (tTO)
 
 //Charger Configuration Register D 0x1B
-boolean MAX77650_setTJ_REG(byte); //Sets the die junction temperature regulation point, TJ-REG
-boolean MAX77650_setVSYS_REG(byte); //Sets the System voltage regulation (VSYS-REG)
+bool MAX77650_setTJ_REG(uint8_t); //Sets the die junction temperature regulation point, TJ-REG
+bool MAX77650_setVSYS_REG(uint8_t); //Sets the System voltage regulation (VSYS-REG)
 
 //Charger Configuration Register E 0x1C
-boolean MAX77650_setCHG_CC(byte); //Sets the fast-charge constant current value, IFAST-CHG.
-boolean MAX77650_setT_FAST_CHG(byte); //Sets the fast-charge safety timer, tFC.
+bool MAX77650_setCHG_CC(uint8_t); //Sets the fast-charge constant current value, IFAST-CHG.
+bool MAX77650_setT_FAST_CHG(uint8_t); //Sets the fast-charge safety timer, tFC.
 
 //Charger Configuration Register F 0x1D
-boolean MAX77650_setCHG_CC_JEITA(byte); //Sets the IFAST-CHG_JEITA for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
-boolean MAX77650_setTHM_EN(boolean); //Sets the Thermistor enable bit
+bool MAX77650_setCHG_CC_JEITA(uint8_t); //Sets the IFAST-CHG_JEITA for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
+bool MAX77650_setTHM_EN(bool); //Sets the Thermistor enable bit
 
 //Charger Configuration Register G 0x1E
-boolean MAX77650_setCHG_CV(byte); //Sets the fast-charge battery regulation voltage, VFAST-CHG.
-boolean MAX77650_setUSBS(boolean); //this bit places CHGIN in USB suspend mode
+bool MAX77650_setCHG_CV(uint8_t); //Sets the fast-charge battery regulation voltage, VFAST-CHG.
+bool MAX77650_setUSBS(bool); //this bit places CHGIN in USB suspend mode
 
 //Charger Configuration Register H 0x1F
-boolean MAX77650_setCHG_CV_JEITA(byte); //Sets the modified VFAST-CHG for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
+bool MAX77650_setCHG_CV_JEITA(uint8_t); //Sets the modified VFAST-CHG for when the battery is either cool or warm as defined by the TCOOL and TWARM temperature thresholds. This register is a don't care if the battery temperature is normal.
 
 //Charger Configuration Register I 0x20
-boolean MAX77650_setIMON_DISCHG_SCALE(byte); //Sets the Selects the battery discharge current full-scale current value This 4-bit configuration starts at 7.5mA and ends at 300mA.
-boolean MAX77650_setMUX_SEL(byte); //Sets the analog channel to connect to AMUX configuration
+bool MAX77650_setIMON_DISCHG_SCALE(uint8_t); //Sets the Selects the battery discharge current full-scale current value This 4-bit configuration starts at 7.5mA and ends at 300mA.
+bool MAX77650_setMUX_SEL(uint8_t); //Sets the analog channel to connect to AMUX configuration
 
 //SIMO Buck-Boost Global Configuration Register 0x28
-boolean MAX77650_setMRT_OTP(boolean); //Sets Manual Reset Time Configuration
-boolean MAX77650_setSBIA_LPM_DEF(boolean); //Sets Default voltage of the SBIA_LPM bit
-boolean MAX77650_setDBNC_nEN_DEF(boolean); //Sets Default Value of the DBNC_nEN bit
-boolean MAX77650_setDRV_SBB(byte); //Sets the SIMO Buck-Boost (all channels) Drive Strength Trim.
+bool MAX77650_setMRT_OTP(bool); //Sets Manual Reset Time Configuration
+bool MAX77650_setSBIA_LPM_DEF(bool); //Sets Default voltage of the SBIA_LPM bit
+bool MAX77650_setDBNC_nEN_DEF(bool); //Sets Default Value of the DBNC_nEN bit
+bool MAX77650_setDRV_SBB(uint8_t); //Sets the SIMO Buck-Boost (all channels) Drive Strength Trim.
 
 //SIMO Buck-Boost 0 Configuration Register A 0x29
-boolean MAX77650_setIP_SBB0(byte); //Sets the SIMO Buck-Boost Channel 0 Peak Current Limit
-boolean MAX77650_setTV_SBB0(byte); //Sets the SIMO Buck-Boost Channel 0 Target Output Voltage
+bool MAX77650_setIP_SBB0(uint8_t); //Sets the SIMO Buck-Boost Channel 0 Peak Current Limit
+bool MAX77650_setTV_SBB0(uint8_t); //Sets the SIMO Buck-Boost Channel 0 Target Output Voltage
 
 //SIMO Buck-Boost 0 Configuration Register B 0x2A
-boolean MAX77650_setADE_SBB0(boolean); //Sets SIMO Buck-Boost Channel 0 Active-Discharge Enable
-boolean MAX77650_setEN_SBB0(byte); //Sets the Enable Control for SIMO Buck-Boost Channel 0.
+bool MAX77650_setADE_SBB0(bool); //Sets SIMO Buck-Boost Channel 0 Active-Discharge Enable
+bool MAX77650_setEN_SBB0(uint8_t); //Sets the Enable Control for SIMO Buck-Boost Channel 0.
 
 //SIMO Buck-Boost 1 Configuration Register A 0x2B
-boolean MAX77650_setIP_SBB1(byte); //Sets the SIMO Buck-Boost Channel 1 Peak Current Limit
-boolean MAX77650_setTV_SBB1(byte); //Sets the SIMO Buck-Boost Channel 1 Target Output Voltage
+bool MAX77650_setIP_SBB1(uint8_t); //Sets the SIMO Buck-Boost Channel 1 Peak Current Limit
+bool MAX77650_setTV_SBB1(uint8_t); //Sets the SIMO Buck-Boost Channel 1 Target Output Voltage
 
 //SIMO Buck-Boost 1 Configuration Register B 0x2C
-boolean MAX77650_setADE_SBB1(boolean); //Sets SIMO Buck-Boost Channel 1 Active-Discharge Enable
-boolean MAX77650_setEN_SBB1(byte); //Sets the Enable Control for SIMO Buck-Boost Channel 1.
+bool MAX77650_setADE_SBB1(bool); //Sets SIMO Buck-Boost Channel 1 Active-Discharge Enable
+bool MAX77650_setEN_SBB1(uint8_t); //Sets the Enable Control for SIMO Buck-Boost Channel 1.
 
 //SIMO Buck-Boost 2 Configuration Register A 0x2D
-boolean MAX77650_setIP_SBB2(byte); //Sets the SIMO Buck-Boost Channel 2 Peak Current Limit
-boolean MAX77650_setTV_SBB2(byte); //Sets the SIMO Buck-Boost Channel 2 Target Output Voltage
+bool MAX77650_setIP_SBB2(uint8_t); //Sets the SIMO Buck-Boost Channel 2 Peak Current Limit
+bool MAX77650_setTV_SBB2(uint8_t); //Sets the SIMO Buck-Boost Channel 2 Target Output Voltage
 
 //SIMO Buck-Boost 2 Configuration Register B 0x2E
-boolean MAX77650_setADE_SBB2(boolean); //Sets SIMO Buck-Boost Channel 2 Active-Discharge Enable
-boolean MAX77650_setEN_SBB2(byte); //Sets the Enable Control for SIMO Buck-Boost Channel 2.
+bool MAX77650_setADE_SBB2(bool); //Sets SIMO Buck-Boost Channel 2 Active-Discharge Enable
+bool MAX77650_setEN_SBB2(uint8_t); //Sets the Enable Control for SIMO Buck-Boost Channel 2.
 
 //LED related registers
-boolean MAX77650_setEN_LED_MSTR(boolean); //Sets Master LED Enable Bit
-boolean MAX77650_setLED_FS0(byte); //Sets LED0 Full Scale Range
-boolean MAX77650_setINV_LED0(boolean); //Sets LED0 Invert
-boolean MAX77650_setBRT_LED0(byte); //Sets LED0 Brightness Control
-boolean MAX77650_setP_LED0(byte); //Sets LED0 Period Settings
-boolean MAX77650_setD_LED0(byte); //Sets LED0 On Duty-Cycle Settings
-boolean MAX77650_setLED_FS1(byte); //Sets LED1 Full Scale Range
-boolean MAX77650_setINV_LED1(boolean); //Sets LED1 Invert
-boolean MAX77650_setBRT_LED1(byte); //Sets LED1 Brightness Control
-boolean MAX77650_setP_LED1(byte); //Sets LED1 Period Settings
-boolean MAX77650_setD_LED1(byte); //Sets LED1 On Duty-Cycle Settings
-boolean MAX77650_setLED_FS2(byte); //Sets LED2 Full Scale Range
-boolean MAX77650_setINV_LED2(boolean); //Sets LED2 Invert
-boolean MAX77650_setBRT_LED2(byte); //Sets LED2 Brightness Control
-boolean MAX77650_setP_LED2(byte); //Sets LED2 Period Settings
-boolean MAX77650_setD_LED2(byte); //Sets LED2 On Duty-Cycle Settings
+bool MAX77650_setEN_LED_MSTR(bool); //Sets Master LED Enable Bit
+bool MAX77650_setLED_FS0(uint8_t); //Sets LED0 Full Scale Range
+bool MAX77650_setINV_LED0(bool); //Sets LED0 Invert
+bool MAX77650_setBRT_LED0(uint8_t); //Sets LED0 Brightness Control
+bool MAX77650_setP_LED0(uint8_t); //Sets LED0 Period Settings
+bool MAX77650_setD_LED0(uint8_t); //Sets LED0 On Duty-Cycle Settings
+bool MAX77650_setLED_FS1(uint8_t); //Sets LED1 Full Scale Range
+bool MAX77650_setINV_LED1(bool); //Sets LED1 Invert
+bool MAX77650_setBRT_LED1(uint8_t); //Sets LED1 Brightness Control
+bool MAX77650_setP_LED1(uint8_t); //Sets LED1 Period Settings
+bool MAX77650_setD_LED1(uint8_t); //Sets LED1 On Duty-Cycle Settings
+bool MAX77650_setLED_FS2(uint8_t); //Sets LED2 Full Scale Range
+bool MAX77650_setINV_LED2(bool); //Sets LED2 Invert
+bool MAX77650_setBRT_LED2(uint8_t); //Sets LED2 Brightness Control
+bool MAX77650_setP_LED2(uint8_t); //Sets LED2 Period Settings
+bool MAX77650_setD_LED2(uint8_t); //Sets LED2 On Duty-Cycle Settings
 
 //Global Configuration register 0x10
-boolean MAX77650_setBOK(boolean); //Sets Main Bias Okay Status Bit
-boolean MAX77650_setSBIA_LPM(boolean); //Sets Main Bias Low-Power Mode software request
-boolean MAX77650_setSBIA_EN(boolean); //Sets Main Bias Enable Software Request
-boolean MAX77650_setnEN_MODE(boolean); //Sets nEN Input (ONKEY) Default Configuration Mode
-boolean MAX77650_setDBEN_nEN(boolean); //Sets Debounce Timer Enable for the nEN Pin
-boolean MAX77650_setSFT_RST(byte); //Sets Software Reset Functions.
+bool MAX77650_setBOK(bool); //Sets Main Bias Okay Status Bit
+bool MAX77650_setSBIA_LPM(bool); //Sets Main Bias Low-Power Mode software request
+bool MAX77650_setSBIA_EN(bool); //Sets Main Bias Enable Software Request
+bool MAX77650_setnEN_MODE(bool); //Sets nEN Input (ONKEY) Default Configuration Mode
+bool MAX77650_setDBEN_nEN(bool); //Sets Debounce Timer Enable for the nEN Pin
+bool MAX77650_setSFT_RST(uint8_t); //Sets Software Reset Functions.
 
 //Global Interrupt Mask Register 0x06
-boolean MAX77650_setINT_M_GLBL(byte); //Sets Global Interrupt Mask Register
+bool MAX77650_setINT_M_GLBL(uint8_t); //Sets Global Interrupt Mask Register
 
 //GPIO Configuration Register
-boolean MAX77650_setDBEN_GPI(boolean); //Sets General Purpose Input Debounce Timer Enable
-boolean MAX77650_setDO(boolean); //Sets General Purpose Output Data Output
-boolean MAX77650_setDRV(boolean); //Sets General Purpose Output Driver Type
-boolean MAX77650_setDI(boolean); //Sets GPIO Digital Input Value
-boolean MAX77650_setDIR(boolean); //Sets GPIO Direction
+bool MAX77650_setDBEN_GPI(bool); //Sets General Purpose Input Debounce Timer Enable
+bool MAX77650_setDO(bool); //Sets General Purpose Output Data Output
+bool MAX77650_setDRV(bool); //Sets General Purpose Output Driver Type
+bool MAX77650_setDI(bool); //Sets GPIO Digital Input Value
+bool MAX77650_setDIR(bool); //Sets GPIO Direction
 
 //Charger Interrupt Mask Register 0x07
-boolean MAX77650_setINT_M_CHG(byte); //Sets Global Interrupt Mask Register
+bool MAX77650_setINT_M_CHG(uint8_t); //Sets Global Interrupt Mask Register
 
 
 #endif
-- 
GitLab