Projectlab Elektronica-ICT KULeuven
Dependencies: EthernetInterface TMP102 TextLCD mbed-rtos mbed
Revision 3:344115c04cd0, committed 2014-03-16
- Comitter:
- seppeduwe
- Date:
- Sun Mar 16 18:56:08 2014 +0000
- Parent:
- 2:1243006bb879
- Child:
- 4:466d859bfb13
- Commit message:
- Range Temp en PWM
Changed in this revision
--- a/Frame.cpp Sun Mar 16 16:52:27 2014 +0000 +++ b/Frame.cpp Sun Mar 16 18:56:08 2014 +0000 @@ -44,7 +44,6 @@ if ( frame[0]==0xAA && frame[1]==0xBB && frame[length-2]==0xCC && frame[length-1]==0xDD) { IdDestinationMbed = (int) frame[3]; - //temperature = (int) (0.026862*((frame[4]<<8) | frame[5])-25) ; temperature = (int) ((frame[4]<<8) | frame[5]) ; pWMDutycycle = (int)frame[6]; tune = (int) frame [7]; @@ -71,9 +70,9 @@ encode[1]=0xBB; encode[2]= (char) length; encode[3]= (char) IdDestinationMbed; - encode[4]= (char) (((int)(37.227*temperature+930.68))>>8); - encode[5]= (int) (37.227*temperature+930.68); - encode[6]= (char) pWMDutycycle*2.55; + encode[4]= (char) (temperature>>8); + encode[5]= (char) temperature; + encode[6]= (char) pWMDutycycle; encode[7]= (char) tune; for (int i=0; i<lengthIDs; i++) { @@ -167,13 +166,13 @@ { return IdDestinationMbed; } -void Frame::setTemperature(int temperature) +void Frame::setTemperature(float temperature) { - this->temperature=temperature; + this->temperature=(int) (37.227*(temperature+25)); } int Frame::getTemperature(void) { - return temperature; + return (int) (0.026862*temperature-25); } void Frame::setPWMDutycycle(int pWMDutycycle) {
--- a/Frame.h Sun Mar 16 16:52:27 2014 +0000 +++ b/Frame.h Sun Mar 16 18:56:08 2014 +0000 @@ -28,7 +28,7 @@ //int Length(char* frame); void setIdDestinationMbed(int IdDestinationMbed); int getIdDestinationMbed(void); - void setTemperature(int temperature); + void setTemperature(float temperature); int getTemperature(void); void setPWMDutycycle(int pWMDutycycle); void setTune(int tune);
--- a/Potentiometer.cpp Sun Mar 16 16:52:27 2014 +0000 +++ b/Potentiometer.cpp Sun Mar 16 18:56:08 2014 +0000 @@ -6,8 +6,12 @@ potentiometer = new AnalogIn(p15); } -int Potentiometer::getPotentiometer() +float Potentiometer::getPotentiometer() { - int returnvalue = (int) (potentiometer->read()*100); - return returnvalue; + return potentiometer->read(); +} +//Legacy code +int Potentiometer::getPotentiometer255() +{ + return (int) potentiometer->read()*255; } \ No newline at end of file
--- a/Potentiometer.h Sun Mar 16 16:52:27 2014 +0000 +++ b/Potentiometer.h Sun Mar 16 18:56:08 2014 +0000 @@ -7,6 +7,7 @@ AnalogIn* potentiometer; public: Potentiometer(); - int getPotentiometer(); + float getPotentiometer(); + int getPotentiometer255(); }; #endif \ No newline at end of file
--- a/Temperature.cpp Sun Mar 16 16:52:27 2014 +0000 +++ b/Temperature.cpp Sun Mar 16 18:56:08 2014 +0000 @@ -7,7 +7,13 @@ } //set the text on the display -double Temperature::getTemperature() +float Temperature::getTemperature() { - return (double) temperature->read(); + return temperature->read(); +} +//Legacy code +int Temperature::getTemperature4095() +{ + return (int) (37.227*(temperature->read()+25)); + } \ No newline at end of file
--- a/Temperature.h Sun Mar 16 16:52:27 2014 +0000 +++ b/Temperature.h Sun Mar 16 18:56:08 2014 +0000 @@ -7,6 +7,7 @@ TMP102* temperature; public: Temperature(); - double getTemperature(); + float getTemperature(); + int getTemperature4095(); }; #endif \ No newline at end of file
--- a/main.cpp Sun Mar 16 16:52:27 2014 +0000 +++ b/main.cpp Sun Mar 16 18:56:08 2014 +0000 @@ -30,7 +30,7 @@ buttonDestinationIpUp.rise(&DestinationIpUp); // attach the address of the flip function to the rising edge char buf[256]; - Frame testFrame; + Frame dataFrame; Server server("192.168.0.107"); server.printStatus(); Display display; @@ -41,22 +41,23 @@ while(1) { if(server.read(buf)) { - if(!testFrame.Decode(buf)) + if(!dataFrame.Decode(buf)) printf("Frame CRC Error \n\r"); - if(testFrame.getIdDestinationMbed()==7) { + if(dataFrame.getIdDestinationMbed()==7) { printf("Voor mij\n\r"); - PWMout=potentiometer.getPotentiometer()/100; - tune.play(testFrame.getTune()); - //display.setText("Temp: %d",(0.026862*(testFrame.getTemperature()-25))); - display.setText("Temp: %d",testFrame.getTemperature()); - testFrame.setIdDestinationMbed(IpDestination); - testFrame.setTemperature(temp.getTemperature()); - testFrame.setPWMDutycycle(potentiometer.getPotentiometer()); - testFrame.setTune(testFrame.getTune()+1); - testFrame.AddID(7); - testFrame.Encode(buf); + PWMout=potentiometer.getPotentiometer(); + PWMout.period(0.010);// set PWM period to 10 ms + tune.play(dataFrame.getTune()); + display.setText("Temp: %d °C",dataFrame.getTemperature()); + //display.setText("Temp: %d",dataFrame.getTemperature()); + dataFrame.setIdDestinationMbed(IpDestination); + dataFrame.setTemperature(temp.getTemperature()); + dataFrame.setPWMDutycycle(potentiometer.getPotentiometer()); + dataFrame.setTune(dataFrame.getTune()+1); + dataFrame.AddID(7); + dataFrame.Encode(buf); } - if(!testFrame.CheckMyID(7)) { + if(!dataFrame.CheckMyID(7)) { server.connect(destIp); server.send(buf); } @@ -67,20 +68,20 @@ else IpDestination=1; sprintf(destIp,"192.168.0.1%02i",IpDestination); - display.setText("192.168.0.1%02i",IpDestination); + display.setText("IP: 192.168.0.1%02i",IpDestination); BoolIpDestination=0; wait(0.5); } if(Send) { - testFrame.setIdDestinationMbed(IpDestination); - testFrame.setTemperature(temp.getTemperature()); - testFrame.setPWMDutycycle(potentiometer.getPotentiometer()); - testFrame.setTune(1); - testFrame.AddID(7); + dataFrame.setIdDestinationMbed(IpDestination); + dataFrame.setTemperature(temp.getTemperature()); + dataFrame.setPWMDutycycle(potentiometer.getPotentiometer()); + dataFrame.setTune(1); + dataFrame.AddID(7); //char testIDs[]= {0x08,0x09,0x0A}; - //testFrame->setLengthIDs(3); - //testFrame->setIDs(testIDs); - testFrame.Encode(buf); + //dataFrame->setLengthIDs(3); + //dataFrame->setIDs(testIDs); + dataFrame.Encode(buf); server.connect(destIp); server.send(buf);