EL_dev_arduino 4.0.0
読み取り中…
検索中…
一致する文字列を見つけられません
/Users/sugimura/EL_dev_arduino/ELOBJ.h
[詳解]
1
8#ifndef __ELOBJ_H__
9#define __ELOBJ_H__
10#pragma once
11
12#include <initializer_list>
13
14// auto config
15#ifndef GPP
16// arduino
17#include <Arduino.h>
18
19#else
20// g++
21typedef unsigned char byte;
22#include <iostream>
23using std::cout;
24using std::dec;
25using std::endl;
26using std::hex;
27using std::move;
28#endif
29
34class PDCEDT
35{
36protected:
37 byte *m_pdcedt;
38 byte length;
39
40public:
41 PDCEDT();
42 PDCEDT(const PDCEDT &val);
43 PDCEDT(const byte *val);
44 PDCEDT(std::initializer_list<byte> pdcedt);
45
46 virtual ~PDCEDT();
47
48 // setter
49 const PDCEDT operator=(const PDCEDT val);
50 const byte *operator=(const byte *val);
51 const byte *operator=(std::initializer_list<byte> pdcedt);
52 const byte *setEDT(const byte edt[], int size);
53 const byte *setEDT(std::initializer_list<byte> edt);
54
55 // getter
56 const byte getLength() const;
57 const byte getPDC() const;
58 const byte *getEDT() const;
59
60 // キャスト
61 operator byte *() const;
62
63 // チェック
64 const bool isEmpty() const;
65 const bool isNull() const;
66
67 void print(void) const;
68};
69
74class ELOBJ
75{
76 // メンバ変数定義
77protected:
78 const static byte PDC_MAX = 0x80;
80
81 // member function
82public:
83 ELOBJ(); // 構築
84 virtual ~ELOBJ(); // 消滅
85
86 // データ取得
87 const PDCEDT GetPDCEDT(const byte epc) const;
88 const PDCEDT SetPDCEDT(const byte epc, const PDCEDT pdcedt);
89 const PDCEDT SetPDCEDT(const byte epc, const byte *&&pdcedt);
90 const PDCEDT SetPDCEDT(const byte epc, std::initializer_list<byte> pdcedt);
91 const PDCEDT SetMyPropertyMap(const byte epc, std::initializer_list<byte> epcs); // for EPC: 9e,9d,9f
92 const byte *GetMyPropertyMap(const byte epc) const;
93
94 const bool hasGetProperty(const byte epc) const; // Get可能なEPC?
95 const bool hasSetProperty(const byte epc) const; // Set可能なEPC?
96 const bool hasInfProperty(const byte epc) const; // Inf必須なEPC?
97
98 // 配列らしいインターフェイス
99 const PDCEDT operator[](const byte epc) const;
100 PDCEDT &operator[](const byte epc);
101
102 // 状態表示系
103 void printAll() const; // all print edt
104};
105
106#endif
108// EOF
EL Object
Definition: ELOBJ.h:75
const PDCEDT SetPDCEDT(const byte epc, const PDCEDT pdcedt)
EPCに対して、PDCEDTのを結びつける(セットと更新)
Definition: ELOBJ.cpp:375
void printAll() const
null以外のEPCを全部出力
Definition: ELOBJ.cpp:620
const PDCEDT SetMyPropertyMap(const byte epc, std::initializer_list< byte > epcs)
PropertyMap(0x9d, 0x9e, 0x9f)を計算してPDCとEDTを設定する
Definition: ELOBJ.cpp:423
virtual ~ELOBJ()
デストラクタ
Definition: ELOBJ.cpp:352
ELOBJ()
コンストラクタ
Definition: ELOBJ.cpp:343
const byte * GetMyPropertyMap(const byte epc) const
PropertyMap(0x9d, 0x9e, 0x9f)を計算して 個数 + EPCsの形で返す(個数はPDCではないことに注意)
Definition: ELOBJ.cpp:473
const bool hasGetProperty(const byte epc) const
指定のEPCがGet可能かどうか
Definition: ELOBJ.cpp:586
const bool hasSetProperty(const byte epc) const
指定のEPCがSet可能かどうか
Definition: ELOBJ.cpp:558
PDCEDT m_pdcedt[PDC_MAX]
= m_pdcedt[EPC] (EPC mapped( EPC - 0x80 = 0.. 0xFF = 0x80 );
Definition: ELOBJ.h:79
const bool hasInfProperty(const byte epc) const
指定のEPCがINF必須かどうか
Definition: ELOBJ.cpp:527
const PDCEDT operator[](const byte epc) const
配列らしいインターフェイス,const this
Definition: ELOBJ.cpp:596
static const byte PDC_MAX
PDC_MAX 0xFF - 0x79
Definition: ELOBJ.h:78
const PDCEDT GetPDCEDT(const byte epc) const
キー文字列からデータ取得
Definition: ELOBJ.cpp:363
PDC and EDT in ELOBJ
Definition: ELOBJ.h:35
const bool isNull() const
Nullかどうか
Definition: ELOBJ.cpp:282
virtual ~PDCEDT()
デストラクタ
Definition: ELOBJ.cpp:76
void print(void) const
デバグ用の標準出力
Definition: ELOBJ.cpp:293
const PDCEDT operator=(const PDCEDT val)
operator=
Definition: ELOBJ.cpp:94
const bool isEmpty() const
設定されているかどうか
Definition: ELOBJ.cpp:269
byte * m_pdcedt
PDC(1 Byte) + EDT(n Byte)
Definition: ELOBJ.h:37
PDCEDT()
コンストラクタ
Definition: ELOBJ.cpp:19
byte length
length for m_pdcedt
Definition: ELOBJ.h:38
const byte getPDC() const
PDC getter
Definition: ELOBJ.cpp:246
const byte * setEDT(const byte edt[], int size)
EDT setter
Definition: ELOBJ.cpp:209
const byte * getEDT() const
EDT getter
Definition: ELOBJ.cpp:257
const byte getLength() const
PDCEDT Length getter
Definition: ELOBJ.cpp:235
byte * pdcedt
Definition: main.cpp:56