lcd handler for weather predictor
Dependencies: C12832_lcd LCD_fonts
Diff: GraphicHandler.cpp
- 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 {