• R/O
  • SSH

提交

标签

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Tunnel(Serial To IEEE1888)


Commit MetaInfo

修订版c7562623ec4d4b15568f572c948502040503c2e5 (tree)
时间2015-07-10 14:49:53
作者MirrgieRiana Kurilab
CommiterMirrgieRiana Kurilab

Log Message

rename: AntsElement -> FiapPacketBuffer

更改概述

差异

diff -r de5d2ab4fd03 -r c7562623ec4d TunnelSerialToIEEE1888/AntsElement.h
--- a/TunnelSerialToIEEE1888/AntsElement.h Fri Jul 10 14:37:42 2015 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
1-#ifndef INCLUDE_AntsElement_h
2-#define INCLUDE_AntsElement_h
3-
4-class DateTime
5-{
6-public:
7- unsigned short year;
8- byte month; // 1~12
9- byte day; // 1~31
10- byte hour; // 0~23
11- byte minute; // 0~59
12- byte second; // 0~59
13-};
14-
15-// addElementをひたすら呼び出すだけで送信される。
16-// 内部でバッファリングされるので、一連の追加が終わったらflushする。
17-class AntsElement
18-{
19-public:
20-
21-#define AntsElement_ELEMENTS_MAX_LENGTH 15
22-#define AntsElement_CID_MAX_LENGTH 40
23-#define AntsElement_VALUE_MAX_LENGTH 40
24-
25- AntsElement();
26-
27- // 現在入っているデータを破棄する。
28- void clear();
29-
30- // すべての引数は、メソッド内で複製されるので呼び出した後は変更してよい。
31- // これ以上追加できない場合は自動的にflushされる
32- // 文字数制限あり。
33- void acceptElement(char* cid, char* value, DateTime dateTime);
34-
35- // 自動的にclearされる。
36- void flush();
37-
38- struct fiap_element fiapElements[AntsElement_ELEMENTS_MAX_LENGTH];
39-
40- char fiapElement_cids
41- [AntsElement_ELEMENTS_MAX_LENGTH]
42- [AntsElement_CID_MAX_LENGTH];
43-
44- char fiapElement_values
45- [AntsElement_ELEMENTS_MAX_LENGTH]
46- [AntsElement_VALUE_MAX_LENGTH];
47-
48- int fiapElementLength;
49-
50-};
51-
52-#endif
53-
diff -r de5d2ab4fd03 -r c7562623ec4d TunnelSerialToIEEE1888/AntsElement.ino
--- a/TunnelSerialToIEEE1888/AntsElement.ino Fri Jul 10 14:37:42 2015 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
1-#include "AntsElement.h"
2-
3-AntsElement::AntsElement()
4-{
5- clear();
6-}
7-
8-void AntsElement::clear()
9-{
10- fiapElementLength = 0;
11-}
12-
13-void AntsElement::acceptElement(char* cid, char* value, DateTime dateTime)
14-{
15- if (fiapElementLength >= AntsElement_ELEMENTS_MAX_LENGTH) {
16- flush();
17- }
18-
19- strcpy(fiapElement_cids[fiapElementLength], cid);
20- strcpy(fiapElement_values[fiapElementLength], value);
21-
22- struct fiap_element tmp = {
23- fiapElement_cids[fiapElementLength],
24- fiapElement_values[fiapElementLength],
25- dateTime.year,
26- dateTime.month,
27- dateTime.day,
28- dateTime.hour,
29- dateTime.minute,
30- dateTime.second,
31- "+09:00",
32- };
33- fiapElements[fiapElementLength] = tmp;
34-
35- fiapElementLength++;
36- if (fiapElementLength >= AntsElement_ELEMENTS_MAX_LENGTH) {
37- flush();
38- }
39-}
40-
41-void AntsElement::flush()
42-{
43- if (fiapElementLength > 0) {
44- int res = fiapUploadAgent.post(fiapElements, fiapElementLength);
45- clear();
46-
47- if (res == 5) {
48- Serial.println("[Warning]:HTTP timeout");
49- } else if (res != 0) {
50- Serial.print("[Warning]:HTTP error: ");
51- Serial.print(res);
52- Serial.println("");
53- }
54- }
55-}
56-
57-
diff -r de5d2ab4fd03 -r c7562623ec4d TunnelSerialToIEEE1888/FiapPacketBuffer.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/TunnelSerialToIEEE1888/FiapPacketBuffer.h Fri Jul 10 14:49:53 2015 +0900
@@ -0,0 +1,56 @@
1+#ifndef INCLUDE_FiapPacketBuffer_h
2+#define INCLUDE_FiapPacketBuffer_h
3+
4+class DateTime
5+{
6+public:
7+ unsigned short year;
8+ byte month; // 1~12
9+ byte day; // 1~31
10+ byte hour; // 0~23
11+ byte minute; // 0~59
12+ byte second; // 0~59
13+};
14+
15+#define FiapPacketBuffer_ELEMENTS_MAX_LENGTH 15
16+#define FiapPacketBuffer_CID_MAX_LENGTH 40
17+#define FiapPacketBuffer_VALUE_MAX_LENGTH 40
18+
19+// acceptElementをひたすら呼び出すだけで送信される。
20+// 内部でバッファリングされる。一連の追加が終わったらflushすると、送信される。
21+// まったくflushしなくても、上限に到達したら自動的にflushされる。
22+class FiapPacketBuffer
23+{
24+public:
25+
26+ FiapPacketBuffer();
27+
28+ // 現在入っているデータを破棄する。
29+ void clear();
30+
31+ // すべての引数は、メソッド内で複製されるので呼び出した後は変更してよい。
32+ // これ以上追加できない場合は自動的にflushされる
33+ // 文字数制限あり。
34+ void acceptElement(char* cid, char* value, DateTime dateTime);
35+
36+ // 自動的にclearされる。
37+ void flush();
38+
39+private:
40+
41+ struct fiap_element fiapElements[FiapPacketBuffer_ELEMENTS_MAX_LENGTH];
42+
43+ char fiapElement_cids
44+ [FiapPacketBuffer_ELEMENTS_MAX_LENGTH]
45+ [FiapPacketBuffer_CID_MAX_LENGTH];
46+
47+ char fiapElement_values
48+ [FiapPacketBuffer_ELEMENTS_MAX_LENGTH]
49+ [FiapPacketBuffer_VALUE_MAX_LENGTH];
50+
51+ int fiapElementLength;
52+
53+};
54+
55+#endif
56+
diff -r de5d2ab4fd03 -r c7562623ec4d TunnelSerialToIEEE1888/FiapPacketBuffer.ino
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/TunnelSerialToIEEE1888/FiapPacketBuffer.ino Fri Jul 10 14:49:53 2015 +0900
@@ -0,0 +1,57 @@
1+#include "FiapPacketBuffer.h"
2+
3+FiapPacketBuffer::FiapPacketBuffer()
4+{
5+ clear();
6+}
7+
8+void FiapPacketBuffer::clear()
9+{
10+ fiapElementLength = 0;
11+}
12+
13+void FiapPacketBuffer::acceptElement(char* cid, char* value, DateTime dateTime)
14+{
15+ if (fiapElementLength >= FiapPacketBuffer_ELEMENTS_MAX_LENGTH) {
16+ flush();
17+ }
18+
19+ strcpy(fiapElement_cids[fiapElementLength], cid);
20+ strcpy(fiapElement_values[fiapElementLength], value);
21+
22+ struct fiap_element tmp = {
23+ fiapElement_cids[fiapElementLength],
24+ fiapElement_values[fiapElementLength],
25+ dateTime.year,
26+ dateTime.month,
27+ dateTime.day,
28+ dateTime.hour,
29+ dateTime.minute,
30+ dateTime.second,
31+ "+09:00",
32+ };
33+ fiapElements[fiapElementLength] = tmp;
34+
35+ fiapElementLength++;
36+ if (fiapElementLength >= FiapPacketBuffer_ELEMENTS_MAX_LENGTH) {
37+ flush();
38+ }
39+}
40+
41+void FiapPacketBuffer::flush()
42+{
43+ if (fiapElementLength > 0) {
44+ int res = fiapUploadAgent.post(fiapElements, fiapElementLength);
45+ clear();
46+
47+ if (res == 5) {
48+ Serial.println("[Warning]:HTTP timeout");
49+ } else if (res != 0) {
50+ Serial.print("[Warning]:HTTP error: ");
51+ Serial.print(res);
52+ Serial.println("");
53+ }
54+ }
55+}
56+
57+
diff -r de5d2ab4fd03 -r c7562623ec4d TunnelSerialToIEEE1888/core.ino
--- a/TunnelSerialToIEEE1888/core.ino Fri Jul 10 14:37:42 2015 +0900
+++ b/TunnelSerialToIEEE1888/core.ino Fri Jul 10 14:49:53 2015 +0900
@@ -1,7 +1,7 @@
11 #include "TunnelSerialToIEEE1888.h"
22 #include "core.h"
33
4-#include "AntsElement.h"
4+#include "FiapPacketBuffer.h"
55
66 void initCore()
77 {
@@ -22,7 +22,7 @@
2222 waitMs = 200;
2323 }
2424
25-AntsElement antsElement;
25+FiapPacketBuffer fiapPacketBuffer;
2626
2727 void tunnel::invokeCommand(SerialReader* serialReader)
2828 {
@@ -63,7 +63,7 @@
6363 if (strcmp(serialReader->argumentsString[0], "FlushFiapPacket") == 0) {
6464
6565 // 操作
66- antsElement.flush();
66+ fiapPacketBuffer.flush();
6767
6868 // ptint
6969 Serial.println("Message:flush");
@@ -82,7 +82,7 @@
8282 dateTime.minute = serialReader->argumentsInt[4];
8383 dateTime.second = serialReader->argumentsInt[5];
8484
85- antsElement.acceptElement(
85+ fiapPacketBuffer.acceptElement(
8686 serialReader->argumentsString[1],
8787 serialReader->argumentsString[2],
8888 dateTime);