EL_dev_arduino 2.8.2
読み取り中…
検索中…
一致する文字列を見つけられません
/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> il);
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> il);
52 const byte *setEDT(const byte edt[], int size);
53 const byte *setEDT(std::initializer_list<byte> il);
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 SetProfile(const byte epc, std::initializer_list<byte> epcs); // for EPC: 9e,9d,9f
91 const byte *GetProfile(const byte epc) const;
92
93 const bool hasGetProfile(const byte epc) const; // Get可能なEPC?
94 const bool hasSetProfile(const byte epc) const; // Set可能なEPC?
95 const bool hasInfProfile(const byte epc) const; // Inf必須なEPC?
96
97 // 配列らしいインターフェイス
98 const PDCEDT operator[](const byte epc) const;
99 PDCEDT &operator[](const byte epc);
100
101 // 状態表示系
102 void printAll() const; // all print edt
103};
104
105#endif
107// EOF
EL Object
Definition: ELOBJ.h:75
const PDCEDT SetPDCEDT(const byte epc, const PDCEDT pdcedt)
EPCに対して、PDCEDTのを結びつける(セットと更新)
Definition: ELOBJ.cpp:398
void printAll() const
null以外のEPCを全部出力
Definition: ELOBJ.cpp:631
virtual ~ELOBJ()
デストラクタ
Definition: ELOBJ.cpp:374
ELOBJ()
コンストラクタ
Definition: ELOBJ.cpp:363
const PDCEDT SetProfile(const byte epc, std::initializer_list< byte > epcs)
Profile(0x9d, 0x9e, 0x9f)を計算してPDCとEDTを設定する
Definition: ELOBJ.cpp:430
const bool hasSetProfile(const byte epc) const
指定のEPCがSet可能かどうか
Definition: ELOBJ.cpp:565
PDCEDT m_pdcedt[PDC_MAX]
= m_pdcedt[EPC] (EPC mapped( EPC - 0x80 = 0.. 0xFF = 0x80 );
Definition: ELOBJ.h:79
const byte * GetProfile(const byte epc) const
Profile(0x9d, 0x9e, 0x9f)を計算して 個数 + EPCsの形で返す(個数はPDCではないことに注意)
Definition: ELOBJ.cpp:480
const PDCEDT operator[](const byte epc) const
配列らしいインターフェイス,const this
Definition: ELOBJ.cpp:604
static const byte PDC_MAX
PDC_MAX 0xFF - 0x79
Definition: ELOBJ.h:78
const bool hasGetProfile(const byte epc) const
指定のEPCがGet可能かどうか
Definition: ELOBJ.cpp:593
const PDCEDT GetPDCEDT(const byte epc) const
キー文字列からデータ取得
Definition: ELOBJ.cpp:386
const bool hasInfProfile(const byte epc) const
指定のEPCがINF必須かどうか
Definition: ELOBJ.cpp:534
PDC and EDT in ELOBJ
Definition: ELOBJ.h:35
const bool isNull() const
Nullかどうか
Definition: ELOBJ.cpp:297
virtual ~PDCEDT()
デストラクタ
Definition: ELOBJ.cpp:80
void print(void) const
デバグ用の標準出力
Definition: ELOBJ.cpp:311
const PDCEDT operator=(const PDCEDT val)
operator=
Definition: ELOBJ.cpp:98
const bool isEmpty() const
設定されているかどうか
Definition: ELOBJ.cpp:283
byte * m_pdcedt
PDC(1 Byte) + EDT(n Byte)
Definition: ELOBJ.h:37
PDCEDT()
コンストラクタ
Definition: ELOBJ.cpp:17
byte length
length for m_pdcedt
Definition: ELOBJ.h:38
const byte getPDC() const
PDC getter
Definition: ELOBJ.cpp:257
const byte * setEDT(const byte edt[], int size)
EDT setter
Definition: ELOBJ.cpp:216
const byte * getEDT() const
EDT getter
Definition: ELOBJ.cpp:270
const byte getLength() const
PDCEDT Length getter
Definition: ELOBJ.cpp:244
byte * pdcedt
Definition: main.cpp:56