kopia lustrzana https://github.com/Hamlib/Hamlib
Adding Expert Linear amplifier
rodzic
c331899d94
commit
7236942d89
|
@ -23,6 +23,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "expert.h"
|
#include "expert.h"
|
||||||
#include "register.h"
|
#include "register.h"
|
||||||
|
#include "misc.h"
|
||||||
|
|
||||||
struct fault_list
|
struct fault_list
|
||||||
{
|
{
|
||||||
|
@ -102,12 +103,15 @@ int expert_flushbuffer(AMP *amp)
|
||||||
return rig_flush(&rs->ampport);
|
return rig_flush(&rs->ampport);
|
||||||
}
|
}
|
||||||
|
|
||||||
int expert_transaction(AMP *amp, const char *cmd, char *response, int response_len)
|
int expert_transaction(AMP *amp, const unsigned char *cmd, int cmd_len, unsigned char *response, int response_len)
|
||||||
{
|
{
|
||||||
struct amp_state *rs;
|
struct amp_state *rs;
|
||||||
int err;
|
int err;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
int loop;
|
int loop;
|
||||||
|
char cmdbuf[64];
|
||||||
|
int checksum=0;
|
||||||
|
int bytes;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called, cmd=%s\n", __func__, cmd);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called, cmd=%s\n", __func__, cmd);
|
||||||
|
|
||||||
|
@ -117,43 +121,35 @@ int expert_transaction(AMP *amp, const char *cmd, char *response, int response_l
|
||||||
|
|
||||||
rs = &->state;
|
rs = &->state;
|
||||||
|
|
||||||
loop = 3;
|
cmdbuf[0] = cmdbuf[1] = cmdbuf[2] = 0x55;
|
||||||
|
memcpy(&cmdbuf,cmd,cmd_len);
|
||||||
do // wake up the amp by sending ; until we receive ;
|
for(int i=0;i<cmd_len;++i) checksum += cmd[i];
|
||||||
{
|
checksum = checksum % 256;
|
||||||
char c = ';';
|
cmdbuf[3] = cmd_len;
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s waiting for ;\n", __func__);
|
cmdbuf[3+cmd_len+1] = checksum;
|
||||||
err = write_block(&rs->ampport, (unsigned char *) &c, 1);
|
|
||||||
|
|
||||||
if (err != RIG_OK) { return err; }
|
|
||||||
|
|
||||||
len = read_string(&rs->ampport, (unsigned char *) response, response_len, ";",
|
|
||||||
1, 0, 1);
|
|
||||||
|
|
||||||
if (len < 0) { return len; }
|
|
||||||
}
|
|
||||||
while (--loop > 0 && (len != 1 || response[0] != ';'));
|
|
||||||
|
|
||||||
// Now send our command
|
// Now send our command
|
||||||
err = write_block(&rs->ampport, (unsigned char *) cmd, strlen(cmd));
|
err = write_block(&rs->ampport, (unsigned char *) cmdbuf, 3+cmd_len+2);
|
||||||
|
|
||||||
if (err != RIG_OK) { return err; }
|
if (err != RIG_OK) { return err; }
|
||||||
|
|
||||||
if (response) // if response expected get it
|
if (response) // if response expected get it
|
||||||
{
|
{
|
||||||
response[0] = 0;
|
response[0] = 0;
|
||||||
len = read_string(&rs->ampport, (unsigned char *) response, response_len, ";",
|
// read the 4-byte header x55x55x55xXX where XX is the hex # of bytes
|
||||||
1, 0, 1);
|
len = read_block_direct(&rs->ampport, (unsigned char *) response, 4);
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s: len=%d, bytes=%02x\n", __func__, len, response[3]);
|
||||||
|
|
||||||
if (len < 0)
|
if (len < 0)
|
||||||
{
|
{
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called, error=%s\n", __func__,
|
rig_debug(RIG_DEBUG_VERBOSE, "%s: error=%s\n", __func__,
|
||||||
rigerror(len));
|
rigerror(len));
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
if (len == 4) bytes = response[3];
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called, response='%s'\n", __func__,
|
rig_debug(RIG_DEBUG_ERR, "%s: bytes=%d\n", __func__, bytes);
|
||||||
response);
|
len = read_block_direct(&rs->ampport, (unsigned char *) response, bytes-3 );
|
||||||
|
dump_hex(response,len);
|
||||||
}
|
}
|
||||||
else // if no response expected try to get one
|
else // if no response expected try to get one
|
||||||
{
|
{
|
||||||
|
@ -208,7 +204,7 @@ int expert_get_freq(AMP *amp, freq_t *freq)
|
||||||
|
|
||||||
if (!amp) { return -RIG_EINVAL; }
|
if (!amp) { return -RIG_EINVAL; }
|
||||||
|
|
||||||
retval = expert_transaction(amp, "^FR;", responsebuf, sizeof(responsebuf));
|
retval = expert_transaction(amp, NULL,0, NULL, sizeof(responsebuf));
|
||||||
|
|
||||||
if (retval != RIG_OK) { return retval; }
|
if (retval != RIG_OK) { return retval; }
|
||||||
|
|
||||||
|
@ -231,14 +227,14 @@ int expert_set_freq(AMP *amp, freq_t freq)
|
||||||
int retval;
|
int retval;
|
||||||
unsigned long tfreq;
|
unsigned long tfreq;
|
||||||
int nargs;
|
int nargs;
|
||||||
char cmd[KPABUFSZ];
|
unsigned char cmd[KPABUFSZ];
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called, freq=%"PRIfreq"\n", __func__, freq);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called, freq=%"PRIfreq"\n", __func__, freq);
|
||||||
|
|
||||||
if (!amp) { return -RIG_EINVAL; }
|
if (!amp) { return -RIG_EINVAL; }
|
||||||
|
|
||||||
SNPRINTF(cmd, sizeof(cmd), "^FR%05ld;", (long)freq / 1000);
|
// SNPRINTF(cmd, sizeof(cmd), "^FR%05ld;", (long)freq / 1000);
|
||||||
retval = expert_transaction(amp, cmd, NULL, 0);
|
retval = expert_transaction(amp, cmd, 0, NULL, 0);
|
||||||
|
|
||||||
if (retval != RIG_OK) { return retval; }
|
if (retval != RIG_OK) { return retval; }
|
||||||
|
|
||||||
|
@ -265,7 +261,7 @@ int expert_set_freq(AMP *amp, freq_t freq)
|
||||||
int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
||||||
{
|
{
|
||||||
char responsebuf[KPABUFSZ];
|
char responsebuf[KPABUFSZ];
|
||||||
char *cmd;
|
unsigned char cmd[8];
|
||||||
int retval;
|
int retval;
|
||||||
int fault;
|
int fault;
|
||||||
int i;
|
int i;
|
||||||
|
@ -284,8 +280,8 @@ int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||||
|
|
||||||
// get the current antenna selected
|
// get the current antenna selected
|
||||||
cmd = "^AE;";
|
cmd[0] = 0x00;
|
||||||
retval = expert_transaction(amp, cmd, responsebuf, sizeof(responsebuf));
|
retval = expert_transaction(amp, cmd, 0, NULL, sizeof(responsebuf));
|
||||||
|
|
||||||
if (retval != RIG_OK) { return retval; }
|
if (retval != RIG_OK) { return retval; }
|
||||||
|
|
||||||
|
@ -305,46 +301,46 @@ int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
||||||
switch (level)
|
switch (level)
|
||||||
{
|
{
|
||||||
case AMP_LEVEL_SWR:
|
case AMP_LEVEL_SWR:
|
||||||
cmd = "^SW;";
|
cmd[0] = 0x00;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_NH:
|
case AMP_LEVEL_NH:
|
||||||
cmd = "^DF;";
|
cmd[0] = 0x00;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_PF:
|
case AMP_LEVEL_PF:
|
||||||
cmd = "^DF;";
|
cmd[0] = 0x00;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_PWR_INPUT:
|
case AMP_LEVEL_PWR_INPUT:
|
||||||
cmd = "^PWI;";
|
cmd[0] = 0x00;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_PWR_FWD:
|
case AMP_LEVEL_PWR_FWD:
|
||||||
cmd = "^PWF;";
|
cmd[0] = 0x00;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_PWR_REFLECTED:
|
case AMP_LEVEL_PWR_REFLECTED:
|
||||||
cmd = "^PWR;";
|
cmd[0] = 0x00;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_PWR_PEAK:
|
case AMP_LEVEL_PWR_PEAK:
|
||||||
cmd = "^PWK;";
|
cmd[0] = 0x00;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_FAULT:
|
case AMP_LEVEL_FAULT:
|
||||||
cmd = "^SF;";
|
cmd[0] = 0x00;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
retval = expert_transaction(amp, cmd, responsebuf, sizeof(responsebuf));
|
retval = expert_transaction(amp, cmd, 0, NULL, sizeof(responsebuf));
|
||||||
|
|
||||||
if (retval != RIG_OK) { return retval; }
|
if (retval != RIG_OK) { return retval; }
|
||||||
|
|
||||||
switch (level)
|
switch (level)
|
||||||
{
|
{
|
||||||
case AMP_LEVEL_SWR:
|
case AMP_LEVEL_SWR:
|
||||||
nargs = sscanf(responsebuf, "^SW%f", &float_value);
|
//nargs = sscanf(responsebuf, "^SW%f", &float_value);
|
||||||
|
|
||||||
if (nargs != 1)
|
if (nargs != 1)
|
||||||
{
|
{
|
||||||
|
@ -358,7 +354,7 @@ int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
||||||
|
|
||||||
case AMP_LEVEL_NH:
|
case AMP_LEVEL_NH:
|
||||||
case AMP_LEVEL_PF:
|
case AMP_LEVEL_PF:
|
||||||
nargs = sscanf(responsebuf, "^DF%d,%d", &int_value, &int_value2);
|
//nargs = sscanf(responsebuf, "^DF%d,%d", &int_value, &int_value2);
|
||||||
|
|
||||||
if (nargs != 2)
|
if (nargs != 2)
|
||||||
{
|
{
|
||||||
|
@ -407,7 +403,7 @@ int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
||||||
|
|
||||||
|
|
||||||
case AMP_LEVEL_PWR_INPUT:
|
case AMP_LEVEL_PWR_INPUT:
|
||||||
cmd = "^PWI;";
|
cmd[0] = 0x00;
|
||||||
nargs = sscanf(responsebuf, "^SW%d", &pwrinput);
|
nargs = sscanf(responsebuf, "^SW%d", &pwrinput);
|
||||||
|
|
||||||
if (nargs != 1)
|
if (nargs != 1)
|
||||||
|
@ -423,7 +419,7 @@ int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_PWR_FWD:
|
case AMP_LEVEL_PWR_FWD:
|
||||||
cmd = "^PWF;";
|
cmd[0] = 0x00;
|
||||||
nargs = sscanf(responsebuf, "^SW%d", &pwrfwd);
|
nargs = sscanf(responsebuf, "^SW%d", &pwrfwd);
|
||||||
|
|
||||||
if (nargs != 1)
|
if (nargs != 1)
|
||||||
|
@ -439,7 +435,7 @@ int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_PWR_REFLECTED:
|
case AMP_LEVEL_PWR_REFLECTED:
|
||||||
cmd = "^PWR;";
|
cmd[0] = 0x00;
|
||||||
nargs = sscanf(responsebuf, "^SW%d", &pwrref);
|
nargs = sscanf(responsebuf, "^SW%d", &pwrref);
|
||||||
|
|
||||||
if (nargs != 1)
|
if (nargs != 1)
|
||||||
|
@ -455,7 +451,7 @@ int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_PWR_PEAK:
|
case AMP_LEVEL_PWR_PEAK:
|
||||||
cmd = "^PWK;";
|
cmd[0] = 0x00;
|
||||||
nargs = sscanf(responsebuf, "^SW%d", &pwrpeak);
|
nargs = sscanf(responsebuf, "^SW%d", &pwrpeak);
|
||||||
|
|
||||||
if (nargs != 1)
|
if (nargs != 1)
|
||||||
|
@ -471,7 +467,7 @@ int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_LEVEL_FAULT:
|
case AMP_LEVEL_FAULT:
|
||||||
cmd = "^SF;";
|
cmd[0] = 0x00;
|
||||||
nargs = sscanf(responsebuf, "^SW%d", &fault);
|
nargs = sscanf(responsebuf, "^SW%d", &fault);
|
||||||
|
|
||||||
if (nargs != 1)
|
if (nargs != 1)
|
||||||
|
@ -509,11 +505,11 @@ int expert_get_level(AMP *amp, setting_t level, value_t *val)
|
||||||
|
|
||||||
int expert_get_powerstat(AMP *amp, powerstat_t *status)
|
int expert_get_powerstat(AMP *amp, powerstat_t *status)
|
||||||
{
|
{
|
||||||
char responsebuf[KPABUFSZ];
|
unsigned char responsebuf[KPABUFSZ];
|
||||||
int retval;
|
int retval;
|
||||||
int operate;
|
int operate = 0;
|
||||||
int ampon;
|
int ampon = 0;
|
||||||
int nargs;
|
int nargs = 0;
|
||||||
|
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||||
|
@ -522,11 +518,11 @@ int expert_get_powerstat(AMP *amp, powerstat_t *status)
|
||||||
|
|
||||||
if (!amp) { return -RIG_EINVAL; }
|
if (!amp) { return -RIG_EINVAL; }
|
||||||
|
|
||||||
retval = expert_transaction(amp, "^ON;", responsebuf, sizeof(responsebuf));
|
retval = expert_transaction(amp, NULL, 0, responsebuf, sizeof(responsebuf));
|
||||||
|
|
||||||
if (retval != RIG_OK) { return retval; }
|
if (retval != RIG_OK) { return retval; }
|
||||||
|
|
||||||
nargs = sscanf(responsebuf, "^ON%d", &on);
|
//nargs = sscanf(responsebuf, "^ON%d", &on);
|
||||||
|
|
||||||
if (nargs != 1)
|
if (nargs != 1)
|
||||||
{
|
{
|
||||||
|
@ -547,11 +543,11 @@ int expert_get_powerstat(AMP *amp, powerstat_t *status)
|
||||||
return -RIG_EPROTO;
|
return -RIG_EPROTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
retval = expert_transaction(amp, "^OP;", responsebuf, sizeof(responsebuf));
|
retval = expert_transaction(amp, NULL, 0, responsebuf, sizeof(responsebuf));
|
||||||
|
|
||||||
if (retval != RIG_OK) { return retval; }
|
if (retval != RIG_OK) { return retval; }
|
||||||
|
|
||||||
nargs = sscanf(responsebuf, "^ON%d", &operate);
|
//nargs = sscanf(responsebuf, "^ON%d", &operate);
|
||||||
|
|
||||||
if (nargs != 1)
|
if (nargs != 1)
|
||||||
{
|
{
|
||||||
|
@ -568,7 +564,8 @@ int expert_get_powerstat(AMP *amp, powerstat_t *status)
|
||||||
int expert_set_powerstat(AMP *amp, powerstat_t status)
|
int expert_set_powerstat(AMP *amp, powerstat_t status)
|
||||||
{
|
{
|
||||||
int retval;
|
int retval;
|
||||||
char *cmd = NULL;
|
unsigned char cmd[8];
|
||||||
|
int cmd_len = 1;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||||
|
|
||||||
|
@ -578,13 +575,13 @@ int expert_set_powerstat(AMP *amp, powerstat_t status)
|
||||||
{
|
{
|
||||||
case RIG_POWER_UNKNOWN: break;
|
case RIG_POWER_UNKNOWN: break;
|
||||||
|
|
||||||
case RIG_POWER_OFF: cmd = "^ON0;"; break;
|
case RIG_POWER_OFF: cmd[0] = 0x0a; break;
|
||||||
|
|
||||||
case RIG_POWER_ON: cmd = "^ON1;"; break;
|
case RIG_POWER_ON: cmd[0] = 0x0b; break;
|
||||||
|
|
||||||
case RIG_POWER_OPERATE: cmd = "^OS1;"; break;
|
case RIG_POWER_OPERATE: cmd[0] = 0x0d; break;
|
||||||
|
|
||||||
case RIG_POWER_STANDBY: cmd = "^OS0;"; break;
|
case RIG_POWER_STANDBY: cmd[0] = 0x0a; break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -592,7 +589,7 @@ int expert_set_powerstat(AMP *amp, powerstat_t status)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
retval = expert_transaction(amp, cmd, NULL, 0);
|
retval = expert_transaction(amp, cmd, cmd_len, NULL, 0);
|
||||||
|
|
||||||
if (retval != RIG_OK) { return retval; }
|
if (retval != RIG_OK) { return retval; }
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ int expert_init(AMP *amp);
|
||||||
int expert_close(AMP *amp);
|
int expert_close(AMP *amp);
|
||||||
int expert_reset(AMP *amp, amp_reset_t reset);
|
int expert_reset(AMP *amp, amp_reset_t reset);
|
||||||
int expert_flush_buffer(AMP *amp);
|
int expert_flush_buffer(AMP *amp);
|
||||||
int expert_transaction(AMP *amp, const char *cmd, char *response,
|
int expert_transaction(AMP *amp, const unsigned char *cmd, int cmd_len, unsigned char *response,
|
||||||
int response_len);
|
int response_len);
|
||||||
const char *expert_get_info(AMP *amp);
|
const char *expert_get_info(AMP *amp);
|
||||||
int expert_get_freq(AMP *amp, freq_t *freq);
|
int expert_get_freq(AMP *amp, freq_t *freq);
|
||||||
|
|
|
@ -52,7 +52,7 @@ dnl here but will be added later, e.g. "winradio".
|
||||||
RIG_BACKEND_LIST="rigs/adat rigs/alinco rigs/aor rigs/barrett rigs/codan rigs/dorji rigs/drake rigs/dummy rigs/elad rigs/flexradio rigs/icom rigs/icmarine rigs/jrc rigs/kachina rigs/kenwood rigs/kit rigs/lowe rigs/pcr rigs/prm80 rigs/racal rigs/rft rigs/rs rigs/skanti rigs/tapr rigs/tentec rigs/tuner rigs/uniden rigs/winradio rigs/wj rigs/yaesu rigs/gomspace rigs/mds"
|
RIG_BACKEND_LIST="rigs/adat rigs/alinco rigs/aor rigs/barrett rigs/codan rigs/dorji rigs/drake rigs/dummy rigs/elad rigs/flexradio rigs/icom rigs/icmarine rigs/jrc rigs/kachina rigs/kenwood rigs/kit rigs/lowe rigs/pcr rigs/prm80 rigs/racal rigs/rft rigs/rs rigs/skanti rigs/tapr rigs/tentec rigs/tuner rigs/uniden rigs/winradio rigs/wj rigs/yaesu rigs/gomspace rigs/mds"
|
||||||
ROT_BACKEND_LIST="rotators/amsat rotators/apex rotators/ars rotators/celestron rotators/cnctrk rotators/grbltrk rotators/easycomm rotators/ether6 rotators/flir rotators/fodtrack rotators/gs232a rotators/heathkit rotators/m2 rotators/meade rotators/rotorez rotators/sartek rotators/saebrtrack rotators/spid rotators/ts7400 rotators/prosistel rotators/ioptron rotators/satel rotators/radant"
|
ROT_BACKEND_LIST="rotators/amsat rotators/apex rotators/ars rotators/celestron rotators/cnctrk rotators/grbltrk rotators/easycomm rotators/ether6 rotators/flir rotators/fodtrack rotators/gs232a rotators/heathkit rotators/m2 rotators/meade rotators/rotorez rotators/sartek rotators/saebrtrack rotators/spid rotators/ts7400 rotators/prosistel rotators/ioptron rotators/satel rotators/radant"
|
||||||
# Amplifiers are all in the amplifiers directory
|
# Amplifiers are all in the amplifiers directory
|
||||||
AMP_BACKEND_LIST="amplifiers/elecraft amplifiers/gemini"
|
AMP_BACKEND_LIST="amplifiers/elecraft amplifiers/gemini amplifiers/expert"
|
||||||
|
|
||||||
dnl See README.release on setting these values
|
dnl See README.release on setting these values
|
||||||
# Values given to -version-info when linking. See libtool documentation.
|
# Values given to -version-info when linking. See libtool documentation.
|
||||||
|
@ -907,6 +907,7 @@ scripts/Makefile
|
||||||
android/Makefile
|
android/Makefile
|
||||||
amplifiers/elecraft/Makefile
|
amplifiers/elecraft/Makefile
|
||||||
amplifiers/gemini/Makefile
|
amplifiers/gemini/Makefile
|
||||||
|
amplifiers/expert/Makefile
|
||||||
simulators/Makefile
|
simulators/Makefile
|
||||||
hamlib.pc
|
hamlib.pc
|
||||||
])
|
])
|
||||||
|
|
|
@ -106,10 +106,15 @@
|
||||||
//! @endcond
|
//! @endcond
|
||||||
#define AMP_MODEL_ELECRAFT_KPA1500 AMP_MAKE_MODEL(AMP_ELECRAFT, 1)
|
#define AMP_MODEL_ELECRAFT_KPA1500 AMP_MAKE_MODEL(AMP_ELECRAFT, 1)
|
||||||
//#define AMP_MODEL_ELECRAFT_KPA500 AMP_MAKE_MODEL(AMP_ELECRAFT, 2)
|
//#define AMP_MODEL_ELECRAFT_KPA500 AMP_MAKE_MODEL(AMP_ELECRAFT, 2)
|
||||||
|
|
||||||
#define AMP_GEMINI 3
|
#define AMP_GEMINI 3
|
||||||
#define AMP_BACKEND_GEMINI "gemini"
|
#define AMP_BACKEND_GEMINI "gemini"
|
||||||
#define AMP_MODEL_GEMINI_DX1200 AMP_MAKE_MODEL(AMP_GEMINI, 1)
|
#define AMP_MODEL_GEMINI_DX1200 AMP_MAKE_MODEL(AMP_GEMINI, 1)
|
||||||
|
|
||||||
|
#define AMP_EXPERT 4
|
||||||
|
#define AMP_BACKEND_EXPERT "expert"
|
||||||
|
#define AMP_MODEL_EXPERT_FA AMP_MAKE_MODEL(AMP_EXPERT, 1)
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Convenience type definition for an amplifier model.
|
* \brief Convenience type definition for an amplifier model.
|
||||||
|
|
|
@ -65,6 +65,7 @@
|
||||||
DEFINE_INITAMP_BACKEND(dummy);
|
DEFINE_INITAMP_BACKEND(dummy);
|
||||||
DEFINE_INITAMP_BACKEND(kpa1500);
|
DEFINE_INITAMP_BACKEND(kpa1500);
|
||||||
DEFINE_INITAMP_BACKEND(gemini);
|
DEFINE_INITAMP_BACKEND(gemini);
|
||||||
|
DEFINE_INITAMP_BACKEND(expert);
|
||||||
//! @endcond
|
//! @endcond
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Ładowanie…
Reference in New Issue