A multifunctional and modular Firmware for Multitech's mDot based on ARM mBed provides a widerange of functionality for several Sensors such as MAX44009, BME280, MPU9250, SI1143 and uBlox. It allows you to quickly build a Sensornode that measures specific data with its sensors and sends it via LoRaWAN.

Dependencies:   mDot_LoRa_Sensornode_Flowmeter_impl mbed-rtos mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers FlowMeterMessage.cpp Source File

FlowMeterMessage.cpp

00001 /*
00002  * FlowMeterMessage.cpp
00003  *
00004  *  Created on: 23.10.2018
00005  *      Author: Adrian
00006  */
00007 
00008 #include "FlowMeterMessage.h"
00009 #include "main.h"
00010 
00011 FlowMeterMessage::FlowMeterMessage() {
00012     this->flowMessageId.push_back(FLOWMETER_CURRENT_FLOW_MESSAGE_ID);
00013     this->flowMessageId.push_back(FLOWMETER_CURRENT_VOLUME_MESSAGE_ID);
00014     this->flowMessageId.push_back(FLOWMETER_TOTAL_FLOW_MESSAGE_ID);
00015     this->flowMessageId.push_back(FLOWMETER_TOTAL_VOLUME_MESSAGE_ID);
00016 
00017 }
00018 
00019 FlowMeterMessage::~FlowMeterMessage() {
00020     // TODO Auto-generated destructor stub
00021 }
00022 
00023 void FlowMeterMessage::setCurrentFlowrate(double currentFlowrate){
00024     this->currentFlowrate = currentFlowrate;
00025 }
00026 double FlowMeterMessage::getCurrentFlowrate(){
00027     return this->currentFlowrate;
00028 }
00029 void FlowMeterMessage::setCurrentVolume(double currentVolume){
00030     this->currentVolume = currentVolume;
00031 }
00032 double FlowMeterMessage::getCurrentVolume(){
00033     return this->currentVolume;
00034 }
00035 void FlowMeterMessage::setTotalFlowrate(double totalFlowrate){
00036     this->totalFlowrate = totalFlowrate;
00037 }
00038 double FlowMeterMessage::getTotalFlowrate(){
00039     return this->totalFlowrate;
00040 }
00041 void FlowMeterMessage::setTotalVolume(double totalVolume){
00042     this->totalVolume = totalVolume;
00043 }
00044 double FlowMeterMessage::getTotalVolume(){
00045     return this->totalVolume;
00046 }
00047 char* FlowMeterMessage::getLoRaMessageString(){
00048     char buffer[20];
00049     flowMessage.clear();
00050     sprintf(buffer,"%s:%.3f,",flowMessageId.at(0).c_str(),(float)getCurrentFlowrate());
00051     flowMessage.append(buffer);
00052     sprintf(buffer,"%s:%.3f,",flowMessageId.at(1).c_str(),(float)getCurrentVolume());
00053     flowMessage.append(buffer);
00054     sprintf(buffer,"%s:%.3f,",flowMessageId.at(2).c_str(),(float)getTotalFlowrate());
00055     flowMessage.append(buffer);
00056     sprintf(buffer,"%s:%.3f,",flowMessageId.at(3).c_str(),(float)getTotalVolume());
00057     flowMessage.append(buffer);
00058     return (char*) flowMessage.c_str();
00059 }