Wasatch.VCPP 1.0.19
Visual C++ driver for Wasatch Photonics spectrometers
ParseData.h
Go to the documentation of this file.
1
8#pragma once
9
10#include <cstdint>
11#include <string>
12#include <vector>
13
14namespace WasatchVCPP
15{
25 {
26 public:
27 static bool toBool (const std::vector<uint8_t>& buf, int index = 0);
28 static uint8_t toUInt8 (const std::vector<uint8_t>& buf, int index = 0);
29 static int16_t toInt16 (const std::vector<uint8_t>& buf, int index = 0, bool bigEndian = false);
30 static uint16_t toUInt16(const std::vector<uint8_t>& buf, int index = 0, bool bigEndian = false);
31 static uint32_t toUInt24(const std::vector<uint8_t>& buf, int index = 0, bool bigEndian = false);
32 static int32_t toInt32 (const std::vector<uint8_t>& buf, int index = 0, bool bigEndian = false);
33 static uint32_t toUInt32(const std::vector<uint8_t>& buf, int index = 0, bool bigEndian = false);
34 static uint64_t toUInt40(const std::vector<uint8_t>& buf, int index = 0, bool bigEndian = false);
35 static float toFloat (const std::vector<uint8_t>& buf, int index = 0);
36 static std::string toString(const std::vector<uint8_t>& buf, int index = 0, int len = 0);
37
38 static bool writeBool (bool value, std::vector<uint8_t>& buf, int index);
39 static bool writeUInt8 (uint8_t value, std::vector<uint8_t>& buf, int index);
40 static bool writeUInt16 (uint16_t value, std::vector<uint8_t>& buf, int index);
41 static bool writeInt16 (int16_t value, std::vector<uint8_t>& buf, int index);
42 static bool writeUInt32 (uint32_t value, std::vector<uint8_t>& buf, int index);
43 static bool writeInt32 (int32_t value, std::vector<uint8_t>& buf, int index);
44 static bool writeFloat (float value, std::vector<uint8_t>& buf, int index);
45 static bool writeString (const std::string& value, std::vector<uint8_t>& buf, int index, int maxLen);
46 };
47}
48
Internal class providing methods for reading and writing individual fields within the EEPROM.
Definition: ParseData.h:25
static int32_t toInt32(const std::vector< uint8_t > &buf, int index=0, bool bigEndian=false)
assumes little endian
Definition: ParseData.cpp:70
static uint16_t toUInt16(const std::vector< uint8_t > &buf, int index=0, bool bigEndian=false)
assumes little endian
Definition: ParseData.cpp:48
static bool writeString(const std::string &value, std::vector< uint8_t > &buf, int index, int maxLen)
null-pad any remaining space within "maxLen" which is not covered by "value", up to the limit of the ...
Definition: ParseData.cpp:213
static uint32_t toUInt24(const std::vector< uint8_t > &buf, int index=0, bool bigEndian=false)
integration time is a 24-bit value
Definition: ParseData.cpp:59
static int16_t toInt16(const std::vector< uint8_t > &buf, int index=0, bool bigEndian=false)
assumes little endian
Definition: ParseData.cpp:41
static uint32_t toUInt32(const std::vector< uint8_t > &buf, int index=0, bool bigEndian=false)
assumes little endian
Definition: ParseData.cpp:77
static uint64_t toUInt40(const std::vector< uint8_t > &buf, int index=0, bool bigEndian=false)
used for laser modulation
Definition: ParseData.cpp:97
Namespace encapsulating the internal implementation of WasatchVCPP; customers would not normally acce...
Definition: Driver.h:26