This program controls the Power Management Circuit Board Revision A.
Fork of PCAL9555_Hello by
main.cpp@4:df821f0e9ad7, 2017-03-30 (annotated)
- 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?
User | Revision | Line number | New 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 |