StarBoard Orange - Example application No.1 GoogleChartLogger with StarBoard Orange

Dependencies:   EthernetNetIf mbed

Committer:
shintamainjp
Date:
Wed Aug 11 10:24:25 2010 +0000
Revision:
1:123eff9ba7b2
Parent:
0:77d8b45a8f42

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shintamainjp 0:77d8b45a8f42 1 /**
shintamainjp 0:77d8b45a8f42 2 * GoogleChart API interface driver. (Version 0.0.1)
shintamainjp 0:77d8b45a8f42 3 *
shintamainjp 0:77d8b45a8f42 4 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
shintamainjp 0:77d8b45a8f42 5 * http://shinta.main.jp/
shintamainjp 0:77d8b45a8f42 6 */
shintamainjp 0:77d8b45a8f42 7
shintamainjp 0:77d8b45a8f42 8 #ifndef _GOOGLE_CHART_H_
shintamainjp 0:77d8b45a8f42 9 #define _GOOGLE_CHART_H_
shintamainjp 0:77d8b45a8f42 10
shintamainjp 0:77d8b45a8f42 11 #include <string.h>
shintamainjp 0:77d8b45a8f42 12 #include <string>
shintamainjp 0:77d8b45a8f42 13 #include <ctype.h>
shintamainjp 0:77d8b45a8f42 14
shintamainjp 0:77d8b45a8f42 15 #include <mbed.h>
shintamainjp 0:77d8b45a8f42 16
shintamainjp 0:77d8b45a8f42 17 #include "Axis.h"
shintamainjp 0:77d8b45a8f42 18 #include "DataSet.h"
shintamainjp 0:77d8b45a8f42 19
shintamainjp 0:77d8b45a8f42 20 class GoogleChart {
shintamainjp 0:77d8b45a8f42 21 public:
shintamainjp 0:77d8b45a8f42 22
shintamainjp 0:77d8b45a8f42 23 GoogleChart();
shintamainjp 0:77d8b45a8f42 24 virtual ~GoogleChart();
shintamainjp 0:77d8b45a8f42 25
shintamainjp 0:77d8b45a8f42 26 virtual std::string toString() = 0;
shintamainjp 0:77d8b45a8f42 27
shintamainjp 0:77d8b45a8f42 28 int addNewAxis(Axis::Type type = Axis::Bottom);
shintamainjp 0:77d8b45a8f42 29 int setAxisType(const int number, Axis::Type type);
shintamainjp 0:77d8b45a8f42 30 int setAxisRange(const int number, int rangeStart, int rangeEnd);
shintamainjp 0:77d8b45a8f42 31 int removeAxis(const int number);
shintamainjp 0:77d8b45a8f42 32
shintamainjp 0:77d8b45a8f42 33 int addNewDataSet(std::string label, const int size);
shintamainjp 0:77d8b45a8f42 34 int removeDataSet(const int number);
shintamainjp 0:77d8b45a8f42 35 int addData(const int number, double data);
shintamainjp 0:77d8b45a8f42 36 int clearAllData(const int number);
shintamainjp 0:77d8b45a8f42 37 int setDataScale(const int number, int min, int max);
shintamainjp 0:77d8b45a8f42 38
shintamainjp 0:77d8b45a8f42 39 void setTitle(std::string title);
shintamainjp 0:77d8b45a8f42 40 std::string getTitle() const;
shintamainjp 0:77d8b45a8f42 41 void setWidth(int width);
shintamainjp 0:77d8b45a8f42 42 int getWidth() const;
shintamainjp 0:77d8b45a8f42 43 void setHeight(int height);
shintamainjp 0:77d8b45a8f42 44 int getHeight() const;
shintamainjp 0:77d8b45a8f42 45
shintamainjp 0:77d8b45a8f42 46 protected:
shintamainjp 0:77d8b45a8f42 47 static const std::string baseURL;
shintamainjp 0:77d8b45a8f42 48 std::string title;
shintamainjp 0:77d8b45a8f42 49 int width;
shintamainjp 0:77d8b45a8f42 50 int height;
shintamainjp 0:77d8b45a8f42 51
shintamainjp 0:77d8b45a8f42 52 static const int MAX_AXIS = 16;
shintamainjp 0:77d8b45a8f42 53 Axis *axislist[MAX_AXIS];
shintamainjp 0:77d8b45a8f42 54
shintamainjp 0:77d8b45a8f42 55 static const int MAX_DATA = 16;
shintamainjp 0:77d8b45a8f42 56 DataSet *datalist[MAX_DATA];
shintamainjp 0:77d8b45a8f42 57
shintamainjp 0:77d8b45a8f42 58 typedef enum {
shintamainjp 0:77d8b45a8f42 59 LineChart
shintamainjp 0:77d8b45a8f42 60 } ChartType;
shintamainjp 0:77d8b45a8f42 61
shintamainjp 0:77d8b45a8f42 62 static std::string toURL(std::string text);
shintamainjp 0:77d8b45a8f42 63
shintamainjp 0:77d8b45a8f42 64 static std::string paramChartType(ChartType chartType);
shintamainjp 0:77d8b45a8f42 65 static std::string paramAxis(Axis **list, int size);
shintamainjp 0:77d8b45a8f42 66 static std::string paramDataSet(DataSet **list, int size);
shintamainjp 0:77d8b45a8f42 67 static std::string paramTitle(std::string title, int color, double fontSize);
shintamainjp 0:77d8b45a8f42 68 static std::string paramSize(int width, int height);
shintamainjp 0:77d8b45a8f42 69 };
shintamainjp 0:77d8b45a8f42 70
shintamainjp 0:77d8b45a8f42 71 #endif