12#ifndef __Pmx_HardSerial_Class_h__
13#define __Pmx_HardSerial_Class_h__
20#include "HardwareSerial.h"
33 HardwareSerial *pmxSerial;
37 unsigned short g_SerialConfig = 0xFF;
50 bool _isSynchronize =
false;
51 bool _logOutput =
false;
52 HardwareSerial *_logOutputSerial =
nullptr;
58 PmxHardSerial(HardwareSerial *hardSerial,
byte enPin,
long baudrate=115200,
int timeout=100);
59 PmxHardSerial(HardwareSerial *hardSerial,
byte enPin,
long baudrate,
unsigned short serialConfig,
int timeout);
76 inline void enHigh(){digitalWrite(g_enPin, HIGH);}
80 inline void enLow(){digitalWrite(g_enPin, LOW);}
84 virtual bool synchronize(
byte *txBuf,
byte txLen,
byte *rxBuf,
byte rxLen);
91 virtual void setLogSerial(HardwareSerial *logSerial){_logOutputSerial=logSerial;}
97 virtual HardwareSerial *getLogSerial(){
return _logOutputSerial;}
100 void __synchronizeWrite(
byte *txBuf,
byte txLen);
PMXで使用する関数や定義をひとまとまりにしたものです
Definition PmxBaseClass.h:599
PMXで使用する関数や定義をひとまとまりにしたもので、ArduinoのHardwareSerialを使用して動作します。
Definition PmxHardSerialClass.h:28
virtual bool synchronizeVariableRead(byte *txBuf, byte txLen, byte *rxBuf, byte *rxLen)
HardwareSerialを使用してtxBufのコマンドを送受信します。 返信データ数がわからない場合に使用します。
Definition PmxHardSerialClass.cpp:197
virtual bool synchronize(byte *txBuf, byte txLen, byte *rxBuf, byte rxLen)
HardwareSerialを使用して送受信します
Definition PmxHardSerialClass.cpp:133
void enHigh()
enPinに割り当てられているピンをHにする
Definition PmxHardSerialClass.h:76
void enLow()
enPinに割り当てられているピンをLにする
Definition PmxHardSerialClass.h:80
byte sendBuff[256]
送信バッファ
Definition PmxHardSerialClass.h:43
virtual void setLogSerial(HardwareSerial *logSerial)
Logを出力するシリアルポートの設定をします。
Definition PmxHardSerialClass.h:91
~PmxHardSerial()
Destroy the Pmx Hard Serial:: Pmx Hard Serial object
Definition PmxHardSerialClass.cpp:65
virtual bool synchronizeNoRead(byte *txBuf, byte txLen)
ブロードキャストIDなどでデータの返事がないとわかっている時に送信をします。
Definition PmxHardSerialClass.cpp:276
bool isSynchronize()
Synchronize関数が送受信してるか確認する
Definition PmxHardSerialClass.cpp:117
byte receiveBuff[256]
受信バッファ
Definition PmxHardSerialClass.h:44
virtual void logOutputPrint(byte outputBytes[], int outputSize)
Pmxで送信したデータ配列を表示する関数
Definition PmxHardSerialClass.cpp:350
PmxHardSerial(HardwareSerial *hardSerial, byte enPin, long baudrate=115200, int timeout=100)
Construct a new Pmx Hard Serial:: Pmx Hard Serial object
Definition PmxHardSerialClass.cpp:29
bool begin(long baudrate=PMX::ErrorUint32Data, int timeout=PMX::ErrorUint16Data)
HardwareSerialポートの設定をする
Definition PmxHardSerialClass.cpp:82
static constexpr unsigned long ErrorUint32Data
byte型のエラー値の定義
Definition PmxBaseClass.h:52
static constexpr unsigned short ErrorUint16Data
byte型のエラー値の定義
Definition PmxBaseClass.h:51