Skip to content

daisy::Tlv493d

Module: External

Device support for TLV493D Magnetic Sensor. More...

#include <tlv493d.h>

Public Classes

Name
struct AccessMode_t
struct Config
struct RegMask_t

Public Types

Name
enum Registers_e
enum AccessMode_e
enum Result

Public Functions

Name
Tlv493d()
~Tlv493d()
Result Init(Config config)
void ReadOut()
void WriteOut()
void SetRegBits(uint8_t regMaskIndex, uint8_t data)
uint8_t GetRegBits(uint8_t regMaskIndex)
void UpdateData()
void SetInterrupt(bool enable)
void EnableTemp(bool enable)
float GetX()
float GetY()
float GetZ()
float GetTemp()
float GetAmount()
float GetAzimuth()
float GetPolar()
uint16_t GetMeasurementDelay()
void SetAccessMode(AccessMode_e mode)
void CalcParity()
int16_t ConcatResults(uint8_t upperByte, uint8_t lowerByte, bool upperFull)

Public Attributes

Name
const AccessMode_t[5] accModes
const RegMask_t[25] RegMasks

Detailed Description

template <typename Transport >
class daisy::Tlv493d;

Device support for TLV493D Magnetic Sensor.

Author: beserge

Date: December 2021

Public Types Documentation

enum Registers_e

Enumerator Value Description
R_BX1 0
R_BX2
R_BY1
R_BY2
R_BZ1
R_BZ2
R_TEMP1
R_TEMP2
R_FRAMECOUNTER
R_CHANNEL
R_POWERDOWNFLAG
R_RES1
R_RES2
R_RES3
W_PARITY
W_ADDR
W_INT
W_FAST
W_LOWPOWER
W_TEMP_NEN
W_LP_PERIOD
W_PARITY_EN
W_RES1
W_RES2
W_RES3

enum AccessMode_e

Enumerator Value Description
POWERDOWNMODE 0
FASTMODE
LOWPOWERMODE
ULTRALOWPOWERMODE
MASTERCONTROLLEDMODE

enum Result

Enumerator Value Description
OK 0
ERR

Public Functions Documentation

function Tlv493d

inline Tlv493d()

function ~Tlv493d

inline ~Tlv493d()

function Init

inline Result Init(
    Config config
)

Parameters:

  • config Configuration settings

Initialize the TLV493D device


function ReadOut

inline void ReadOut()

function WriteOut

inline void WriteOut()

function SetRegBits

inline void SetRegBits(
    uint8_t regMaskIndex,
    uint8_t data
)

function GetRegBits

inline uint8_t GetRegBits(
    uint8_t regMaskIndex
)

function UpdateData

inline void UpdateData()

function SetInterrupt

inline void SetInterrupt(
    bool enable
)

function EnableTemp

inline void EnableTemp(
    bool enable
)

function GetX

inline float GetX()

function GetY

inline float GetY()

function GetZ

inline float GetZ()

function GetTemp

inline float GetTemp()

function GetAmount

inline float GetAmount()

function GetAzimuth

inline float GetAzimuth()

function GetPolar

inline float GetPolar()

function GetMeasurementDelay

inline uint16_t GetMeasurementDelay()

function SetAccessMode

inline void SetAccessMode(
    AccessMode_e mode
)

function CalcParity

inline void CalcParity()

function ConcatResults

inline int16_t ConcatResults(
    uint8_t upperByte,
    uint8_t lowerByte,
    bool upperFull
)

Public Attributes Documentation

variable accModes

const AccessMode_t[5] accModes = {
        {0, 0, 0, 1000}, 
        {1, 0, 0, 0},    
        {0, 1, 1, 10},   
        {0, 1, 0, 100},  
        {1, 1, 1, 10}    
    };

variable RegMasks

const RegMask_t[25] RegMasks = {
        { 0 , 0, 0xFF, 0},  
        { 0 , 4, 0xF0, 4},  
        { 0 , 1, 0xFF, 0},  
        { 0 , 4, 0x0F, 0},  
        { 0 , 2, 0xFF, 0},  
        { 0 , 5, 0x0F, 0},  
        { 0 , 3, 0xF0, 4},  
        { 0 , 6, 0xFF, 0},  
        { 0 , 3, 0x0C, 2},  
        { 0 , 3, 0x03, 0},  
        { 0 , 5, 0x10, 4},  
        { 0 , 7, 0x18, 3},  
        { 0 , 8, 0xFF, 0},  
        { 0 , 9, 0x1F, 0},  
        { 1 , 1, 0x80, 7}, 
        { 1 , 1, 0x60, 5}, 
        { 1 , 1, 0x04, 2}, 
        { 1 , 1, 0x02, 1}, 
        { 1 , 1, 0x01, 0}, 
        { 1 , 3, 0x80, 7}, 
        { 1 , 3, 0x40, 6}, 
        { 1 , 3, 0x20, 5}, 
        { 1 , 1, 0x18, 3}, 
        { 1 , 2, 0xFF, 0}, 
        { 1 , 3, 0x1F, 0}  
    };

Updated on 2024-01-03 at 19:41:01 +0000