Component Test Group / Mbed 2 deprecated Simple_Power_Distribution

Dependencies:   BridgeDriver MCP23017 TextLCD mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "LocalPinNames.h"
00003 #include "BridgeDriver.h"
00004 #include "TextLCD.h"
00005 
00006 I2C i2c(P0_10,P0_11);       // I2C bus (SDA, SCL)
00007 BridgeDriver bridges(&i2c); // bridge
00008 TextLCD_I2C lcd(&i2c, MCP23008_SA0, TextLCD::LCD20x4); // LCD
00009 DigitalIn killSw(KILL);
00010 
00011 void setDrives(int NEWSTATE) {
00012     lcd.setAddress(0,3); //set cursor to 0,0
00013     if (NEWSTATE)
00014         lcd.printf("Power On   ");
00015     else
00016         lcd.printf("Power Off  ");
00017     bridges.drive(1,NEWSTATE);
00018     bridges.drive(2,NEWSTATE);
00019     bridges.drive(3,NEWSTATE);
00020     bridges.drive(4,NEWSTATE);
00021     bridges.drive(5,NEWSTATE);
00022     bridges.drive(6,NEWSTATE);
00023     bridges.drive(7,NEWSTATE);
00024     bridges.drive(8,NEWSTATE);
00025 }
00026 
00027 int main() {
00028     killSw.mode(PullUp);
00029     i2c.frequency(1000000);
00030     lcd.setBacklight(TextLCD::LightOn);
00031     lcd.cls(); //clear the display
00032     lcd.setAddress(0,0); //set cursor to 0,0
00033     lcd.printf("Simple Power Supply");
00034     lcd.setAddress(0,1);
00035     lcd.printf("Operate with run sw.");
00036     
00037     int currentKillState = killSw;
00038     setDrives(!currentKillState);
00039     
00040     while(1) {
00041         if (currentKillState != killSw) {
00042             currentKillState = killSw;
00043             setDrives(!currentKillState);
00044         }
00045         wait(0.1);
00046     }
00047 }