UHSDR/UHSDR-active-devel/mchf-eclipse/hardware/uhsdr_hmc1023.h
2022-11-08 16:13:55 +01:00

53 lines
1.6 KiB
C

/* -*- mode: c; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4; coding: utf-8 -*- */
/************************************************************************************
** **
** UHSDR **
** a powerful firmware for STM32 based SDR transceivers **
** **
**---------------------------------------------------------------------------------**
** **
** Licence: GNU GPLv3 **
************************************************************************************/
#ifndef __UHSDR_HMC1023_H
#define __UHSDR_HMC1023_H
#include "uhsdr_board.h"
#define HMC1023_OK (HAL_OK)
#define HMC1023_ERROR (0xffffffff)
typedef struct
{
bool present;
#ifdef USE_HMC1023
uint32_t reg1;
uint32_t reg2;
uint32_t reg3;
// we use these to track the configration settings
uint8_t coarse;
uint8_t fine;
uint8_t opamp;
uint8_t drvr;
bool gain;
bool bypass;
#endif
} HMC1023_t;
extern HMC1023_t hmc1023;
#ifdef USE_HMC1023
void hmc1023_init(void);
void hmc1023_use_spi_settings();
void hmc1023_set_coarse(uint8_t coarse);
void hmc1023_set_fine(uint8_t fine);
void hmc1023_set_gain(bool on);
void hmc1023_set_bypass(bool on);
void hmc1023_set_bias_opamp(uint8_t value);
void hmc1023_set_bias_drvr(uint8_t value);
#endif
#endif