lcd handler for weather predictor

Dependencies:   C12832_lcd LCD_fonts

Revision:
3:3569342a4ab0
Parent:
2:459f757bd2f4
Child:
4:1d811ee32310
--- a/GraphicHandler.cpp	Sun Feb 15 09:27:58 2015 +0000
+++ b/GraphicHandler.cpp	Wed Feb 18 15:01:52 2015 +0000
@@ -2,11 +2,12 @@
 #include "graphics.hpp"
 
 // コンストラクタ
-GraphicHandler::GraphicHandler(int data_dimension, int seq_time_interval, int predict_length)
+GraphicHandler::GraphicHandler(int data_dimension, int seq_time_interval, int predict_length, time_t init_time)
 {
-    this->data_dimension = data_dimension;
-    this->seq_time_interval  = seq_time_interval;
-    this->predict_length = predict_length;
+    this->data_dimension    = data_dimension;
+    this->seq_time_interval = seq_time_interval;
+    this->predict_length    = predict_length;
+    this->now_time          = init_time;
 
     // アロケート
     now_data        = new float[data_dimension];
@@ -15,8 +16,8 @@
     predict_probability = new float[predict_length];
 
     // ティッカー初期化
-    time_ticker.attach(this, &GraphicHandler::update_time, 60.0);
-    image_ticker.attach(this, &GraphicHandler::update_image, 1.0);
+    // time_ticker.attach(this, &GraphicHandler::update_time, 60.0);
+    // image_ticker.attach(this, &GraphicHandler::update_image, 1.0);
 
     // ジョイスティック割り込み設定 : p13が左, p16が右
     joy_left  = new InterruptIn(p13);
@@ -63,8 +64,8 @@
 void GraphicHandler::joyleft_isr(void)
 {
     current_display_no++;
-    update_draw();
-    printf("JOYSTICK LEFT FIRED DISP_NO:%d \r\n", current_display_no);
+    //update_draw();
+    //printf("JOYSTICK LEFT FIRED DISP_NO:%d \r\n", current_display_no);
 
 }
 
@@ -72,8 +73,8 @@
 void GraphicHandler::joyright_isr(void)
 {
     current_display_no--;
-    update_draw();
-    printf("JOYSTICK RIGHT FIRED DISP_NO:%d \r\n", current_display_no);
+    //update_draw();
+    //printf("JOYSTICK RIGHT FIRED DISP_NO:%d \r\n", current_display_no);
 }
 
 // 時間の更新
@@ -115,8 +116,8 @@
         draw_text_at("Now", (unsigned char *)Arial_9, 0, 0);
         // データ
         draw_data_at(now_data[0], "C", (unsigned char *)Small_7, 37, 4);
-        draw_data_at(now_data[1], "%%", (unsigned char *)Small_7, 37, 12);
-        draw_data_at(now_data[2], "hPa", (unsigned char *)Small_7, 37, 20);
+        draw_data_at(now_data[1], "hPa", (unsigned char *)Small_7, 37, 12);
+        draw_data_at(now_data[2], "%%", (unsigned char *)Small_7, 37, 20);
         // 時刻
         draw_time_at((unsigned char *)Arial_9, 0, 5, 10);
     } else {
@@ -124,16 +125,14 @@
         int base_index = data_dimension * (current_display_no-1);
         draw_text_at("Predict", (unsigned char *)Arial_9, 0, 0);
         draw_data_at(predict_data[base_index], "C", (unsigned char *)Small_7, 37, 4);
-        draw_data_at(predict_data[base_index + 1], "%%", (unsigned char *)Small_7, 37, 12);
-        draw_data_at(predict_data[base_index + 2], "hPa", (unsigned char *)Small_7, 37, 20);
+        draw_data_at(predict_data[base_index + 1], "hPa", (unsigned char *)Small_7, 37, 12);
+        draw_data_at(predict_data[base_index + 2], "%%", (unsigned char *)Small_7, 37, 20);
         draw_weather_bitmap_at(predict_weather[current_display_no-1], current_image_no, 87, 2);
         draw_percentage_at(predict_probability[current_display_no-1], (unsigned char *)Small_6, 112, 25);
         // 予測時刻
         draw_time_at((unsigned char *)Arial_9, seq_time_interval * current_display_no, 5, 10);
     }
 
-
-
 }
 
 // テキストの描画ルーチン
@@ -188,7 +187,7 @@
     time_t buf_time;
     // 経過時間が指定された場合は予測時刻であることがわかる
     if (elapsed_time > 0) {
-        buf_time = last_learned_time + elapsed_time * 60;
+        buf_time = last_learned_time + elapsed_time;
     } else if (elapsed_time == 0) {
         buf_time = now_time;
     } else {