29#ifdef LIBYMODEM_EXPORTS
30#define YMODEM_API __declspec(dllexport)
32#ifndef LIBYMODEM_STATIC
33#define YMODEM_API __declspec(dllimport)
71 : m_crtByte(0), m_crtPos(0), m_dataBits(
dataBits), m_oddParity(false)
79 {
return m_dataBits; }
95 inline unsigned char reset(
bool* oddParity = 0) {
96 unsigned char tmp = m_crtByte;
97 m_crtByte = m_crtPos = 0;
99 *oddParity = m_oddParity;
110 inline unsigned int accumulate(
bool bit,
bool* oddParity = 0) {
112 m_crtByte |= (1 << m_crtPos);
113 m_oddParity = !m_oddParity;
116 if (m_crtPos != m_dataBits)
118 return reset(oddParity);
122 unsigned char m_crtByte;
123 unsigned char m_crtPos;
124 unsigned char m_dataBits;
165 {
return m_terminated; }
288 {
return m_modem.type(); }
295 {
return m_accumulator; }
309 {
return m_modem.demodulate(data); }
321 m_modem.modulate(dest,data);
331 { m_modem.modulate(dest,src); }
387 void changeState(
State newState);
393 bool m_expectedParity;
424 inline unsigned int free()
const
431 inline void reset(
unsigned int len = 0) {
433 m_crtIdx = m_free = 0;
435 m_buffer.assign(0,len);
447 ((
unsigned char*)m_buffer.data())[m_crtIdx++] = value;
451 Debug(m_client,DebugNote,
"Buffer overflow");
457 unsigned int m_crtIdx;
503 CallerIdReason = 0x04,
505 CallerNameReason = 0x08,
506 VisualIndicator = 0x0B,
512 FirstCalledId = 0x12,
518 AdditionalCharge = 0x21,
522 SelectFunction = 0x40,
599 void changeState(
State newState);
603 unsigned char m_waitSeizureCount;
604 unsigned char m_crtSeizureCount;
605 unsigned char m_crtMsg;
606 unsigned char m_crtParamLen;
607 unsigned int m_chksum;
A 1-byte length bit accumulator.
Definition yatemodem.h:64
unsigned int accumulate(bool bit, bool *oddParity=0)
Definition yatemodem.h:110
void dataBits(unsigned char value)
Definition yatemodem.h:85
BitAccumulator(unsigned char dataBits)
Definition yatemodem.h:70
unsigned char dataBits() const
Definition yatemodem.h:78
unsigned char reset(bool *oddParity=0)
Definition yatemodem.h:95
A class that holds just a block of raw data.
Definition yateclass.h:4237
void clear(bool deleteData=true)
DebugEnabler(int level=TelEngine::debugLevel(), bool enabled=true)
Definition yateclass.h:319
MsgParam
Definition yatemodem.h:499
virtual bool recvByte(unsigned char data)
MsgType
Definition yatemodem.h:489
virtual bool recvParams(MsgType msg, const NamedList ¶ms)
Definition yatemodem.h:577
virtual bool decode(MsgType msg, const DataBlock &buffer)
static TokenDict s_msg[]
Definition yatemodem.h:556
State
Definition yatemodem.h:474
virtual bool createMsg(NamedList ¶ms, DataBlock &data)
virtual int idleRecvByte(unsigned char data)
ETSIModem(const NamedList ¶ms, const char *name=0)
static TokenDict s_msgParams[]
Definition yatemodem.h:561
A Frequency Shift Keying modem.
Definition yatemodem.h:135
Type
Definition yatemodem.h:140
static void addRaw(DataBlock &dest, void *buf, unsigned int len)
Definition yatemodem.h:202
bool demodulate(const DataBlock &data)
bool terminated() const
Definition yatemodem.h:164
int type() const
Definition yatemodem.h:171
FSKModem(const NamedList ¶ms, UART *uart)
void modulate(DataBlock &dest, const DataBlock &data)
static TokenDict s_typeName[]
Definition yatemodem.h:211
A named string container class.
Definition yateclass.h:5016
A fixed length byte accumulator used by an UART.
Definition yatemodem.h:403
const DataBlock & buffer() const
Definition yatemodem.h:417
unsigned int free() const
Definition yatemodem.h:424
UARTBuffer(UART *client)
Definition yatemodem.h:409
bool accumulate(unsigned char value)
Definition yatemodem.h:445
void reset(unsigned int len=0)
Definition yatemodem.h:431
An UART receiver/transmitter.
Definition yatemodem.h:228
virtual bool recvByte(unsigned char data)
Definition yatemodem.h:345
Error
Definition yatemodem.h:245
virtual void reset(State newState=Idle)
Error error() const
Definition yatemodem.h:280
bool demodulate(const DataBlock &data)
Definition yatemodem.h:308
State
Definition yatemodem.h:233
virtual bool fskStarted()
Definition yatemodem.h:352
static TokenDict s_errors[]
Definition yatemodem.h:358
virtual bool createMsg(NamedList ¶ms, DataBlock &data)
Definition yatemodem.h:375
const BitAccumulator & accumulator() const
Definition yatemodem.h:294
virtual int idleRecvByte(unsigned char data)
Definition yatemodem.h:366
virtual ~UART()
Definition yatemodem.h:266
UART(State state, const NamedList ¶ms, const char *name=0)
int modemType() const
Definition yatemodem.h:287
bool modulate(DataBlock &dest, NamedList ¶ms)
Definition yatemodem.h:317
State state() const
Definition yatemodem.h:273
void modulate(DataBlock &dest, const DataBlock &src)
Definition yatemodem.h:330
Definition yateclass.h:848