|
|
@@ -58,11 +58,16 @@ void TISR_HANDLER(5) |
|
|
|
send_data = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
#define WINDOW
|
|
|
|
#ifdef WINDOW
|
|
|
|
/* If ADC value is outside the window, step DAC */
|
|
|
|
if (v < ADC_WINDOW_MIN)
|
|
|
|
dac_cmd = adc_to_dac(dac_cmd, v, ADC_WINDOW_MIN_STEPTO, g_scale);
|
|
|
|
else if (v > ADC_WINDOW_MAX)
|
|
|
|
dac_cmd = adc_to_dac(dac_cmd, v, ADC_WINDOW_MAX_STEPTO, g_scale);
|
|
|
|
#else
|
|
|
|
dac_cmd = adc_to_dac(dac_cmd, v, 1024, g_scale);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* Send it out */
|
|
|
|
dac_write(dac_cmd);
|
|
|
@@ -74,7 +79,24 @@ void TISR_HANDLER(5) |
|
|
|
|
|
|
|
void run_normal(void)
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
uart1_init(500000);
|
|
|
|
|
|
|
|
led_pattern(0b00110011);
|
|
|
|
|
|
|
|
/* Keep writing 32768 to the DAC for about 30 seconds after startup,
|
|
|
|
or until we receive a character on the UART */
|
|
|
|
while(uart1_can_get())
|
|
|
|
uart1_get();
|
|
|
|
for (i = 0; i < 1500; i++) {
|
|
|
|
dac_write(32768);
|
|
|
|
if (uart1_can_get()) {
|
|
|
|
uart1_get();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
msleep(10);
|
|
|
|
}
|
|
|
|
|
|
|
|
led_on();
|
|
|
|
|
|
|
|
/* Assume startup current is 0 */
|
|
|
|