libmirisdr
0.0.20130608
MiriSDR library
tuner_msi001.h
1
/*
2
* Mirics MSi001 tuner driver
3
*
4
* Copyright (C) 2012 by Eric Wild <la@tfc-server.de>
5
*
6
* This program is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#include <stdint.h>
21
22
#define c(v) ((v<0)?printf("err! %s %s:%i\n", #v, __FILE__, __LINE__):0)
23
#define MHZ(x) ((x)*1000*1000)
24
#define KHZ(x) ((x)*1000)
25
26
enum
mode{
27
AM_MODE1=0,
28
AM_MODE2=1,
29
VHF_MODE=2,
30
B3_MODE=3,
31
B45_MODE=4,
32
BL_MODE=5
33
};
34
35
enum
xtal{
36
XTAL19_2Mz=0,
37
XTAL22M=1,
38
XTAL24_576M=2,
39
XTAL26M=3,
40
XTAL38_4M=4
41
};
42
43
enum
am_mixgainred{
44
r1_mixbu_p0_0 = 0,
45
r1_mixbu_p0_6 = 1,
46
r1_mixbu_p0_12 = 2,
47
r1_mixbu_p0_18 = 3,
48
r1_mixbu_p1_24 = 3
49
};
50
51
struct
state
{
52
enum
mode m;
53
enum
xtal x;
54
double
freq_hz;
55
uint32_t minus_bbgain;
56
enum
am_mixgainred am_mixgainred;
57
uint32_t mixl;
58
uint32_t lnagr;
59
uint32_t reg[6];
60
};
61
62
struct
r0_modes_
{
63
char
* bits;
64
unsigned
char
value;
65
char
* name;
66
unsigned
char
lodiv;
67
};
68
69
struct
iffreqs_
{
70
uint32_t xtalfreq;
71
uint32_t fref1;
72
uint32_t fif1;
73
};
74
75
int
msi001_init(
void
*dev, uint32_t freq);
76
77
//######
78
#define R0_FIL_MODE_SH 12
79
#define R0_FIL_BW_SH 14
80
#define R0_XTAL_SEL_SH 17
81
#define R0_IF_LPMODE_SH 20
82
#define R0_VCO_LPMODE_SH 23
83
84
#define FIL_MODE_450K_IF 0x2
85
#define FIL_MODE_ZERO_IF 0x3
86
87
//######
88
#define R2_INT_SH 16
89
90
//######
91
#define R1_MIXBU_SH 10
92
#define R1_MIXL_SH 12
93
#define R1_LNAGR_SH 13
94
#define R1_DCCAL_SH 14
95
96
#define R1_DCCAL 0x05 // continuous, no speedup
97
//######
iffreqs_
Definition:
tuner_msi001.h:69
r0_modes_
Definition:
tuner_msi001.h:62
state
Definition:
tuner_msi001.h:51
include
tuner_msi001.h
Generated by
1.8.17