MBED driver for Max1471.

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MAX1471_regs.h Source File

MAX1471_regs.h

00001 /*
00002  * Max1471_regs.h
00003  *
00004  *  Created on: Dec 17, 2018
00005  *      Author: Erman.Komurcu
00006  */
00007 
00008 #ifndef MAX1471_MAX1471_REGS_H_
00009 #define MAX1471_MAX1471_REGS_H_
00010 
00011 /**
00012  * @brief PWR_CFG  (0x00)
00013  *
00014  * @description Power Configuration Register
00015  */
00016 typedef union {
00017     unsigned char raw;
00018     struct {
00019         unsigned char sleep     : 1;    /**< Sleep mode */
00020         unsigned char askpd_en  : 1;    /**< ASK peak detector enable */
00021         unsigned char askbb_en  : 1;    /**< ASK baseband enabled */
00022         unsigned char fskpd_en  : 1;    /**< FSK peak detector enable */
00023         unsigned char fskbb_en  : 1;    /**< FSK baseband enable */
00024         unsigned char mixer_en  : 1;    /**< Mixer enable */
00025         unsigned char agc_en    : 1;    /**< AGC enable */
00026         unsigned char lna_en    : 1;    /**< LNA enable */
00027     } bits;
00028 } max1471_reg_pwr_cfg_t;
00029 
00030 /**
00031  * @brief CFG  (0x01)
00032  *
00033  * @description  Configuration Register
00034  */
00035 typedef union {
00036     unsigned char raw;
00037     struct {
00038         unsigned char drx_mode  : 1;    /**< Receive mode */
00039         unsigned char toff_ps0  : 1;    /**< Off-timer prescale */
00040         unsigned char toff_ps1  : 1;    /**< Off-timer prescale */
00041         unsigned char dout_ask  : 1;    /**< ASKOUT enable */
00042         unsigned char dout_fsk  : 1;    /**< FSKOUT enable */
00043         unsigned char fskcallsb : 1;    /**< FSK accurate calibration */
00044         unsigned char gainset   : 1;    /**< Gain set */
00045         unsigned char           : 1;    /**< Don"t care */
00046     } bits;
00047 } max1471_reg_cfg_t;
00048 
00049 /**
00050  * @brief CTRL  (0x02)
00051  *
00052  * @description  Control Register
00053  */
00054 typedef union {
00055     unsigned char raw;
00056     struct {
00057         unsigned char fsk_cal_en: 1;    /**< FSK calibration enable */
00058         unsigned char pol_cal_en: 1;    /**< Polling timer calibration enable */
00059         unsigned char asktrk_en : 1;    /**< ASK peak detector track enable */
00060         unsigned char fsktrk_en : 1;    /**< FSK peak detector track enable */
00061         unsigned char           : 1;    /**< Don't care */
00062         unsigned char agclock   : 1;    /**< AGC lock */
00063         unsigned char           : 1;    /**< Don"t care */
00064     } bits;
00065 } max1471_reg_ctrl_t;
00066 
00067 /**
00068  * @brief STAT  (0x09)
00069  *
00070  * @description  Status Register
00071  */
00072 typedef union {
00073     unsigned char raw;
00074     struct {
00075         unsigned char fsk_cal_done  : 1;    /**< FSK calibration done */
00076         unsigned char pol_cal_done  : 1;    /**< Polling timer calibration done */
00077         unsigned char               : 3;    /**< Don't care */
00078         unsigned char clkalive      : 1;    /**< Clock/crystal alive */
00079         unsigned char agcst         : 1;    /**< AGC state */
00080         unsigned char lockdet       : 1;    /**< Lock detect */
00081     } bits;
00082 } max1471_reg_stat_t;
00083 /**
00084  * @brief Register Set
00085  *
00086  */
00087 typedef struct {
00088     max1471_reg_pwr_cfg_t   reg_pwr_cfg;
00089     max1471_reg_cfg_t       reg_cfg;
00090     max1471_reg_ctrl_t      reg_ctrl;
00091     max1471_reg_stat_t      reg_stat;
00092 } max1471_reg_map_t;
00093 
00094 #endif /* MAX1471_MAX1471_REGS_H_ */