nidas  v1.2-1520
Classes | Functions | Variables
sing.cc File Reference
#include <nidas/util/SerialPort.h>
#include <nidas/util/SerialOptions.h>
#include <nidas/util/Thread.h>
#include <nidas/util/UTime.h>
#include <nidas/util/util.h>
#include <nidas/util/auto_ptr.h>
#include <vector>
#include <cstring>
#include <memory>
#include <iostream>
#include <iomanip>
#include <assert.h>
#include <limits.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <cstdlib>
#include <math.h>
#include <stdio.h>
#include <stdint.h>

Classes

class  Sender
 
class  Receiver
 
class  ModemLineSetter
 
class  ModemLineMonitor
 

Functions

static uint32_t cksum (const unsigned char *input, size_t len)
 
int usage (const char *argv0)
 
int parseRunstring (int argc, char **argv)
 
void openPort () throw (n_u::IOException, n_u::ParseException)
 
static void sigAction (int sig, siginfo_t *siginfo, void *)
 
static void setupSignals ()
 
int main (int argc, char **argv)
 
static int __attribute__ ((__unused__)) cksum_test(int
 
 if (!fp)
 
 fclose (fp)
 
 printf ("%u %08x %d\n", crc, crc, len)
 

Variables

static float rate = -1.0
 
static bool isSender = true
 
static bool ascii = false
 
static int dataSize = 0
 
static unsigned int nPacketsOut = 999998
 
static string defaultTermioOpts = "9600n81lnr"
 
static string termioOpts = defaultTermioOpts
 
static string device
 
static bool verbose = false
 
static int timeoutSecs = 0
 
static int interrupted = 0
 
static unsigned int periodMsec = 0
 
static bool testModemLines = false
 
static n_u::SerialPort port
 
static string shortName
 
const int START_OF_DATA = 23
 Format of test packet: More...
 
const int LENGTH_OF_CRC = 8
 
const int MIN_PACKET_LENGTH = START_OF_DATA + LENGTH_OF_CRC + 1
 
int MAX_PACKET_LENGTH = 65535
 
int MAX_DATA_LENGTH = MAX_PACKET_LENGTH - MIN_PACKET_LENGTH
 
char ETX = '\x04'
 
unsigned int EOF_NPACK = 999999
 
static uint32_t const crctab [256]
 
static int char **FILE * fp = fopen("cksum.c","r")
 
int len = fread(buf,1,sizeof(buf),fp)
 
uint32_t crc = cksum(buf,len)
 
 return
 

Function Documentation

static int __attribute__ ( (__unused__)  )
static
static uint32_t cksum ( const unsigned char *  input,
size_t  len 
)
static
fclose ( fp  )
if ( fp)
int main ( int  argc,
char **  argv 
)
void openPort ( )
throw (n_u::IOException,
n_u::ParseException
)
int parseRunstring ( int  argc,
char **  argv 
)
printf ( "%u %08x %d\n"  ,
crc  ,
crc  ,
len   
)
static void setupSignals ( )
static

References sigAction().

static void sigAction ( int  sig,
siginfo_t *  siginfo,
void *   
)
static

References interrupted.

int usage ( const char *  argv0)

Variable Documentation

bool ascii = false
static

Referenced by main(), and parseRunstring().

uint32_t crc = cksum(buf,len)
uint32_t const crctab[256]
static
int dataSize = 0
static

Referenced by main(), openPort(), and parseRunstring().

string defaultTermioOpts = "9600n81lnr"
static

Referenced by usage().

string device
static
unsigned int EOF_NPACK = 999999
char ETX = '\x04'
int char** FILE* fp = fopen("cksum.c","r")
int interrupted = 0
static
bool isSender = true
static

Referenced by main(), openPort(), and parseRunstring().

int len = fread(buf,1,sizeof(buf),fp)

Referenced by nidas::dynld::UDPSampleOutput::allocateBuffer(), nidas::core::IOStream::backup(), nidas::dynld::GPS_NMEA_Serial::calcChecksum(), cksum(), nidas::dynld::raf::SppSerial::computeCheckSum(), dmmat_ioctl_a2d(), dmmat_ioctl_d2a(), dmmat_ioctl_d2d(), ublox_pkt::endp(), nidas::dynld::raf::UDPArincSensor::extractStatus(), nidas::dynld::raf::A2D_Serial::extractStatus(), nidas::dynld::raf::UHSAS_Serial::findMarker(), Sender::flush(), nidas::core::CharacterSensor::fromDOMElement(), nidas::util::SocketImpl::getKeepAlive(), nidas::util::SocketImpl::getKeepAliveIdleSecs(), nidas::core::SamplePool< SampleType >::getSample(), nidas::core::getSample(), nidas::util::SocketImpl::getTcpNoDelay(), GetUSBPortsInfo(), TeeI2C::i2c_byte_reads(), nidas::core::DSMSensor::ioctl(), main(), ncar_a2d_ioctl(), nidas::core::DriverSampleScanner::nextSample(), nidas::core::SampleInputHeader::parseMagic(), nidas::core::SampleInputHeader::parseTag(), pc104sg_ioctl(), nidas::dynld::raf::Watlow::process(), nidas::dynld::isff::CU_Coldwire::process(), nidas::dynld::raf::LamsNetSensor::process(), nidas::dynld::isff::CSI_CRX_Binary::process(), nidas::dynld::isff::CSI_IRGA_Sonic::process(), nidas::dynld::raf::LamsSensor::process(), nidas::core::TCPSocketIODevice::read(), nidas::core::ServerSocketIODevice::read(), nidas::core::UDPSocketIODevice::read(), nidas::core::UnixIOChannel::read(), nidas::core::IOStream::read(), nidas::core::DatagramSocket::read(), nidas::core::UnixIODevice::read(), nidas::core::FileSet::read(), nidas::core::Socket::read(), nidas::dynld::raf::SyncRecordReader::read(), nidas::util::SerialPort::read(), nidas::dynld::isff::SE_GOESXmtr::read(), nidas::core::DSMSensor::read(), ublox::read_rdwr(), ublox::read_smbus(), nidas::core::IOStream::readBuf(), nidas::core::SampleScanner::readBuffer(), nidas::core::DatagramSampleScanner::readBuffer(), nidas::util::SerialPort::readLine(), nidas::dynld::isff::PacketInputStream::readSamples(), nidas::core::IOStream::readUntil(), nidas::util::SerialPort::readUntil(), Receiver::reallocateBuffer(), nidas::core::IOStream::reallocateBuffer(), nidas::dynld::isff::SE_GOESXmtr::recv(), nidas::util::SocketImpl::recv(), nidas::util::SocketImpl::recvfrom(), nidas::util::DatagramSocket::recvfrom(), SyncDumper::run(), Receiver::run(), nidas::util::SocketImpl::send(), nidas::util::SocketImpl::sendall(), nidas::dynld::raf::SppSerial::sendInitPacketAndCheckAck(), Csat3Sim::sendMessage(), nidas::util::SocketImpl::sendto(), nidas::util::DatagramSocket::sendto(), nidas::util::SocketImpl::setKeepAlive(), nidas::util::SocketImpl::setKeepAliveIdleSecs(), nidas::core::CharacterSensor::setMessageParameters(), nidas::core::SerialSensor::setMessageParameters(), nidas::core::MessageSampleScanner::setMessageParameters(), nidas::core::MessageStreamScanner::setMessageParameters(), nidas::util::SocketImpl::setPktInfo(), nidas::util::SocketImpl::setTcpNoDelay(), nidas::core::IOStream::skip(), RemoteSerial::socketReadLine(), string_token(), nidas::core::SampleInputHeader::toString(), nidas::util::UnixSocketAddress::UnixSocketAddress(), USB_3_BenchmarkLoop(), nidas::core::MultipleUDPSockets::write(), nidas::dynld::SampleOutputStream::write(), nidas::dynld::psql::PSQLChannel::write(), nidas::core::TCPSocketIODevice::write(), nidas::core::UDPSocketIODevice::write(), nidas::core::UnixIOChannel::write(), nidas::core::ServerSocketIODevice::write(), nidas::core::DatagramSocket::write(), nidas::core::UnixIODevice::write(), nidas::core::FileSet::write(), nidas::core::Socket::write(), nidas::core::IOStream::write(), nidas::core::SerialPortIODevice::write(), nidas::util::SerialPort::write(), nidas::core::SampleOutputBase::write(), nidas::dynld::isff::SE_GOESXmtr::write(), nidas::core::DSMSensor::write(), and TeeI2C::writeptys().

const int LENGTH_OF_CRC = 8

Referenced by Receiver::scanBuffer().

int MAX_DATA_LENGTH = MAX_PACKET_LENGTH - MIN_PACKET_LENGTH

Referenced by Receiver::scanBuffer().

int MAX_PACKET_LENGTH = 65535
const int MIN_PACKET_LENGTH = START_OF_DATA + LENGTH_OF_CRC + 1
unsigned int nPacketsOut = 999998
static

Referenced by parseRunstring(), and Sender::run().

unsigned int periodMsec = 0
static
n_u::SerialPort port
static
float rate = -1.0
static
return
string shortName
static
const int START_OF_DATA = 23

Format of test packet:

* NNNNNN MMMMMMMMM ccccc <data>HHHHHHHH\x04
* NNNNNN: packet number starting at 0, 6 ASCII digits, followed by space.
* MMMMMMMM: number of milliseconds since program start:
*      9 digits followed by a space.
* ccccc: length of data portion, in bytes, 0 or larger.
*      5 digits, followed by space.
* <data>: data portion of packet, may be 0 bytes in length.
* HHHHHHHH: CRC of packet contents, up to but not including CRC (duh),
*      8 ASCII hex digits.
* \x04: trailing ETX byte
* Length of packet is then 7 + 10 + 6 + dataSize + 8 + 1 = 32 + dataSize
* 

Referenced by Receiver::scanBuffer(), and Sender::send().

string termioOpts = defaultTermioOpts
static

Referenced by openPort(), and parseRunstring().

bool testModemLines = false
static

Referenced by main(), openPort(), and parseRunstring().

int timeoutSecs = 0
static
bool verbose = false
static