Skip to content
Snippets Groups Projects
Select Git revision
  • 71be1ddeb128e6068d2f1df605ec9c8c10f67091
  • master default protected
  • schneider/ir
  • rahix/user-space-ctx
  • schneider/iaq-python
  • schneider/ble-mini-demo
  • schneider/ble-ecg-stream-visu
  • schneider/mp-exception-print
  • schneider/sleep-display
  • schneider/deepsleep4
  • schneider/deepsleep2
  • schneider/deepsleep
  • schneider/ble-central
  • rahix/bluetooth-app-favorite
  • schneider/v1.17-changelog
  • schneider/ancs
  • schneider/png
  • schneider/freertos-list-debug
  • schneider/212-reset-hardware-when-entering-repl
  • schneider/bonding-fail-if-full
  • schneider/ble-fixes-2020-3
  • v1.18
  • v1.17
  • v1.16
  • v1.15
  • v1.14
  • v1.13
  • v1.12
  • v1.11
  • v1.10
  • v1.9
  • v1.8
  • v1.7
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
41 results

group__TMR__NOLCMP.html

Blame
  • pmic.c 4.83 KiB
    #include "i2c.h"
    #include "pmic.h"
    #include "MAX77650-Arduino-Library.h"
    #include <stdint.h>
    #include <stdio.h>
    
    static const gpio_cfg_t pmic_interrupt_pin = {
        PORT_0, PIN_12, GPIO_FUNC_IN, GPIO_PAD_PULL_UP
    };
    static pmic_button_callback_fn pmic_button_callback = NULL;
    static volatile bool interrupt_pending;
    
    void pmic_init(void)
    {
        uint8_t didm = MAX77650_getDIDM();
        uint8_t cid = MAX77650_getChipID();
        interrupt_pending = false;
    
        printf("MAX7765x DIDM: 0x%02x CID: 0x%02x\n", didm, cid);
    
        MAX77650_setIP_SBB0(0b11);  //Limit switch current of SBB0 to 500mA for noise reduction
        //MAX77650_setIP_SBB0(0b00);  //Limit switch current of SBB0 to 1000 mA
        MAX77650_setTV_SBB0(0b101000); //Set output Voltage of SBB0 to 1.8V
        MAX77650_setADE_SBB0(0b0); //Disable Active Discharge at SBB0 Output
        MAX77650_setEN_SBB0(0b110); //Enable SBB0 is on irrespective of FPS whenever the on/off controller is in its "On via Software" or "On via On/Off Controller" states
    
        //MAX77650_setIP_SBB1(0b11);  //Limit output of SBB1 to 500mA
    #if BOARD_EVKIT
        MAX77650_setTV_SBB1(0b100000); //Set output Voltage of SBB1 to 1.2V
    #else
        MAX77650_setTV_SBB1(0b001001); //Set output Voltage of SBB1 to 3.3V
    #endif
        MAX77650_setADE_SBB1(0b0); //Disable Active Discharge at SBB1 Output
        MAX77650_setEN_SBB1(0b110); //Enable SBB1 is on irrespective of FPS whenever the on/off controller is in its "On via Software" or "On via On/Off Controller" states
    
        MAX77650_setIP_SBB2(0b11);  //Limit switch current of SBB2 to 500mA for noise reduction
    #if BOARD_EVKIT
        MAX77650_setTV_SBB2(0b110010); //Set output Voltage of SBB2 to 3.3V
    #else
        //MAX77650_setTV_SBB2(0b110100); //Set output Voltage of SBB2 to 5.0V
        MAX77650_setTV_SBB2(0b010010); //Set output Voltage of SBB2 to 3.3V
    #endif
        MAX77650_setADE_SBB2(0b0); //Disable Active Discharge at SBB2 Output
        MAX77650_setEN_SBB2(0b110); //Enable SBB2 is on irrespective of FPS whenever the on/off controller is in its "On via Software" or "On via On/Off Controller" states
    
        // Prepare the PMIC LEDs
        MAX77650_setLED_FS0(0b11);
        MAX77650_setINV_LED0(false);    //LED red: phase operation
        MAX77650_setBRT_LED0(0b00000);  //LED red: brightness
        MAX77650_setP_LED0(0b1111);     //LED red: LED period
        MAX77650_setD_LED0(0b1111);     //LED red: LED duty-cycle
    
        MAX77650_setLED_FS1(0b11);
        MAX77650_setINV_LED1(false);    //LED green: phase operation
        MAX77650_setBRT_LED1(0b00000);  //LED green: brightness
        MAX77650_setP_LED1(0b1111);     //LED green: LED period
        MAX77650_setD_LED1(0b1111);     //LED green: LED duty-cycle
    
        MAX77650_setLED_FS2(0b11);
        MAX77650_setINV_LED2(false);    //LED blue: phase operation
        MAX77650_setBRT_LED2(0b00000);  //LED blue: brightness
        MAX77650_setP_LED2(0b1111);     //LED blue: LED period
        MAX77650_setD_LED2(0b1111);     //LED blue: LED duty-cycle
    
        MAX77650_setEN_LED_MSTR(true);  //LEDs Master enable
    
        MAX77650_setCHG_CV(0b11000);   // 4.2 V target battery voltage
        MAX77650_setICHGIN_LIM(1);      // 190 mA limit on USB
        MAX77650_setCHG_CC(0b1011);     // 90 mA fast charge current
        MAX77650_setCHG_EN(1);          // Turn on charger