summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--device-functions.c4
-rw-r--r--globals.h5
2 files changed, 6 insertions, 3 deletions
diff --git a/device-functions.c b/device-functions.c
index 64feb6d..eeddd67 100644
--- a/device-functions.c
+++ b/device-functions.c
@@ -228,7 +228,7 @@ void Main_Rst (void)
void set_dac(int dac, int word)
{
/* allows dacs to be disabled (using dac=-1, for example) */
- if ((dac >= 0) && (dac < 8)) {
+ if ((dac >= 0) && (dac < max_dacs)) {
globals.Registers.parallel_DAC_reg[dac]=word;
}
}
@@ -4646,7 +4646,7 @@ void Main_update_shift_registers()
bus_setpin(out_STROBE_LINE, 1); // latch the data
bus_setpin(out_STROBE_LINE, 0); // release latch
- for (i=0; i<8; ++i) {
+ for (i=0; i<std_dacs; ++i) {
/* load the upper-nibble latch */
bus_writebyte ((uint8_t) (Octal_DACportCS_high), (uint8_t) (globals.Registers.parallel_DAC_reg[i] >> 8));
diff --git a/globals.h b/globals.h
index 9f13c6a..f9d83f1 100644
--- a/globals.h
+++ b/globals.h
@@ -294,8 +294,11 @@ unsigned long long ms_timer (void);
#define max_gpib_input_length 512
+#define max_dacs 16 // total number of DACs, including extras on PCB 313A, if used
+#define std_dacs 8 // number of DACs on OP1B PCB
+
typedef struct {
- int parallel_DAC_reg[8];
+ int parallel_DAC_reg[max_dacs];
long shift_reg_out[num_out_SRs];
long last_relay_driver_settings[4];
int oper_enable_register; /* for stat:enable command */