/* VectorNav HSI Calibration Library v1.0.0.2
 *
 * Copyright (c) 2018 VectorNav Technologies, LLC
 *
 * This source code is proprietary to and copyrighted by VectorNav Technologies, LLC and is
 * available solely under license from VectorNav. All rights reserved. If you do not have a
 * license to use this source code from VectorNav, any use hereof is strictly prohibited by
 * U.S. law and other applicable law. This source code is restricted for use solely with the
 * products of VectorNav and as otherwise set forth in any agreement with VectorNav. Any
 * disclosure of this source code to the public or to any third party is also prohibited.
 */
/** \file
*
* \section Description
* This header file contains declarations for using VectorNav HSI tool.
*/
#ifndef VNHSIDIPOLE_H_INCLUDED
#define VNHSIDIPOLE_H_INCLUDED

#include "vnhsi.h"

#ifdef __cplusplus
extern "C" {
#endif


/** \brief Initialize the dipole magnetic model parameters.
*
* \param[in] c The HSI configuration structure.
* \return The magnetic field dipole structure. */
VnHsiDipole vnhsi_dipole_init(VnHsiConfig* c);


/** \brief Get the dipole magnetic model parameters.
*
* \param[in] c The HSI configuration structure.
* \return The magnetic field dipole structure. */
VnHsiDipole vnhsi_dipole_get_dipole(bool updatedFlag);


/** \brief Update the dipole magnetic model parameters.
*
* \param[in] Bdown The vertical (+ down) component of Earth's magnetic field
* \param[in] updateMagnitude Update magnitude flag.
* \return Non3. */
void vnhsi_dipole_update(float Bdown, bool updateMagnitude);

#ifdef __cplusplus
}
#endif

#endif /*VNHSI_H_INCLUDED*/