35#ifndef _UTILS_GRIDCONNECT_HXX_
36#define _UTILS_GRIDCONNECT_HXX_
68 static ssize_t
write(
int fd,
const void *data,
size_t len)
90 static ssize_t
read(
int fd,
void *data,
size_t len)
114 static ssize_t
write_generic(
int fd,
const void *data,
size_t len,
bool doub);
123 static ssize_t
read_generic(
int fd,
void *data,
size_t len,
bool doub);
129 static ssize_t
encode(
struct can_frame *frame,
unsigned char buf[]);
141 return (
'0' + nibble);
144 return (
'A' + (nibble - 10));
154 unsigned char* data = (
unsigned char*)pair;
159 result = data[1] -
'0';
163 result = data[1] -
'A' + 10;
168 result += (data[0] -
'0') << 4;
172 result += (data[0] -
'A' + 10) << 4;
This class provides a means to write CAN data to an a file descriptor in Grid Connect format.
static int ascii_pair_to_byte(const char *pair)
Take a pair of ASCII characters and convert them to a byte value.
static ssize_t write_generic(int fd, const void *data, size_t len, bool doub)
Write a CAN packet to Grid Connect interface in single or double format.
GridConnect()
Constructor.
static char nibble_to_ascii(int nibble)
Builds an ASCII character representation of a nibble value.
static ssize_t write_double(int fd, const void *data, size_t len)
Write a CAN packet to Grid Connect interface in double format.
static ssize_t write(int fd, const void *data, size_t len)
Write a CAN packet to Grid Connect interface in single format.
static ssize_t read(int fd, void *data, size_t len)
Read a CAN packet to Grid Connect interface in single format.
static ssize_t encode(struct can_frame *frame, unsigned char buf[])
~GridConnect()
Destructor.
static ssize_t read_double(int fd, void *data, size_t len)
Read a CAN packet to Grid Connect interface in double format.
static ssize_t read_generic(int fd, void *data, size_t len, bool doub)
Read a CAN packet to Grid Connect interface in single or double format.
#define DISALLOW_COPY_AND_ASSIGN(TypeName)
Removes default copy-constructor and assignment added by C++.