blob: b03d8f0064d5c15c9812c498c6d3a4edf45b3579 [file] [log] [blame]
// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef LIBMEMS_COMMON_TYPES_H_
#define LIBMEMS_COMMON_TYPES_H_
#include <linux/iio/types.h>
#include <vector>
#include "libmems/export.h"
namespace libmems {
LIBMEMS_EXPORT uint64_t IioEventCode(iio_chan_type chan_type,
iio_event_type event_type,
iio_event_direction dir,
int channel);
constexpr int kErrorBufferSize = 256;
constexpr int kReadAttrBufferSize = 256;
constexpr char kDeviceIdPrefix[] = "iio:device";
constexpr char kIioSysfsTrigger[] = "iio_sysfs_trigger";
constexpr char kTriggerIdPrefix[] = "trigger";
constexpr char kHrtimerNameFormatString[] = "iioservice-%i";
// The attribute name to get the device name with
// IioDevice::ReadStringAttribute.
constexpr char kDeviceName[] = "name";
constexpr char kFrequencyAttr[] = "frequency";
constexpr char kSamplingFrequencyAttr[] = "sampling_frequency";
constexpr char kHWFifoTimeoutAttr[] = "buffer/hwfifo_timeout";
constexpr char kSamplingFrequencyAvailable[] = "sampling_frequency_available";
constexpr double kFrequencyEpsilon = 0.001; // Hz
constexpr char kRawAttr[] = "raw";
constexpr char kTimestampAttr[] = "timestamp";
constexpr char kSysDevString[] = "/sys/bus/iio/devices";
constexpr char kDevString[] = "/dev";
constexpr char kAccelName[] = "accel";
constexpr char kGyroName[] = "anglvel";
constexpr char kLightName[] = "illuminance";
constexpr char kProxName[] = "proximity";
constexpr char kSyncName[] = "count";
constexpr char kMagnName[] = "magn";
constexpr char kLidAngleName[] = "angl";
constexpr char kBaroName[] = "baro";
constexpr char kAccelUncalibName[] = "accel_uncalib";
constexpr char kGyroUncalibName[] = "anglvel_uncalib";
constexpr char kMagnUncalibName[] = "magn_uncalib";
} // namespace libmems
#endif // LIBMEMS_COMMON_TYPES_H_