This program controls the Power Management Circuit Board Revision A.

Dependencies:   PCAL955x mbed

Fork of PCAL9555_Hello by InetrfaceProducts NXP

Committer:
rvasquez6089
Date:
Thu Mar 30 02:16:31 2017 +0000
Revision:
4:df821f0e9ad7
Parent:
3:42d01cfd6477
Testing whether the STM32 can read the battery voltages

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nxp_ip 1:15df36975a85 1 #include "mbed.h"
nxp_ip 1:15df36975a85 2 #include "PCAL9555.h"
nxp_ip 0:26310705044b 3
rvasquez6089 2:8e9a39eff1c8 4 PCAL9555 gpio_exp( PB_9, PB_8, 0x40 ); // SDA, SCL, Slave_address(option)
rvasquez6089 2:8e9a39eff1c8 5 GpioDigitalOut Bat3EN( gpio_exp, X0_2 );
rvasquez6089 2:8e9a39eff1c8 6 GpioDigitalOut Bat2EN( gpio_exp, X0_1 );
rvasquez6089 2:8e9a39eff1c8 7 GpioDigitalOut Bat1EN( gpio_exp, X0_0 );
nxp_ip 1:15df36975a85 8
rvasquez6089 3:42d01cfd6477 9 Serial pi(PA_11, PA_12);
rvasquez6089 2:8e9a39eff1c8 10 DigitalOut EN33(PA_8);
rvasquez6089 2:8e9a39eff1c8 11 DigitalOut EN_PI_PWR(PA_9);
rvasquez6089 2:8e9a39eff1c8 12 DigitalOut EN_SERVO_PWR(PB_5);
rvasquez6089 2:8e9a39eff1c8 13 DigitalOut EN_LIGHTS_PWR(PA_10);
rvasquez6089 2:8e9a39eff1c8 14 DigitalOut BAT_PWR_EN(PB_10);
rvasquez6089 3:42d01cfd6477 15 AnalogIn BatS1(PA_0);
rvasquez6089 3:42d01cfd6477 16 AnalogIn BatS2(PA_3);
rvasquez6089 3:42d01cfd6477 17
nxp_ip 1:15df36975a85 18 int main() {
rvasquez6089 3:42d01cfd6477 19 int i = 1;
rvasquez6089 3:42d01cfd6477 20 float BatS1V;
rvasquez6089 3:42d01cfd6477 21 float BatS2V;
rvasquez6089 4:df821f0e9ad7 22 pi.printf("Hello World !\n");
rvasquez6089 2:8e9a39eff1c8 23 Bat3EN = 1;
rvasquez6089 2:8e9a39eff1c8 24 Bat2EN = 1;
rvasquez6089 2:8e9a39eff1c8 25 Bat1EN = 1;
rvasquez6089 2:8e9a39eff1c8 26 EN33 = 1;
rvasquez6089 3:42d01cfd6477 27
rvasquez6089 2:8e9a39eff1c8 28 EN_SERVO_PWR = 1;
rvasquez6089 2:8e9a39eff1c8 29 //EN_LIGHTS_PWR = 1;
rvasquez6089 2:8e9a39eff1c8 30 //EN_PI_PWR = 1;
rvasquez6089 2:8e9a39eff1c8 31 BAT_PWR_EN = 1;
nxp_ip 1:15df36975a85 32 while( 1 ) {
rvasquez6089 2:8e9a39eff1c8 33 wait(3);
rvasquez6089 2:8e9a39eff1c8 34 //BAT_PWR_EN = !BAT_PWR_EN;
rvasquez6089 3:42d01cfd6477 35 pi.printf("This program runs since %d seconds.\n", i++);
rvasquez6089 3:42d01cfd6477 36 BatS1V = BatS1*(3.30/0.25);
rvasquez6089 3:42d01cfd6477 37 BatS2V = BatS2*(3.30/0.25);
rvasquez6089 3:42d01cfd6477 38 pi.printf("Battery 1 Voltage = %d Battery 2 Voltage = %d", static_cast<int>(BatS1V),static_cast<int>(BatS2V));
rvasquez6089 2:8e9a39eff1c8 39
nxp_ip 1:15df36975a85 40 }
nxp_ip 0:26310705044b 41 }
rvasquez6089 2:8e9a39eff1c8 42