/
JanusAudioImports.cs
404 lines (273 loc) · 19.5 KB
/
JanusAudioImports.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
using System;
using System.Runtime.InteropServices;
namespace PowerSDR
{
unsafe partial class JanusAudio
{
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void DeInitMetisSockets();
[DllImport("JanusAudio.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
public static extern int nativeInitMetis(String netaddr);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int SetXVTREnable(int enable);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetPennyPresent(int present);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableHermesPower(int enable);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetOutputPowerFactor(int i);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetLegacyDotDashPTT(int bit);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetXmitBit(int xmitbit); // bit xmitbit ==0, recv mode, != 0, xmit mode
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetDelayXmit(int bit, int loops);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetDiagData(int* a, int count); // get diag data, count is how many slots are in array
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetRX1VFOfreq(int f); // tell aux hardware current freq -- in MHz
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetRX2VFOfreq(int f); // tell aux hardware current freq -- in MHz
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetRX3VFOfreq(int f); // tell aux hardware current freq -- in MHz
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetRX4VFOfreq(int f); // tell aux hardware current freq -- in MHz
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetRX5VFOfreq(int f); // tell aux hardware current freq -- in MHz
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetRX6VFOfreq(int f); // tell aux hardware current freq -- in MHz
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetRX7VFOfreq(int f); // tell aux hardware current freq -- in MHz
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetTXVFOfreq(int f); // tell aux hardware current freq -- in MHz
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getControlByteIn(int n);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetFPGATestMode(int i);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int StartAudioNative(int sample_rate, int samples_per_block, PA19.PaStreamCallback cb, int sample_bits, int no_send);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int StopAudio();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetC1Bits(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAlexManEnable(int bit);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAlexEnabled(int bit);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAlexHPFBits(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAlexLPFBits(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAlexTRRelayBit(int bit);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAlex2HPFBits(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAlex2LPFBits(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableApolloFilter(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableApolloTuner(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableApolloAutoTune(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableEClassModulation(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetEERPWMmin(int min);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetEERPWMmax(int max);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetHermesFilter(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetUserOut0(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetUserOut1(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetUserOut2(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetUserOut3(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern bool getUserI01(); // TX Inhibit input sense
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern bool getUserI02(); // Tx Inhibit input on Orion MKII board
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern bool getUserI03();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern bool getUserI04(); // external straight key input
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)] // sets number of receivers
public static extern void SetNRx(int nrx);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)] // controls PureSignal
public static extern void SetPureSignal(int enable);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)] // sets full or half duplex
public static extern void SetDuplex(int dupx);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetC1Bits();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int nativeGetDotDashPTT(); // bit 0 = ptt, bit1 = dash asserted, bit 2 = dot asserted
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr OzyOpen();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void OzyClose(IntPtr ozyh);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr OzyHandleToRealHandle(IntPtr ozh);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int IsOzyAttached();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetMicBoost(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetLineIn(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetLineBoost(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAlexAtten(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetMercDither(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetMercRandom(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetTxAttenData(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetMercTxAtten(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetRX1Preamp(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetRX2Preamp(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableADC1StepAtten(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableADC2StepAtten(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableADC3StepAtten(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetADC1StepAttenData(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetADC2StepAttenData(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetADC3StepAttenData(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetMicTipRing(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetMicBias(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetMicPTT(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetGndRx2onTx(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getAndResetADC_Overload();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getSeqError();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getMercuryFWVersion();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getMercury2FWVersion();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getMercury3FWVersion();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getMercury4FWVersion();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getPenelopeFWVersion();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getOzyFWVersion();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getHaveSync();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getFwdPower();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern float getRefPower();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern float getAlexFwdPower();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getAIN3();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getAIN4();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getHermesDCVoltage();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableCWKeyer(int enable);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetCWSidetoneVolume(int vol);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetCWPTTDelay(int delay);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetCWHangTime(int hang);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetCWSidetoneFreq(int freq);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetCWKeyerSpeed(int speed);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetCWKeyerMode(int mode);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetCWKeyerWeight(int weight);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableCWKeyerSpacing(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void ReversePaddles(int bits);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetCWDash(int bit);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetCWDot(int bit);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetCWX(int bit);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetDiscoveryMode(int b);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetPennyOCBits(int b);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetSWRProtect(float g);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAlexAntBits(int rx_ant, int tx_ant, int rx_out);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetEP4Data(char* bufp);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetADC_cntrl1(int g);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetADC_cntrl1();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetADC_cntrl2(int g);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetADC_cntrl2();
// Diversity
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void EnableDiversity2(int g);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetMercSource(int g);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetrefMerc(int g);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetIQ_Rotate(double a, double b);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetIQ_RotateA(double a, double b);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetIQ_RotateB(double a, double b);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetTheta(double a);
// Ozyutils
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetOzyID(IntPtr usb_h, byte[] bytes, int length);
//[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
// unsafe extern public static bool Write_I2C(IntPtr usb_h, int i2c_addr, byte[] bytes, int length);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern bool WriteI2C(IntPtr usb_h, int i2c_addr, byte[] bytes, int length);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern bool ReadI2C(IntPtr usb_h, int i2c_addr, byte[] bytes, int length);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern bool Set_I2C_Speed(IntPtr hdev, int speed);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int WriteControlMsg(IntPtr hdev, int requesttype, int request, int value,
int index, byte[] bytes, int length, int timeout);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetAndResetAmpProtect();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAmpProtectRun(int run);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetAIN4Voltage(int v);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void isOrionMKII(int v);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetProLpacks(int lpacks);
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetOoopCounter();
[DllImport("JanusAudio.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void ResetOoopCounter();
}
}